Ejemplo n.º 1
0
        public void Test_NormalItemFactory_CompositeData()
        {
            List<string> val = new List<string> { "composite val,    1  ,C", ">byte 1, 2", ">byte 3, 3" ,
            "composite val 2,    1  ,C", ">byte 1, 2", ">byte 3, 3" };

            StreamReader testBed = TestHelper.prepareTestDouble(val);
            NormalItemFactory normalItemFactory = new NormalItemFactory(testBed);
            List<Item> items =  normalItemFactory.GetItems();
            List<Item> expectedItems = new List<Item>();

            var IC = new ItemComposite();
            IC.Length = 1;
            IC.Name = "composite val";
            BitItem BI1 = new BitItem() { isChecked = false, location = 2, name = "byte 1" };
            BitItem BI2 = new BitItem() { isChecked = false, location = 2, name = "byte 1" };
            IC.addBitItem(BI1);
            IC.addBitItem(BI2);
            expectedItems.Add(IC);

            var IC2 = new ItemComposite();
            IC2.Length = 1;
            IC2.Name = "composite val 2";
            BitItem BI2_1 = new BitItem() { isChecked = false, location = 2, name = "byte 1" };
            BitItem BI2_2 = new BitItem() { isChecked = false, location = 2, name = "byte 1" };
            IC.addBitItem(BI2_1);
            IC.addBitItem(BI2_2);
            expectedItems.Add(IC2);

            // start asserting;
            TestHelper.Compare(expectedItems, items);
        }
Ejemplo n.º 2
0
        public void Translator_AffectNext_Import_Test()
        {
            // SETUP the SUT
            List<string> val = new List<string> { "First Value,    1  ,N", "Second Value, 16","Third Item, 1" };
            StreamReader testBed = TestHelper.prepareTestDouble(val);
            NormalItemFactory normalItemFactory = new NormalItemFactory(testBed);
            ItemParser itemParser = new ItemParser();
            itemParser.setFactory(normalItemFactory);

            List<Item> expected = new List<Item>();
            var affectorItem = new ItemValueAffectedNextItemLength() { Name = "First Value", Length = 1, Value = "01" };
            var affectedItem = new RegularItem() { Name = "Second Value", Length = 2, Value = "0403" };
            affectorItem.setAffectedItem(affectedItem);
            expected.Add(affectorItem);
            expected.Add(affectedItem);
            expected.Add(new RegularItem() { Name = "Third Item", Length = 1, Value = "02" });

            // Exercise
            StringTranslator ST = new StringTranslator();
            itemParser.setTranslator(ST);
            ST.setValue("02040302");
            ST.Import();

            // Verify
            TestHelper.Compare(expected, itemParser.Items);
        }
Ejemplo n.º 3
0
        public void Translator_Normal_Export_Test()
        {
            List<string> val = new List<string> { "First Value,    1  ,R,03", "Second Value, 1,R,04" };

            StreamReader testBed = TestHelper.prepareTestDouble(val);
            NormalItemFactory normalItemFactory = new NormalItemFactory(testBed);
            ItemParser itemParser = new ItemParser();
            itemParser.setFactory(normalItemFactory);

            List<Item> expected = new List<Item>();
            expected.Add(new RegularItem() { Name = "First Value", Length = 1, Value = "03" });
            expected.Add(new RegularItem() { Name = "Second Value", Length = 1, Value = "04" });

            TestHelper.Compare(expected, itemParser.Items);

            // compare the itemTranslator
            StringTranslator ST = new StringTranslator();
            itemParser.setTranslator(ST);
            ST.Export();
            Assert.AreEqual("0304", ST.getValue());
            Assert.AreEqual(string.Empty, ST.getValue());
        }
Ejemplo n.º 4
0
        public void Test_NormalItemFactory_AffectedNext()
        {
            List<string> val = new List<string> { "two bytes parameter,1 , N", "three bytes parameter ,    3" };

            StreamReader testBed = TestHelper.prepareTestDouble(val);
            NormalItemFactory normalItemFactory = new NormalItemFactory(testBed);
            List<Item> res = normalItemFactory.GetItems();

            List<Item> expected = new List<Item>();
            RegularItem ri = new RegularItem();
            ri.Name = "three bytes parameter";
            ri.Length = 3;
            ItemValueAffectedNextItemLength prev = new ItemValueAffectedNextItemLength();
            prev.setAffectedItem(ri);
            prev.Name = "two bytes parameter";
            prev.Length = 1;
            expected.Add(prev);
            expected.Add(ri);

            // do the checking
            TestHelper.Compare(expected, res);
        }
