Пример #1
0
        public void TestExcludeWhatHave()
        {
            CProductCalc testCalc1 = CProductCalcFactory.Create();
            CSmartArray  testArray = CSmartArrayFactory.Create();

            testArray.Add(ProductTag.ptBublic, 1);
            testCalc1.SetArray(testArray);
            testCalc1.Calc(5);

            CSmartArray ingridientArray = CSmartArrayFactory.Create();

            ingridientArray.Add("пшеница", 4);
            ingridientArray.Add("морковь", 8);
            //ingridientArray.Add("сахарный тросник", 1);

            CProductCalc testCalc2 = CProductCalcFactory.Create();

            testCalc2.SetArray(ingridientArray);

            testCalc1.ExcludeWhatHave(testCalc2);
            Assert.AreEqual(testCalc1.GetArray().GetCount(), 1);
            Assert.AreEqual(testCalc1.GetArray().GetTagCount("сахарный тросник"), 1);

            Assert.AreEqual(testCalc2.GetArray().GetCount(), 1);
            Assert.AreEqual(testCalc2.GetArray().GetTagCount("морковь"), 7);
        }
Пример #2
0
        public void AddByName()
        {
            CSmartArray testArray = CSmartArrayFactory.Create();

            testArray.Add("хлеб", 1);
            Assert.AreEqual(testArray.GetMap().Count, 1);
            testArray.Add("пшеница", 0);
            Assert.AreEqual(testArray.GetCount(), 1);
        }
Пример #3
0
        public void TestClearTag()
        {
            CSmartArray testArray = CSmartArrayFactory.Create();

            testArray.Add(ProductTag.prKormKurica, 3);
            testArray.Add(ProductTag.ptArbuz, 2);
            testArray.ClearTag(ProductTag.prKormPchela);
            testArray.ClearTag(ProductTag.prKormKurica);
            Assert.AreEqual(testArray.GetCount(), 1);
        }
Пример #4
0
        public void TestGetTagCountByName()
        {
            CSmartArray testArray = CSmartArrayFactory.Create();

            testArray.Add("хлеб", 3);
            Assert.AreEqual(testArray.GetTagCount("хлеб"), 3);
            testArray.Add("хлеб", 2);
            Assert.AreEqual(testArray.GetTagCount("хлеб"), 5);

            testArray.Add("пшеница", 2);
            Assert.AreEqual(testArray.GetTagCount("пшеница"), 2);
        }
Пример #5
0
        public void TestGetTagCountById()
        {
            CSmartArray testArray = CSmartArrayFactory.Create();

            testArray.Add(ProductTag.prKormKurica, 3);
            Assert.AreEqual(testArray.GetTagCount(ProductTag.prKormKurica), 3);
            testArray.Add(ProductTag.prKormKurica, 2);
            Assert.AreEqual(testArray.GetTagCount(ProductTag.prKormKurica), 5);

            testArray.Add(ProductTag.prKormPchela, 2);
            Assert.AreEqual(testArray.GetTagCount(ProductTag.prKormPchela), 2);
        }
Пример #6
0
        public void TestBackeryFactory()
        {
            CBakery pFact   = new CBakery();
            int     count   = pFact.GetInputArray().Count;
            int     counter = 0;

            {
                CSmartArray correctArray = new CSmartArray();
                correctArray.Add("пшеница", 2);
                CSmartArray calcArray = TestCalc(pFact, "хлеб");
                Assert.IsTrue(calcArray.IsEqual(correctArray));
                counter++;
            }
            {
                CSmartArray correctArray = new CSmartArray();
                correctArray.Add("пшеница", 2);
                correctArray.Add("яйцо", 2);
                CSmartArray calcArray = TestCalc(pFact, "печенье");
                Assert.IsTrue(calcArray.IsEqual(correctArray));
                counter++;
            }
            {
                CSmartArray correctArray = new CSmartArray();
                correctArray.Add("пшеница", 2);
                correctArray.Add("сахар", 1);
                correctArray.Add("яйцо", 3);
                CSmartArray calcArray = TestCalc(pFact, "бублик");
                Assert.IsTrue(calcArray.IsEqual(correctArray));
                counter++;
            }
            {
                CSmartArray correctArray = new CSmartArray();
                correctArray.Add("пшеница", 2);
                correctArray.Add("сыр", 1);
                correctArray.Add("томат", 2);
                CSmartArray calcArray = TestCalc(pFact, "пицца");
                Assert.IsTrue(calcArray.IsEqual(correctArray));
                counter++;
            }
            {
                CSmartArray correctArray = new CSmartArray();
                correctArray.Add("пшеница", 2);
                correctArray.Add("картофель", 2);
                correctArray.Add("яйцо", 4);
                CSmartArray calcArray = TestCalc(pFact, "картофельный хлеб");
                Assert.IsTrue(calcArray.IsEqual(correctArray));
                counter++;
            }
            Assert.AreEqual(counter, count);
        }
