public void ThrowsAnExceptionWhenAskedForATestInstanceOutsideOfTheCurrentScope() { GivenTheTestScopeIs(TestScopes.Class <PublicClassWithDefaultConstructor>()); GivenTheDependencyProviderIs(FakeDependencyProvider); var exception = Should.Throw <BigUnitsException>( () => WhenATestInstanceIsRequested <object>(out _)); exception.Data[ExceptionData.TestInstanceType].ShouldBe(typeof(object)); }
public void ThrowsAnExceptionWhenAskedForADependencyWhereThereAreNoneInTheCurrentScope() { GivenTheTestScopeIs(TestScopes.Class <PublicClassWithDefaultConstructor>()); GivenTheDependencyProviderIs(FakeDependencyProvider); var exception = Should.Throw <BigUnitsException>( () => TestInstance.GetDependency <object>()); exception.Data[ExceptionData.DependencyType].ShouldBe(typeof(object)); }
public void ProvidesTheSameTestInstanceEachTime() { GivenTheTestScopeIs(TestScopes.Class <PublicClassWithDefaultConstructor>()); GivenTheDependencyProviderIs(FakeDependencyProvider); WhenATestInstanceIsRequested <PublicClassWithDefaultConstructor>(out var firstResult); WhenATestInstanceIsRequested <PublicClassWithDefaultConstructor>(out var secondResult); secondResult.ShouldBe(firstResult); }
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)); }
public void CanCreatePopulatedTestInstances() { GivenTheTestScopeIs(TestScopes.Class <PublicClassWithDefaultConstructor>()); GivenTheDependencyProviderIs(FakeDependencyProvider); WhenATestInstanceIsRequested <PublicClassWithDefaultConstructor>(out var result); result.ShouldSatisfyAllConditions( () => result.ShouldNotBeNull(), () => result.ShouldBeOfType <PublicClassWithDefaultConstructor>() ); }
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) ); }
protected BaseUnitTest(IDependencyProvider dependencyProvider) { _bigUnitBuilder = new BigUnitBuilder() .WithTestScope(TestScopes.Class <T>()) .WithDependencyProvider(dependencyProvider); }