Example #1
0
        public void AddVegetable()
        {
            _refrigerator.AddVegetable(tomato, 6);
            List <KeyValuePair <Vegetable, int> > list = new List <KeyValuePair <Vegetable, int> >();

            list.Add(new KeyValuePair <Vegetable, int>(tomato, 15));
            list.Add(new KeyValuePair <Vegetable, int>(cabbage, 6));

            Assert.Equal(list, _refrigerator.GetVegetableQuantity());
        }
        public void TestToCheckTheQuantityOfTomatoes()
        {
            Refrigerator refrigerator = new Refrigerator();
            Tomato       tomato       = new Tomato();
            Cabbage      cabbage      = new Cabbage();

            refrigerator.AddVegetable(tomato, 10);
            refrigerator.AddVegetable(cabbage, 10);

            Assert.Equal(10, refrigerator.GetVegetableQuantity(tomato));
        }
        public void TestWhenQuantityIsSufficient()
        {
            Refrigerator refrigerator = new Refrigerator();
            Tomato       tomato       = new Tomato();
            Cabbage      cabbage      = new Cabbage();

            refrigerator.AddVegetable(tomato, 10);
            refrigerator.AddVegetable(cabbage, 8);
            string message = refrigerator.TakeOutVegetable(tomato, 2);

            Assert.Equal(8, refrigerator.GetVegetableQuantity(tomato));
        }
        public void TestWhenQuantityReachesMinimumLimitAndOrderAutomaticallyPlaced()
        {
            Refrigerator refrigerator = new Refrigerator();
            Tomato       tomato       = new Tomato();
            Cabbage      cabbage      = new Cabbage();

            refrigerator.AddVegetable(tomato, 10);
            refrigerator.AddVegetable(cabbage, 8);

            string message = refrigerator.TakeOutVegetable(tomato, 10);

            Assert.Equal(5, refrigerator.GetVegetableQuantity(tomato));
        }
Example #5
0
        public void AddVegetableToEmptyTrayTest()
        {
            var refrigerator = new Refrigerator();
            var tomato       = new Tomato();

            refrigerator.AddVegetable(tomato, 4);

            var expected = new List <KeyValuePair <Vegetable, int> >()
            {
                new KeyValuePair <Vegetable, int>(tomato, 4)
            };
            var actual = refrigerator.GetVegetableQuantity();

            Assert.Equal(expected, actual);
        }
Example #6
0
        public void TestVegetableQuantity()
        {
            Refrigerator refrigerator = new Refrigerator();
            Cabbage      cabbage      = new Cabbage();
            Tomato       tomato       = new Tomato();

            refrigerator.AddVegetable(cabbage, 10);
            refrigerator.AddVegetable(tomato, 20);

            var expectedVegetableQuantity = new List <KeyValuePair <Vegetable, int> >();

            expectedVegetableQuantity.Add(new KeyValuePair <Vegetable, int>(cabbage, 10));
            expectedVegetableQuantity.Add(new KeyValuePair <Vegetable, int>(tomato, 20));
            var actualVegetableQuantity = refrigerator.GetVegetableQuantity();

            Assert.Equal(expectedVegetableQuantity.OrderBy(x => x.Key.Name).ToList(), actualVegetableQuantity.OrderBy(x => x.Key.Name).ToList());
        }
Example #7
0
        public void TakeOutVegetableFromTrayTest()
        {
            var refrigerator = new Refrigerator();
            var tomato       = new Tomato();

            refrigerator.AddVegetable(tomato, 5);
            //refrigerator.SetMinimumVegetableQuantity(new Tomato(), 2);
            refrigerator.TakeOutVegetable(tomato, 3);

            var expected = new List <KeyValuePair <Vegetable, int> >()
            {
                new KeyValuePair <Vegetable, int>(tomato, 2)
            };
            var actual = refrigerator.GetVegetableQuantity();

            Assert.Equal(expected, actual);
        }
Example #8
0
        public void PlaceOrderTest()
        {
            var refrigerator = new Refrigerator();
            var tracker      = new VegetableTracker();
            var tomato       = new Tomato();

            refrigerator.AddVegetable(tomato, 5);
            refrigerator.SetMinimumVegetableQuantity(tomato, 4);
            refrigerator.SetMaximumRefillLimit(tomato, 10);
            tracker.PlaceOrder(refrigerator);

            var expected = new List <KeyValuePair <Vegetable, int> >()
            {
                new KeyValuePair <Vegetable, int>(tomato, 5)
            };
            var actual = refrigerator.GetVegetableQuantity();

            Assert.Equal(expected, actual);
        }