コード例 #1
0
        public void ThrowsAnExceptionWhenAskedForATestInstanceOutsideOfTheCurrentScope()
        {
            GivenTheTestScopeIs(TestScopes.Class <PublicClassWithDefaultConstructor>());
            GivenTheDependencyProviderIs(FakeDependencyProvider);

            var exception = Should.Throw <BigUnitsException>(
                () => WhenATestInstanceIsRequested <object>(out _));

            exception.Data[ExceptionData.TestInstanceType].ShouldBe(typeof(object));
        }
コード例 #2
0
        public void ThrowsAnExceptionWhenAskedForADependencyWhereThereAreNoneInTheCurrentScope()
        {
            GivenTheTestScopeIs(TestScopes.Class <PublicClassWithDefaultConstructor>());
            GivenTheDependencyProviderIs(FakeDependencyProvider);

            var exception = Should.Throw <BigUnitsException>(
                () => TestInstance.GetDependency <object>());

            exception.Data[ExceptionData.DependencyType].ShouldBe(typeof(object));
        }
コード例 #3
0
        public void ProvidesTheSameTestInstanceEachTime()
        {
            GivenTheTestScopeIs(TestScopes.Class <PublicClassWithDefaultConstructor>());
            GivenTheDependencyProviderIs(FakeDependencyProvider);

            WhenATestInstanceIsRequested <PublicClassWithDefaultConstructor>(out var firstResult);
            WhenATestInstanceIsRequested <PublicClassWithDefaultConstructor>(out var secondResult);

            secondResult.ShouldBe(firstResult);
        }
コード例 #4
0
        public void ThrowsAnExceptionWhenAttemptingToSetADependencyOutsideOfTheCurrentScope()
        {
            GivenTheTestScopeIs(TestScopes.Class <PublicClassWithASingleConstructorDependency>());
            GivenTheDependencyProviderIs(FakeDependencyProvider);

            var exception = Should.Throw <BigUnitsException>(
                () => TestInstance.SetDependency(new RankException()));

            exception.Data[ExceptionData.DependencyType].ShouldBe(typeof(RankException));
        }
コード例 #5
0
        public void CanCreatePopulatedTestInstances()
        {
            GivenTheTestScopeIs(TestScopes.Class <PublicClassWithDefaultConstructor>());
            GivenTheDependencyProviderIs(FakeDependencyProvider);

            WhenATestInstanceIsRequested <PublicClassWithDefaultConstructor>(out var result);

            result.ShouldSatisfyAllConditions(
                () => result.ShouldNotBeNull(),
                () => result.ShouldBeOfType <PublicClassWithDefaultConstructor>()
                );
        }
コード例 #6
0
        public void CanRetrieveTheDependenciesThatAreGoingToBeUsedToBuildTheTestInstance()
        {
            GivenTheTestScopeIs(TestScopes.Class <PublicClassWithMultipleConstructorDependencies>());
            GivenTheDependencyProviderIs(FakeDependencyProvider);

            var dependency1 = TestInstance.GetDependency <IDependency <One> >();
            var dependency2 = TestInstance.GetDependency <IDependency <Two> >();
            var dependency3 = TestInstance.GetDependency <IDependency <Three> >();

            WhenATestInstanceIsRequested <PublicClassWithMultipleConstructorDependencies>(out var result);

            result.ShouldSatisfyAllConditions(
                () => result.Dependency1.ShouldBe(dependency1),
                () => result.Dependency2.ShouldBe(dependency2),
                () => result.Dependency3.ShouldBe(dependency3)
                );
        }
コード例 #7
0
ファイル: BaseUnitTest.cs プロジェクト: debugosaurus/BigUnits
 protected BaseUnitTest(IDependencyProvider dependencyProvider)
 {
     _bigUnitBuilder = new BigUnitBuilder()
                       .WithTestScope(TestScopes.Class <T>())
                       .WithDependencyProvider(dependencyProvider);
 }