Ejemplo n.º 5
0
        public void Translator_AffectNext_Export_Test()
        {
            List<string> val = new List<string> { "First Value,    1  ,N,02", "Second Value, 2,R,0403", "Third Item, 1,R, 02" };

            StreamReader testBed = TestHelper.prepareTestDouble(val);
            NormalItemFactory normalItemFactory = new NormalItemFactory(testBed);
            ItemParser itemParser = new ItemParser();
            itemParser.setFactory(normalItemFactory);

            List<Item> expected = new List<Item>();
            var affectorItem = new ItemValueAffectedNextItemLength() { Name = "First Value", Length = 1, Value = "02" };
            var affectedItem = new RegularItem() { Name = "Second Value", Length = 2, Value = "0403" };
            affectorItem.setAffectedItem(affectedItem);
            expected.Add(affectorItem);
            expected.Add(affectedItem);
            expected.Add(new RegularItem() { Name = "Third Item", Length = 1, Value = "02" });

            StringTranslator ST = new StringTranslator();
            itemParser.setTranslator(ST);
            ST.Export();
            Assert.AreEqual("02040302", ST.getValue());
            Assert.AreEqual(string.Empty, ST.getValue());
        }
Ejemplo n.º 6
0
        public void Translator_OtherNotNull_Import_Test()
        {
            // SETUP the SUT
            List<string> val = new List<string> {
                "First Value,    1 , R,00",
                "Second Value, 2",
                "Third Item, 1 , RP ,First Value" };
            StreamReader testBed = TestHelper.prepareTestDouble(val);
            NormalItemFactory normalItemFactory = new NormalItemFactory(testBed);
            ItemParser itemParser = new ItemParser();
            itemParser.setFactory(normalItemFactory);

            List<Item> expected = new List<Item>();

            var item1 = new RegularItem() { Name = "First Value", Length = 1, Value = "02" };
            var item2 = new RegularItem() { Name = "Second Value", Length = 2,Value = "0403" };
            var item3 = new OtherItemNotNull_Decorator(
                new RegularItem() { Name = "Third Item", Length = 1,Value= "02" },
                item1
                );
            expected.Add(item1);
            expected.Add(item2);
            expected.Add(item3);

            // Exercise
            StringTranslator ST = new StringTranslator();
            itemParser.setTranslator(ST);
            ST.setValue("02040302");
            ST.Import();

            // Verify
            TestHelper.Compare(expected, itemParser.Items);
        }
Ejemplo n.º 7
0
        public void Translator_OtherNotNull_Export_Test()
        {
            List<string> val = new List<string> { "First Value,    1  ,R,00", "Second Value, 2,R,0403", "Third Item, 1,RP,First Value,02" };
            StreamReader testBed = TestHelper.prepareTestDouble(val);
            NormalItemFactory normalItemFactory = new NormalItemFactory(testBed);
            ItemParser itemParser = new ItemParser();
            itemParser.setFactory(normalItemFactory);

            List<Item> expected = new List<Item>();
            var item1 = new RegularItem() { Name = "First Value", Length = 1, Value = "00" };
            var item2 = new RegularItem() { Name = "Second Value", Length = 2, Value = "0403" };
            var item3 = new OtherItemNotNull_Decorator(
                new RegularItem() { Name = "Third Item", Length = 1, Value = "02" },
                item1
                );
            expected.Add(item1);
            expected.Add(item2);
            expected.Add(item3);

            StringTranslator ST = new StringTranslator();
            itemParser.setTranslator(ST);
            ST.Export();

            // verify the 00 first value
            Assert.AreEqual("000403", ST.getValue());
            Assert.AreEqual(string.Empty, ST.getValue());

            // verify the 02 first value
            itemParser.Items[0].Value = "02";
            ST.Export();
            Assert.AreEqual("02040302", ST.getValue());
            Assert.AreEqual(string.Empty, ST.getValue());
        }
Ejemplo n.º 8
0
        public void Test_NormalItemFactory_OtherItemNull()
        {
            List<string> val = new List<string> {
                "two bytes parameter,1",
                "item affected by prev, 3, RP,two bytes parameter  "};

            StreamReader testBed = TestHelper.prepareTestDouble(val);
            NormalItemFactory normalItemFactory = new NormalItemFactory(testBed);
            List<Item> res = normalItemFactory.GetItems();

            List<Item> expected = new List<Item>();
            RegularItem ri = new RegularItem();
            ri.Name = "two bytes parameter";
            ri.Length = 1;
            ri.Value = "00";

            RegularItem ri2= new RegularItem();
            ri2.Name = "item affected by prev";
            ri2.Length = 3;
            ri2.Value = "002233";
            OtherItemNotNull_Decorator decorator = new OtherItemNotNull_Decorator(ri2, ri);

            expected.Add(ri);
            expected.Add(decorator);

               // test the value of decorator is null
            Assert.AreEqual(string.Empty, decorator.Value);

            // test the value of decorator is not null since there is a value on RI
            ri.Value = "01";
            Assert.AreEqual("002233",decorator.Value);
        }