public void AddSize(DTOSize size) { var domainSize = new Size(size.Id, this); domainSize.UpdateSize(size); sizes.Add(domainSize); }
protected override void OnOkClick() { Money price = new Money(decimal.Parse(Price)); Size size = new Size(id, Name, price, position); OnConfirm(size); }
public void DeleteSize(DTOSize size) { if (SizeListChanged != null) { SizeListChanged.Invoke(this, new SizeListChangedEventArgs(Sizes)); } }
public List <Ingredient> GetIngredientList(Size size) { return(new List <Ingredient>() { new Ingredient(1, 1, size, new Consumable(1, "1", 1)) }); }
public void UpdateSizesTestWorks() { var position = Position.Create(new DTOPosition(1, "1", "1")); var consumables = new List <Consumable>() { new Consumable(1) }; var size = new DTOSize(1, "size1", new Money(1), new DTOPosition(1, "1", "1")); var ingredientList = new List <DTOIngredient>() { new DTOIngredient(1, 0, size, new DTO.Consumable(1, "water", 0)) }; size.Ingredients = ingredientList.ToImmutableList(); var domainSize = new SizeStub(1, position, "size1"); var domainIngredient = new Ingredient(1, domainSize, new ConsumableStub(1, "water")); var sizes = new List <DTOSize> { size }; position.UpdateSizes(sizes, consumables); Assert.AreEqual(domainSize, position.Sizes[0]); Assert.AreEqual(domainIngredient, position.Sizes[0].Ingredients[0]); }
public void IngredientsUpdates_Works() { var dataHolder = new PositionListDataHolder(new PositionRepositoryEFStub()); var facade = new PositionListFacade(new PositionListValidator(new PositionListFeedback(dataHolder)), new SizeListValidator(new SizeListFeedback(dataHolder)), new IngredientListValidator(new IngredientListFeedback(dataHolder))); var viewModel = new PositionListViewModelStub(facade); var position = new Position(1, "1", "1"); var positions = facade.AddPosition(position); viewModel.SelectedPosition = positions[0]; var size = new Size(0, "1", new Money(1), viewModel.SelectedPosition); facade.AddSize(size); var consumable = new Consumable(1, "1", 0); viewModel.DataGridController.AddRow(consumable); Assert.IsNotNull(viewModel.SelectedPosition); var row = viewModel.DataGridController.IngredientRows.ToList()[0]; row.Columns["1"] = 1.0; row.EndEdit(); Assert.AreEqual(1, dataHolder.GetIngredientList(dataHolder.GetSizeList(viewModel.SelectedPosition)[0])[0].Amount); }
public void GetIngredient() { var facade = new PositionListFacade(new PositionListStub(), new SizeListStub(), new IngredientListStub()); var size = new Size(1, "size1", new Money(1), new Position(1, "1", "1")); var list = facade.GetIngredientList(size); Assert.AreEqual(new Ingredient(1, 1, size, new Consumable(1, "1", 1)), list[0]); }
public void UpdateSize(Size size) { var updatingSize = Sizes.Find(p => p.Id == size.Id); var index = Sizes.IndexOf(updatingSize); Sizes[index] = size; SizeListChanged?.Invoke(this, new SizeListChangedEventArgs(Sizes, null)); }
public void GetIngredientListReturnsExceptionIfPositionDoesntExists() { var positionList = new PositionListDataHolder(new PositionRepositoryStub()); positionList.LoadPositionList(); var size = new DTOSize(1, "size1", new Money(1), new DTOPosition(3, "3", "3")); var ingredientList = positionList.GetIngredientList(size); }
public void AddSizeWorks() { var facade = new PositionListFacade(new PositionListStub(), new SizeListStub(), new IngredientListStub()); var size = new Size(1, "1", new Money(1), new Position(1, "1", "1")); var list = facade.AddSize(size); Assert.AreEqual(size, list[0]); }
public void DeleteSizeWorks() { var position = Position.Create(new DTOPosition(1, "1", "1")); var dtoSize = new DTOSize(1, "size1", new Money(1), new DTOPosition(1, "1", "1")); position.AddSize(dtoSize); position.DeleteSize(dtoSize); Assert.AreEqual(0, position.Sizes.Count); }
public void AddSizeWorks() { var position = Position.Create(new DTOPosition(1, "1", "1")); var dtoSize = new DTOSize(1, "size1", new Money(1), new DTOPosition(1, "1", "1")); var size = new SizeStub(1, position, "size1"); position.AddSize(dtoSize); Assert.AreEqual(size, position.Sizes[0]); }
public static bool DoesSizeExist(DTOSize size, ICollection <DTOSize> sizes, out string error) { if (sizes.Any(p => p.Id == size.Id)) { error = Texts.Instance.SizeAlreadyExists(size.Name); return(true); } error = Texts.Instance.SizeCannotBeFound(size.Name); return(false); }
public static bool DoesSizeNameExist(DTOSize size, ICollection <DTOSize> sizes, out string error) { if (sizes.Any(p => p.Name == size.Name && p.Id != size.Id)) { error = Texts.Instance.NameIsAlreadyTaken(size.Name); return(true); } error = null; return(false); }
public void UpdateSizeWorks() { var position = Position.Create(new DTOPosition(1, "1", "1")); var dtoSize1 = new DTOSize(1, "size1", new Money(1), new DTOPosition(1, "1", "1")); position.AddSize(dtoSize1); var dtoSize2 = new DTOSize(1, "size2", new Money(1), new DTOPosition(1, "1", "1")); position.UpdateSize(dtoSize2); Assert.AreEqual("size2", position.Sizes[0].Name); }
public void CantAddSizeToNonExistingPosition() { var size = new DTOSize(3, "1", new Money(1), new DTOPosition(2, "2", "2")); var sizeListStub = new SizeListStub(); var sizeListValidator = new SizeListValidator(sizeListStub); string error = null; EventHandler <SizeListChangedEventArgs> handler = (sender, e) => error = e.Error; sizeListValidator.SizeListChanged += handler; sizeListValidator.AddSize(size); }
public void DeleteSize(DTOSize size) { string error; if (!Size.DoesSizeExist(size, GetSizeList(size.Position), out error)) { ThrowError(size, error); return; } sizeListFeedback.DeleteSize(size); }
public void CantUpdateToExistingName() { var size = new DTOSize(2, "1", new Money(1), new DTOPosition(1, "1", "1")); var sizeListStub = new SizeListStub(); var sizeListValidator = new SizeListValidator(sizeListStub); string error = null; EventHandler <SizeListChangedEventArgs> handler = (sender, e) => error = e.Error; sizeListValidator.SizeListChanged += handler; sizeListValidator.UpdateSize(size); Assert.AreEqual("Name 1 is already taken", error); }
public void ValidateSizesReturnsError_IfPositionId_DoesntMach() { var position = Position.Create(new DTOPosition(1, "1", "1")); var size = new DTOSize(1, "Name", new Money(1), new DTOPosition(2, "2", "2")); var sizes = new List <DTOSize>() { size }; position.ValidateSizes(sizes, out var error); Assert.AreEqual("Size Name corresponds to another position /n", error); }
public void UpdateSizeWork() { var positionList = new PositionListDataHolder(new PositionRepositoryStub()); positionList.LoadPositionList(); var size = new DTOSize(2, "size5", new Money(1), new DTOPosition(1, "1", "1")); positionList.UpdateSize(size); var sizeList = positionList.GetSizeList(size.Position); Assert.AreEqual(size, sizeList[1]); }
public void DeleteSizeWorks() { var positionList = new PositionListDataHolder(new PositionRepositoryStub()); positionList.LoadPositionList(); var size = new DTOSize(2, "size2", new Money(1), new DTOPosition(1, "1", "1")); positionList.DeleteSize(size); var sizeList = positionList.GetSizeList(size.Position); Assert.AreEqual(1, sizeList.Count); }
public void CantRepeatSizeName_withAddMethod() { var size = new DTOSize(3, "1", new Money(1), new DTOPosition(1, "1", "1")); var sizeListStub = new SizeListStub(); var sizeListValidator = new SizeListValidator(sizeListStub); string error = null; EventHandler <SizeListChangedEventArgs> handler = (sender, e) => error = e.Error; sizeListValidator.SizeListChanged += handler; sizeListValidator.AddSize(size); Assert.AreEqual("Name 1 is already taken", error); }
public void ReraiseEventOfDependency() { var size = new DTOSize(3, "3", new Money(1), new DTOPosition(1, "1", "1")); var sizeListStub = new SizeListStub(); var sizeListValidator = new SizeListValidator(sizeListStub); bool invoked = false; EventHandler <SizeListChangedEventArgs> handler = (sender, e) => invoked = true; sizeListValidator.SizeListChanged += handler; sizeListValidator.AddSize(size); Assert.IsTrue(invoked); }
public void DeleteNonExistingSizeReturnsError() { var size = new DTOSize(3, "1", new Money(1), new DTOPosition(1, "1", "1")); var sizeListStub = new SizeListStub(); var sizeListValidator = new SizeListValidator(sizeListStub); string error = null; EventHandler <SizeListChangedEventArgs> handler = (sender, e) => error = e.Error; sizeListValidator.SizeListChanged += handler; sizeListValidator.DeleteSize(size); Assert.AreEqual("Size 1 cannot be found", error); }
public void CanUpdateMoneyOnly() { var size = new DTOSize(1, "1", new Money(2), new DTOPosition(1, "1", "1")); var sizeListStub = new SizeListStub(); var sizeListValidator = new SizeListValidator(sizeListStub); string error = null; EventHandler <SizeListChangedEventArgs> handler = (sender, e) => error = e.Error; sizeListValidator.SizeListChanged += handler; sizeListValidator.UpdateSize(size); Assert.IsNull(error); }
public void NewSizeInitializesExistedIngredients() { var positionList = new PositionListDataHolder(new PositionRepositoryStub()); positionList.LoadPositionList(); var size = new DTOSize(5, "size5", new Money(1), new DTOPosition(1, "1", "1")); positionList.AddSize(size); var sizeList = positionList.GetSizeList(size.Position); Assert.AreEqual("water", sizeList[2].Ingredients[0].Consumable.Name); }
public void GetIngredientListWorks() { var positionList = new PositionListDataHolder(new PositionRepositoryStub()); positionList.LoadPositionList(); var size = new DTOSize(1, "size1", new Money(1), new DTOPosition(1, "1", "1")); var ingredientList = positionList.GetIngredientList(size); var expected = new DTOIngredient(1, 1, size, new DTO.Consumable(1, "water", 1)); Assert.AreEqual(expected, ingredientList[0]); Assert.AreEqual(1, ingredientList.Count); }
public void AddSize(DTOSize size) { var position = positions.First(p => p.Id == size.Position.Id); var id = GetNewSizeId(size.Id); position.AddSize(new DTOSize(id, size.Name, size.Price, size.Position)); var ingredientList = position.Sizes[0].Ingredients.ToList(); foreach (var ingredient in ingredientList) { position.Sizes.First(p => p.Id == id).AddIngredient(new DTOIngredient(GetNewIngredientId(0), 0, new DTOSize(id, size.Name, size.Price, position.DTO), ingredient.Consumable.DTO), consumables); } }
public void IdDoesntChanged() { var position = new Position(1, "1", "1"); var size = new Size(1, "1", new Money(1), position); var viewModel = new SizeDialogViewModel(size); Size returnedSize = null; EventHandler <DialogCloseRequestedEventArgs> handler = (sender, e) => returnedSize = (Size)e.Value; viewModel.CloseRequested += handler; viewModel.OkCommand.Execute(null); Assert.AreEqual(size, returnedSize); }
public void UpdateSizeMethod_InvokesDependencyAddSizeMethod_IfSizePassesValidation() { var size = new DTOSize(1, "3", new Money(1), new DTOPosition(1, "1", "1")); var sizeListStub = new SizeListStub(); bool invoked = false; EventHandler <SizeListChangedEventArgs> handler = (sender, e) => invoked = true; sizeListStub.SizeListChanged += handler; var sizeListValidator = new SizeListValidator(sizeListStub); sizeListValidator.UpdateSize(size); Assert.IsTrue(invoked); }