public async Task GivenMappingFromObjectAToObjectB_WhenSolvingCollectionToCollection_ItShouldResolve() { // pre-arrangement int counter = 0; var expectedReturnObject = new TestObjectB(); // arrange var semanticBuilder = new SemanticBuilder(); semanticBuilder.InstallPipe<TestObjectA, TestObjectB>((source, innerBroker) => { counter++; return expectedReturnObject; }); ISemanticBroker semanticBroker = semanticBuilder.CreateBroker(); // act var enumerable = await semanticBroker.On(new[] {new TestObjectA()}.AsEnumerable()) .Output<IEnumerable<TestObjectB>>(); // assert TestObjectB returnedType = enumerable.Single(); Assert.AreSame(expectedReturnObject, returnedType); Assert.AreEqual(1, counter); }
public async Task GivenAtoListB_WhenSolvingSingleAToArraytB_ItShouldResolve() { // pre-arrangement var expectedReturnObject = new TestObjectB(); // arrange var semanticBuilder = new SemanticBuilder(); semanticBuilder.InstallPipe<TestObjectA, List<TestObjectB>>( (source, innerBroker) => new List<TestObjectB>() { expectedReturnObject }); ISemanticBroker semanticBroker = semanticBuilder.CreateBroker(); // act var enumerable = await semanticBroker.On(new TestObjectA()).Output<TestObjectB[]>(); // assert TestObjectB returnedType = enumerable.Single(); Assert.AreSame(expectedReturnObject, returnedType); }