public void GetIngredientListReturnsListFromDependency() { var size = new DTOSize(1, "1", new Money(1), new DTOPosition(1, "1", "1") ); var ingredientListStub = new IngredientListStub(); var ingredientListValidator = new IngredientListValidator(ingredientListStub); var expected = ingredientListStub.GetIngredientList(size); var actual = ingredientListValidator.GetIngredientList(size); Assert.AreEqual(expected[0], actual[0]); Assert.AreEqual(expected[1], actual[1]); Assert.AreEqual(expected.Count, actual.Count); }
public void CantAddIngredientToNonExistingSize() { var position = new DTOPosition(1, "1", "1"); var ingredient = new DTOIngredient(1, 1, new DTOSize(2, "1", new Money(1), position), new DTOConsumable(1, "water", 1)); var ingredientListStub = new IngredientListStub(); var ingredientListValidator = new IngredientListValidator(ingredientListStub); string error = null; EventHandler<IngredientListChangedEventArgs> handler = (sender, e) => error = e.Error; ingredientListValidator.IngredientListChanged += handler; ingredientListValidator.AddIngredient(ingredient); }
public void CantUpdateNonExistingIngredient() { var position = new DTOPosition(1, "1", "1"); var ingredient = new DTOIngredient(3, 1, new DTOSize(1, "1", new Money(1), position), new DTOConsumable(1, "water", 1)); var ingredientListStub = new IngredientListStub(); var ingredientListValidator = new IngredientListValidator(ingredientListStub); string error = null; EventHandler<IngredientListChangedEventArgs> handler = (sender, e) => error = e.Error; ingredientListValidator.IngredientListChanged += handler; ingredientListValidator.UpdateIngredient(ingredient); Assert.AreEqual("Ingredient water cannot be found", error); }
public void UpdateIngredientMethod_InvokesDependencyAddIngredientMethod_IfIngredientPassesValidation() { var position = new DTOPosition(1, "1", "1"); var ingredient = new DTOIngredient(1, 1, new DTOSize(1, "1", new Money(1), position), new DTOConsumable(1, "1", 1)); var ingredientListStub = new IngredientListStub(); bool invoked = false; EventHandler<IngredientListChangedEventArgs> handler = (sender, e) => invoked = true; ingredientListStub.IngredientListChanged += handler; var ingredientListValidator = new IngredientListValidator(ingredientListStub); ingredientListValidator.UpdateIngredient(ingredient); Assert.IsTrue(invoked); }
public void CantRepeatConsumable_withAddMethod() { var position = new DTOPosition(1, "1", "1"); var ingredient = new DTOIngredient(3, 1, new DTOSize(1, "1", new Money(1), position), new DTOConsumable(1, "water", 1)); var ingredientListStub = new IngredientListStub(); var ingredientListValidator = new IngredientListValidator(ingredientListStub); string error = null; EventHandler<IngredientListChangedEventArgs> handler = (sender, e) => error = e.Error; ingredientListValidator.IngredientListChanged += handler; ingredientListValidator.AddIngredient(ingredient); Assert.AreEqual("Ingredient water already exists", error); }
public void ReraiseEventOfDependency() { var position = new DTOPosition(1, "1", "1"); var ingredient = new DTOIngredient(3, 1, new DTOSize(1, "1", new Money(1), position), new DTOConsumable(1, "1", 1)); var ingredientListStub = new IngredientListStub(); var ingredientListValidator = new IngredientListValidator(ingredientListStub); bool invoked = false; EventHandler<IngredientListChangedEventArgs> handler = (sender, e) => invoked = true; ingredientListValidator.IngredientListChanged += handler; ingredientListValidator.AddIngredient(ingredient); Assert.IsTrue(invoked); }
public void CanUpdateAmountOnly() { var position = new DTOPosition(1, "1", "1"); var ingredient = new DTOIngredient(1, 2, new DTOSize(1, "1", new Money(1), position), new DTOConsumable(1, "water", 1)); var ingredientListStub = new IngredientListStub(); var ingredientListValidator = new IngredientListValidator(ingredientListStub); string error = null; EventHandler<IngredientListChangedEventArgs> handler = (sender, e) => error = e.Error; ingredientListValidator.IngredientListChanged += handler; ingredientListValidator.UpdateIngredient(ingredient); Assert.IsNull(error); }