public void TestCaseEvaluation4()
        {
            var directive = new ForDirective("BOO $", "BEER", TypeConverter);

            Assert.AreEqual(string.Empty, Evaluate("{BOO \"\"}.{BEER}", directive));
        }
        public void TestCaseEvaluation3()
        {
            var directive = new ForDirective("BOO $", "BEER", TypeConverter);

            Assert.AreEqual(".........", Evaluate("{BOO \"123456789\"}.{BEER}", directive));
        }
        public void TestCaseEvaluation2()
        {
            var directive = new ForDirective("BOO $", "BEER", TypeConverter);

            Assert.AreEqual(string.Empty, Evaluate("{BOO undefined}.{BEER}", directive, new KeyValuePair <string, object>("undefined", null)));
        }
        public void TestCaseConstructor3()
        {
            var directive = new ForDirective("OVER $", "TERMINATE", TypeConverter);

            Assert.AreEqual("{OVER $}...{TERMINATE}", directive.ToString());
        }
        public void TestCaseConstructor2()
        {
            var directive = new ForDirective(TypeConverter);

            Assert.AreEqual("{FOR $}...{END}", directive.ToString());
        }
        public void TestCaseEvaluation5()
        {
            var directive = new ForDirective("BOO $", "BEER", TypeConverter);

            Assert.AreEqual("...", Evaluate("{BOO list}.{BEER}", directive, new KeyValuePair <string, object>("list", new[] { 1, 2, 3 })));
        }