Пример #7
0
        public void AddByTag()
        {
            CSmartArray testArray = CSmartArrayFactory.Create();

            testArray.Add(ProductTag.prKormKurica, 1);
            Assert.AreEqual(testArray.GetMap().Count, 1);
        }
Пример #8
0
        public void TestIsEqual()
        {
            {
                CSmartArray testArray1 = CSmartArrayFactory.Create();
                CSmartArray testArray2 = CSmartArrayFactory.Create();

                testArray1.Add(ProductTag.prKormKurica, 3);
                testArray2.Add(ProductTag.prKormKurica, 3);

                Assert.IsTrue(testArray1.IsEqual(testArray2));
            }

            {
                CSmartArray testArray1 = CSmartArrayFactory.Create();
                CSmartArray testArray2 = CSmartArrayFactory.Create();

                testArray1.Add(ProductTag.prKormKurica, 3);
                testArray2.Add(ProductTag.prKormKurica, 2);

                Assert.IsFalse(testArray1.IsEqual(testArray2));
            }

            {
                CSmartArray testArray1 = CSmartArrayFactory.Create();
                CSmartArray testArray2 = CSmartArrayFactory.Create();

                testArray1.Add(ProductTag.prKormKurica, 3);
                testArray2.Add(ProductTag.ptAnanasSorbet, 2);

                Assert.IsFalse(testArray1.IsEqual(testArray2));
            }
        }
Пример #9
0
        public void TestFillArray()
        {
            CSmartArray       testArray = CSmartArrayFactory.Create();
            List <ProductTag> ptList    = new List <ProductTag>();
            List <int>        iList     = new List <int>();

            testArray.Add(ProductTag.prKormKurica, 5);
            testArray.Add(ProductTag.prKormPchela, 8);

            testArray.FillArray(ptList, iList);
            Assert.AreEqual(ptList[0], ProductTag.prKormKurica);
            Assert.AreEqual(ptList[1], ProductTag.prKormPchela);

            Assert.AreEqual(iList[0], 5);
            Assert.AreEqual(iList[1], 8);
        }
Пример #10
0
 public void TestMilcFactory()
 {
     CMilkFactory pFact   = new CMilkFactory();
     int          count   = pFact.GetInputArray().Count;
     int          counter = 0;
     {
         CSmartArray correctArray = new CSmartArray();
         correctArray.Add("молоко", 1);
         CSmartArray calcArray = TestCalc(pFact, "сливки");
         Assert.IsTrue(calcArray.IsEqual(correctArray));
         counter++;
     }
     {
         CSmartArray correctArray = new CSmartArray();
         correctArray.Add("молоко", 2);
         CSmartArray calcArray = TestCalc(pFact, "сыр");
         Assert.IsTrue(calcArray.IsEqual(correctArray));
         counter++;
     }
     {
         CSmartArray correctArray = new CSmartArray();
         correctArray.Add("молоко", 3);
         CSmartArray calcArray = TestCalc(pFact, "масло");
         Assert.IsTrue(calcArray.IsEqual(correctArray));
         counter++;
     }
     {
         CSmartArray correctArray = new CSmartArray();
         correctArray.Add("молоко", 4);
         CSmartArray calcArray = TestCalc(pFact, "йогурт");
         Assert.IsTrue(calcArray.IsEqual(correctArray));
         counter++;
     }
 }
Пример #11
0
        public void AddErrorInfo()
        {
            {
                CSmartArray testArray = CSmartArrayFactory.Create();
                testArray.Add(ProductTag.ptNotFound, 1);
                Assert.AreEqual(testArray.GetCount(), 0);
            }
            //{
            //    bool bException = false;
            //    CSmartArray testArray = CSmartArrayFactory.Create();
            //    try
            //    {
            //        testArray.Add("хлебб", 1);
            //    }
            //    catch
            //    {
            //        bException = true;
            //    }
            //    Assert.IsTrue(bException);
            //}
            //testArray.Add(null, 1);
            //testArray.Add((ProductTag)120000, 1);
            //testArray.Add("хлебб",1);
            //testArray.Add("Хлеб", 1);

            //Assert.AreEqual(testArray.GetMap().Count, 1);
        }
