public void ReserveOneShouldShorten()
        {
            ReservedIndexedCharList list = new ReservedIndexedCharList("ABC");
            list[1].ReservedBy = new NullToken();

            Assert.IsTrue(list.ToStringOnlyNoneReserved().Length == 2);
            Assert.IsTrue(list.ToStringOnlyNoneReserved() == "AC");
        }
        public void ReserveFromStartAndStopCharWorksCorrectly()
        {
            ReservedIndexedCharList list = new ReservedIndexedCharList("A'B'C");
            list.ReserveFromStartAndStopChar('\'', '\'', new NullToken());

            Assert.IsTrue(list.ToStringOnlyNoneReserved().Length == 2);
            Assert.IsTrue(list.ToStringOnlyNoneReserved() == "AC");
        }
Esempio n. 3
0
        private void ReserveStrings(ReservedIndexedCharList list)
        {
            while (list.ToStringOnlyNoneReserved().Contains("'"))
            {
                list.ReserveFromStartAndStopChar('\'', '\'', new PathToken());
            }

            while (list.ToStringOnlyNoneReserved().Contains("\""))
            {
                list.ReserveFromStartAndStopChar('"', '"', new StringToken());
            }
        }
        public void ReserveAllReservesAll()
        {
            ReservedIndexedCharList list = new ReservedIndexedCharList("ABC");
            list.ReserveAll(new NullToken());

            Assert.IsTrue(list.ToStringOnlyNoneReserved().Length == 0);
        }
        public void GetReservedRetunrsWhatTokenHasReserved()
        {
            ReservedIndexedCharList list = new ReservedIndexedCharList("ABC");
            Token t = new NullToken();
            list.Reserve(0, t);
            list.Reserve(2, t);

            Assert.IsTrue(list.ToStringOnlyNoneReserved().Length == 1);
            Assert.IsTrue(list.GetReserved(t) == "AC");
        }
Esempio n. 6
0
        private void ReserveParanthesises(ReservedIndexedCharList list)
        {
            string current = list.ToStringOnlyNoneReserved();
            if (current.CountOf('(') != current.CountOf(')'))
                throw new BadFormulaExpression("Parentheses does not match");

            int expressionCount = current.CountOf('(');
            int start = 0;
            int end = current.Length - 1;

            while(expressionCount-- > 0)
            {
                start = current.IndexOf('(', start);
                end = current.LastIndexOf(')', end);
                list.ReserveRange(start++, end--, new ExpressionToken());
            }
        }
        public void ReserveRangeReservesCorrect()
        {
            ReservedIndexedCharList list = new ReservedIndexedCharList("ABC");
            list.ReserveRange(0, 1, new NullToken());

            Assert.IsTrue(list.ToStringOnlyNoneReserved().Length == 1);
            Assert.IsTrue(list.ToStringOnlyNoneReserved() == "C");
        }