예제 #1
0
		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);
		}
예제 #2
0
		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);
		}
예제 #3
0
		public void AddIngredientMethod_InvokesDependencyAddIngredientMethod_IfIngredientPassesValidation()
		{
			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();
			bool invoked = false;
			EventHandler<IngredientListChangedEventArgs> handler = (sender, e) => invoked = true;
			ingredientListStub.IngredientListChanged += handler;
			var ingredientListValidator = new IngredientListValidator(ingredientListStub);
			ingredientListValidator.AddIngredient(ingredient);
			Assert.IsTrue(invoked);
		}