Esempio n. 1
0
		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);
		}
Esempio n. 2
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);
		}
Esempio n. 3
0
        public void RemoveRowMethod_AffectsDomain()
        {
            var ingredientList = new IngredientListStub();
            var facade         = new PositionListFacade(new PositionListStub(), new SizeListStub(),
                                                        ingredientList);
            var controller = new DataGridController(facade);

            controller.Position = facade.LoadPositionList()[0];
            controller.AddRow(new Consumable(2, "2", 1));
            controller.SelectedRow = controller.IngredientRows.ToList()[0];
            controller.RemoveRow();
            Assert.AreEqual(2, ingredientList.Ingredients.Count);
        }
Esempio n. 4
0
        public void AddRowMethod_AffectsDomain()
        {
            var ingredientList = new IngredientListStub();
            var facade         = new PositionListFacade(new PositionListStub(), new SizeListStub(),
                                                        ingredientList);
            var controller = new DataGridController(facade);

            controller.Position = facade.LoadPositionList()[0];
            controller.AddRow(new Consumable(2, "2", 1));
            Assert.AreEqual(4, ingredientList.Ingredients.Count);
            Assert.AreEqual("2", ingredientList.Ingredients[2].Consumable.Name);
            Assert.AreEqual(0, ingredientList.Ingredients[2].Amount);
        }
Esempio n. 5
0
		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);
		}
Esempio n. 6
0
		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);
		}
Esempio n. 7
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);
		}
Esempio n. 8
0
		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);
		}
Esempio n. 9
0
		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);
		}