public void Usage_Test() { var context = ArrangeContext <TestClass> .Create(); var instance = context.Build(); const string expected = "something"; context.For <ISomeInterface>().DoSomething().Returns(expected); var result = instance.Property3.DoSomething(); result.Should().Be(expected); var someInterface = Substitute.For <ISomeInterface>(); someInterface .DoSomething() .Returns(expected); var context2 = ArrangeContext <TestClass> .Create(); context2.Use(someInterface); var instance2 = context.Build(); result = instance2.Property3.DoSomething(); result.Should().Be(expected); }
public void Usage_Test() { var context = ArrangeContext <TestClass> .Create(); var instance = context.Build(); const string expected = "something"; context.For <ISomeInterface>().Stub(x => x.DoSomething()).Return(expected); var result = instance.Property3.DoSomething(); result.Should().Be(expected); }
// c.f.: https://github.com/wgnf/ArrangeContext/issues/16 public void Should_Work_With_Sealed_Dependencies() { var contextThatShouldFailBuild = new ArrangeContext <SystemUnderTestWithSealedDependency>(); Assert.Throws <InstanceCreationFailedException>(() => contextThatShouldFailBuild.Build()); var contextThatShouldFailFor = new ArrangeContext <SystemUnderTestWithSealedDependency>(); Assert.Throws <InstanceCreationFailedException>(() => contextThatShouldFailFor.For <SealedDependency>()); var contextThatShouldNotFail = new ArrangeContext <SystemUnderTestWithSealedDependency>(); var newInstance = new SealedDependency(); Assert.DoesNotThrow(() => contextThatShouldNotFail.Use(newInstance)); var sut = contextThatShouldNotFail.Build(); sut .Should() .NotBeNull(); }