public void GetDTOPositionsList_Works() { IMapper mapper = new Mapper(); IPositionRepository repository = new PositionRepositoryStub(); ICollection <Domain.Model.Position> source = repository.LoadPositions(); List <Domain.DTO.Position> testList = mapper.GetDTOPositionList(source); var size1 = new Domain.DTO.Size(1, "size1", new Money(1), new Domain.DTO.Position(1, "1", "1")); var size2 = new Domain.DTO.Size(2, "size2", new Money(1), new Domain.DTO.Position(1, "1", "1")); var size3 = new Domain.DTO.Size(3, "size1", new Money(1), new Domain.DTO.Position(2, "2", "2")); var size4 = new Domain.DTO.Size(4, "size2", new Money(1), new Domain.DTO.Position(2, "2", "2")); var water = new Domain.DTO.Consumable(1, "water", 0); Assert.AreEqual(new Domain.DTO.Position(1, "1", "1"), testList[0]); Assert.AreEqual(new Domain.DTO.Position(2, "2", "2"), testList[1]); Assert.AreEqual(size1, testList[0].Sizes[0]); Assert.AreEqual(size2, testList[0].Sizes[1]); Assert.AreEqual(size3, testList[1].Sizes[0]); Assert.AreEqual(size4, testList[1].Sizes[1]); Assert.AreEqual(new Domain.DTO.Ingredient(1, 2, size1, water), testList[0].Sizes[0].Ingredients[0]); Assert.AreEqual(new Domain.DTO.Ingredient(2, 2, size2, water), testList[0].Sizes[1].Ingredients[0]); Assert.AreEqual(new Domain.DTO.Ingredient(3, 2, size3, water), testList[1].Sizes[0].Ingredients[0]); Assert.AreEqual(new Domain.DTO.Ingredient(4, 2, size4, water), testList[1].Sizes[1].Ingredients[0]); Assert.AreEqual(2, testList.Count); }
public void GetDTOSizeList_Works() { var water = new ConsumableStub(1, "water"); IMapper mapper = new Mapper(); List <Consumable> consumables = new List <Consumable>() { water }; Domain.Model.Size size1 = new SizeStub(1, "size1", new Money(1), new PositionStub(1, "1", "1")); Domain.Model.Size size2 = new SizeStub(2, "size2", new Money(1), new PositionStub(2, "2", "2")); var dtoSize1 = new Domain.DTO.Size(1, "size1", new Money(1), new Domain.DTO.Position(1, "1", "1")); var dtoSize2 = new Domain.DTO.Size(2, "size2", new Money(1), new Domain.DTO.Position(2, "2", "2")); List <Domain.Model.Size> source = new List <Size>() { size1, size2 }; var ingredients1 = new List <Domain.DTO.Ingredient>() { new Domain.DTO.Ingredient(1, 0, dtoSize1, new Domain.DTO.Consumable(1, "water", 0)) }; size1.UpdateIngredients(ingredients1, consumables); var ingredients2 = new List <Domain.DTO.Ingredient>() { new Domain.DTO.Ingredient(2, 0, dtoSize2, new Domain.DTO.Consumable(1, "water", 0)) }; size2.UpdateIngredients(ingredients2, consumables); List <Domain.DTO.Size> sample = new List <Domain.DTO.Size>() { dtoSize1, dtoSize2 }; sample[0].Ingredients = ImmutableList.CreateRange(new List <Domain.DTO.Ingredient>() { new Domain.DTO.Ingredient(1, 1, dtoSize1, new Domain.DTO.Consumable(1, "water", 0)) }); sample[1].Ingredients = ImmutableList.CreateRange(new List <Domain.DTO.Ingredient>() { new Domain.DTO.Ingredient(2, 1, dtoSize2, new Domain.DTO.Consumable(1, "water", 0)) }); List <Domain.DTO.Size> testList = mapper.GetDTOSizeList(source); Assert.AreEqual(sample[0], testList[0]); Assert.AreEqual(sample[1], testList[1]); Assert.AreEqual(2, testList.Count); Assert.AreEqual(sample[0].Ingredients[0], testList[0].Ingredients[0]); Assert.AreEqual(sample[1].Ingredients[0], testList[1].Ingredients[0]); Assert.AreEqual(sample[0].Ingredients.Count, testList[0].Ingredients.Count); Assert.AreEqual(sample[1].Ingredients.Count, testList[1].Ingredients.Count); }
public void GetDomainPositionsList_Works() { IMapper mapper = new Mapper(); IPositionRepository repository = new PositionRepositoryStub(); List <Consumable> consumables = new List <Consumable>() { new ConsumableStub(1, "water") }; List <Domain.DTO.Position> source = new List <Domain.DTO.Position> { new Domain.DTO.Position(1, "1", "1"), new Domain.DTO.Position(2, "2", "2") }; var size1 = new Domain.DTO.Size(1, "size1", new Money(1), new Domain.DTO.Position(1, "1", "1")); var size2 = new Domain.DTO.Size(2, "size2", new Money(1), new Domain.DTO.Position(1, "1", "1")); var size3 = new Domain.DTO.Size(3, "size1", new Money(1), new Domain.DTO.Position(2, "2", "2")); var size4 = new Domain.DTO.Size(4, "size2", new Money(1), new Domain.DTO.Position(2, "2", "2")); source[0].Sizes = ImmutableList.CreateRange(new List <Domain.DTO.Size>() { size1, size2 }); source[1].Sizes = ImmutableList.CreateRange(new List <Domain.DTO.Size>() { size3, size4 }); var water = new Domain.DTO.Consumable(1, "water", 0); source[0].Sizes[0].Ingredients = ImmutableList.CreateRange(new List <Domain.DTO.Ingredient>() { new Domain.DTO.Ingredient(1, 2, size1, water), }); source[0].Sizes[1].Ingredients = ImmutableList.CreateRange(new List <Domain.DTO.Ingredient>() { new Domain.DTO.Ingredient(2, 2, size2, water) }); source[1].Sizes[0].Ingredients = ImmutableList.CreateRange(new List <Domain.DTO.Ingredient>() { new Domain.DTO.Ingredient(3, 2, size3, water), }); source[1].Sizes[1].Ingredients = ImmutableList.CreateRange(new List <Domain.DTO.Ingredient>() { new Domain.DTO.Ingredient(4, 2, size4, water) }); List <Domain.Model.Position> sample = repository.LoadPositions(); List <Domain.Model.Position> testList = mapper.GetDomainPositionList(source, consumables); Assert.AreEqual(sample[0], testList[0]); Assert.AreEqual(sample[1], testList[1]); Assert.AreEqual(sample.Count, testList.Count); Assert.AreEqual(sample[0].Sizes[0], testList[0].Sizes[0]); Assert.AreEqual(sample[0].Sizes[1], testList[0].Sizes[1]); Assert.AreEqual(sample[1].Sizes[0], testList[1].Sizes[0]); Assert.AreEqual(sample[1].Sizes[1], testList[1].Sizes[1]); Assert.AreEqual(sample[0].Sizes.Count, testList[0].Sizes.Count); Assert.AreEqual(sample[1].Sizes.Count, testList[1].Sizes.Count); Assert.AreEqual(sample[0].Sizes[0].Ingredients[0], testList[0].Sizes[0].Ingredients[0]); Assert.AreEqual(sample[0].Sizes[1].Ingredients[0], testList[0].Sizes[1].Ingredients[0]); Assert.AreEqual(sample[1].Sizes[0].Ingredients[0], testList[1].Sizes[0].Ingredients[0]); Assert.AreEqual(sample[1].Sizes[1].Ingredients[0], testList[1].Sizes[1].Ingredients[0]); }