Example #1
0
        public void TestIndexOfNextLetter()
        {
            string s = "abc def  gh ";
            var    p = new PlanParser();

            Assert.AreEqual(0, p.AsDynamic().IndexOfNextNonWhiteSpace(s, 0));
            Assert.AreEqual(1, p.AsDynamic().IndexOfNextNonWhiteSpace(s, 1));
            Assert.AreEqual(4, p.AsDynamic().IndexOfNextNonWhiteSpace(s, 3));
            Assert.AreEqual(9, p.AsDynamic().IndexOfNextNonWhiteSpace(s, 7));
            Assert.AreEqual(12, p.AsDynamic().IndexOfNextNonWhiteSpace(s, 12));
        }
Example #2
0
        void assertParseLineComment(int offset, string line)
        {
            var p = new PlanParser();
            var o = p.AsDynamic().ParseLine(offset, line, 0);

            Assert.IsNull(o);
        }
Example #3
0
        public void TestParseText()
        {
            var p = new PlanParser();

            p.Text = "loop 10\r\n% 100 100 test";
            var pss  = p.AsDynamic().ParseText();
            var npss = new List <PlanSection>();

            npss.AddRange(pss);
            Assert.AreEqual(2, npss.Count);

            p.Text = "loop 10\r\n% loop 10\r\n% % 100 100 test";
            pss    = p.AsDynamic().ParseText();
            npss   = new List <PlanSection>();
            npss.AddRange(pss);
        }
Example #4
0
        void assertParseLineLoop(int offset, string line, int count)
        {
            var p = new PlanParser();
            var o = new PrivateObject(p.AsDynamic().ParseLine(offset, line, 0));

            Assert.IsTrue((bool)o.GetField("IsLoop"));
            Assert.AreEqual(count, (int)o.GetField("LoopCount"));
        }
Example #5
0
        void assertParseLineError(int offset, string line, int shouldStart, int shouldLength)
        {
            var p = new PlanParser();
            var o = new PrivateObject(p.AsDynamic().ParseLine(offset, line, 0));

            Assert.IsTrue((bool)o.GetField("IsError"));
            Assert.AreEqual(shouldStart, (int)o.GetField("Start"));
            Assert.AreEqual(shouldLength, (int)o.GetField("Length"));
        }
Example #6
0
        void assertParseLineSection(int offset, string line, int shouldTargetPower, int shouldDuration, string shouldDesc)
        {
            var p = new PlanParser();

            var o = new PrivateObject(p.AsDynamic().ParseLine(offset, line, 0));

            Assert.IsFalse((bool)o.GetField("IsError"));
            Assert.AreEqual(shouldTargetPower, (int)o.GetField("TargetPower"));
            Assert.AreEqual(shouldDuration, (int)o.GetField("Duration"));
            Assert.AreEqual(shouldDesc, (string)o.GetField("Desc"));
        }
Example #7
0
        int parseDuration(string s)
        {
            var p = new PlanParser();
            var o = new PrivateObject(p.AsDynamic().ParseDuration(s));

            if (!((bool)o.GetField("IsError")))
            {
                return((int)o.GetField("Duration"));
            }
            return(-1);
        }
Example #8
0
        public void TestParse()
        {
            var p = new PlanParser();

            p.Text = "loop 10\r\n% 100 100 test";
            var pss  = p.AsDynamic().Parse();
            var npss = new List <PlanSection>();

            npss.AddRange(pss);
            Assert.AreEqual(10, npss.Count);
            Assert.AreEqual(1, npss[0].LoopIndex.Count);
            Assert.AreEqual(0, npss[0].LoopIndex[0]);
            Assert.AreEqual(1, npss[9].LoopIndex.Count);
            Assert.AreEqual(9, npss[9].LoopIndex[0]);

            p.Text = "loop 10\r\n% loop 10\r\n% % 100 100 test";
            pss    = p.AsDynamic().Parse();
            npss   = new List <PlanSection>();
            npss.AddRange(pss);
            Assert.AreEqual(100, npss.Count);
        }
Example #9
0
        public void TestIndexOfNextWhiteSpace()
        {
            string s = "abc def  gh ";
            var    p = new PlanParser();

            Assert.AreEqual(3, p.AsDynamic().IndexOfNextWhiteSpace(s, 0));
            Assert.AreEqual(3, p.AsDynamic().IndexOfNextWhiteSpace(s, 1));
            Assert.AreEqual(3, p.AsDynamic().IndexOfNextWhiteSpace(s, 2));
            Assert.AreEqual(3, p.AsDynamic().IndexOfNextWhiteSpace(s, 3));
            Assert.AreEqual(7, p.AsDynamic().IndexOfNextWhiteSpace(s, 4));
            Assert.AreEqual(8, p.AsDynamic().IndexOfNextWhiteSpace(s, 8));
            Assert.AreEqual(11, p.AsDynamic().IndexOfNextWhiteSpace(s, 9));
            Assert.AreEqual(12, p.AsDynamic().IndexOfNextWhiteSpace(s, 12));
        }