Пример #12
0
        public void TestExcludeWhatHave()
        {
            {
                CSmartArray testArray1 = CSmartArrayFactory.Create();
                CSmartArray testArray2 = CSmartArrayFactory.Create();

                testArray1.Add(ProductTag.prKormKurica, 3);
                testArray2.Add(ProductTag.prKormKurica, 2);

                testArray1.ExcludeWhatHave(testArray2);
                Assert.AreEqual(testArray1.GetTagCount(ProductTag.prKormKurica), 1);
                Assert.AreEqual(testArray2.GetTagCount(ProductTag.prKormKurica), 0);
            }

            {
                CSmartArray testArray1 = CSmartArrayFactory.Create();
                CSmartArray testArray2 = CSmartArrayFactory.Create();

                testArray1.Add(ProductTag.prKormKurica, 3);
                testArray2.Add(ProductTag.prKormKurica, 8);

                testArray1.ExcludeWhatHave(testArray2);
                Assert.AreEqual(testArray1.GetTagCount(ProductTag.prKormKurica), 0);
                Assert.AreEqual(testArray2.GetTagCount(ProductTag.prKormKurica), 5);
            }
        }
Пример #13
0
        public void TestSetAlreadyHave()
        {
            CProductCalc testCalc  = CProductCalcFactory.Create();
            CSmartArray  testArray = CSmartArrayFactory.Create();

            testArray.Add(ProductTag.ptBublic, 1);
            testCalc.SetAlreadyHave(testArray);
            Assert.AreEqual(testCalc.GetAlreadyHave().GetTagCount(ProductTag.ptBublic), 1);
        }
Пример #14
0
        public void TestCalc()
        {
            CProductCalc testCalc  = CProductCalcFactory.Create();
            CSmartArray  testArray = CSmartArrayFactory.Create();

            testArray.Add(ProductTag.ptBublic, 1);
            testCalc.SetArray(testArray);

            CSmartArray ingridientArray = CSmartArrayFactory.Create();

            //должны получиться ингридиенты которые надо выращить и только они
            ingridientArray.Add("пшеница", 4);
            ingridientArray.Add("морковь", 1);
            ingridientArray.Add("сахарный тросник", 1);

            testCalc.Calc(5);
            Assert.IsTrue(testCalc.GetArray().IsEqual(ingridientArray));
        }
Пример #15
0
        public void TestCopy()
        {
            CSmartArray testArray = CSmartArrayFactory.Create();

            testArray.Add("хлеб", 1);
            CSmartArray copyArray = testArray.Copy();

            Assert.AreEqual(copyArray.GetCount(), 1);
            Assert.AreEqual(copyArray.GetTagCount("хлеб"), 1);
        }
Пример #16
0
        public void TestMerge()
        {
            CSmartArray testArray1 = CSmartArrayFactory.Create();
            CSmartArray testArray2 = CSmartArrayFactory.Create();

            testArray1.Add(ProductTag.prKormKurica, 3);
            testArray2.Add(ProductTag.prKormPchela, 2);
            testArray1.Merge(testArray2);
            Assert.AreEqual(testArray1.GetCount(), 2);
            Assert.AreEqual(testArray2.GetCount(), 1);
        }
Пример #17
0
        //
        // You can use the following additional attributes as you write your tests:
        //
        // Use ClassInitialize to run code before running the first test in the class
        // [ClassInitialize()]
        // public static void MyClassInitialize(TestContext testContext) { }
        //
        // Use ClassCleanup to run code after all tests in a class have run
        // [ClassCleanup()]
        // public static void MyClassCleanup() { }
        //
        // Use TestInitialize to run code before running each test
        // [TestInitialize()]
        // public void MyTestInitialize() { }
        //
        // Use TestCleanup to run code after each test has run
        // [TestCleanup()]
        // public void MyTestCleanup() { }
        //
        #endregion

        public static CSmartArray TestCalc(CFactory pFact, string name, int productCount = 1)
        {
            CSmartArray array = new CSmartArray();

            array.Add(name, productCount);
            pFact.SetInput(array);
            pFact.Calc();
            CSmartArray tempArray = pFact.GetResult();

            pFact.Refresh();
            return(tempArray);
        }
Пример #18
0
        public void TextExcludeWhatHave()
        {
            CFactory    test1  = FactoryFactory.CreateFactory(FactType.ftBackary);
            CFactory    test2  = FactoryFactory.CreateFactory(FactType.ftBackary);
            CSmartArray array1 = new CSmartArray();
            CSmartArray array2 = new CSmartArray();

            array1.Add("хлеб", 1);
            array2.Add("хлеб", 1);
            Assert.AreEqual(array1.GetCount(), 1);
            test1.SetInput(array1);
            Assert.AreEqual(array1.GetCount(), 0);
            Assert.AreEqual(array2.GetCount(), 1);
            test2.SetInput(array2);
            Assert.AreEqual(array2.GetCount(), 0);
            test1.ExcludeWhatHave(test2);
            Assert.AreEqual(test1.GetSmartInput().GetCount(), 0);
            Assert.AreEqual(test2.GetSmartInput().GetCount(), 1);
        }
Пример #19
0
 public void Add(string name, int count)
 {
     m_InputIngredients.Add(name, count);
 }