@Test public void test_9() { String s = "a.b {\n" + "foo = 'bar'\n" + "}"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals("bar", ((Map) ((Map) config.get("a")).get("b")).get("foo")); }
@Test public void test_4() { String s = "a { b { c = 'value'} }"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals(1, config.size()); Assert.assertEquals("value", ((Map) ((Map) config.get("a")).get("b")).get("c")); }
@Test public void test_comment_3() { String s = "a = 1 /* this is a comment \n a = 2*/"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals(Integer.valueOf(1), config.get("a", 0)); }
@Test public void test_closures() { String s = "a = 1\n" + "s = \"|${{->a}}|\"\n" + "c = {a}\n" + "a=2"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals(Integer.valueOf(2), config.get("a", 0)); Assert.assertEquals("|2|", config.get("s").toString()); }
@Test public void test_closures_2() { String s = "a = 1\n" + "s = \"|${a}|\"\n" + "c = {a}\n" + "a=2"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals(Integer.valueOf(2), config.get("a", 0)); Assert.assertEquals("|1|", config.get("s").toString()); }
@Test public void test_comment_1() { String s = "a = 1\n" + "// a = 2\n" + "b = 3"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals(Integer.valueOf(1), config.get("a", 0)); Assert.assertEquals(Integer.valueOf(3), config.get("b", 0)); }
@Test public void test_comment_2() { String s = "a = 1 // this is a comment a = 2\n" + "b = 3"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals(Integer.valueOf(1), config.get("a", 0)); Assert.assertEquals(Integer.valueOf(3), config.get("b", 0)); }
@Test public void test_comment_5() { String s = "a {\n" + "// comment\n" + "b = 1" + "}"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals(Integer.valueOf(1), config.config("a").get("b", 0)); } }
@Test public void test_closure() { String s = "" + "closure = {'bar'}\n" + "foo = closure()" + ""; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals("bar", config.get("foo")); }
@Test public void test_5() { String s = "a { b = 'value'; c = 'value 2' }"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals(1, config.size()); Assert.assertEquals("value", ((Map) config.get("a")).get("b")); Assert.assertEquals("value 2", ((Map) config.get("a")).get("c")); }
@Test public void test_2() { String s = "a.b = 'value'\n" + "a.c = 'value 2'"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals(1, config.size()); Assert.assertEquals("value", ((Map) config.get("a")).get("b")); Assert.assertEquals("value 2", ((Map) config.get("a")).get("c")); }
@Test public void test_3() { String s = "a { b = 'value' }"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals(1, config.size()); Assert.assertEquals("value", ((Map) config.get("a")).get("b")); }
@Test public void test_8() { String s = "foo = 'foo'\n" + "sub { bar = \"$foo\"}\n" + "foobar = \"${foo}${sub.bar}\""; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals(3, config.size()); Assert.assertEquals("foo", config.get("foo")); Assert.assertEquals("foo", String.valueOf(((Map) config.get("sub")).get("bar"))); Assert.assertEquals("foofoo", String.valueOf(config.get("foobar"))); }
@Test public void test_merge_3() { Config configA = new Config(); Config configB = new Config(); EvalTools.prepare("a = 1").get(configA); EvalTools.prepare("a { c = 2 }").get(configB); Assert.assertEquals(1, configA.size()); Assert.assertEquals(1, configA.get("a")); configA.merge(configB); Assert.assertEquals(1, configA.size()); Assert.assertEquals(1, ((Map) configA.get("a")).size()); Assert.assertEquals(2, ((Map) configA.get("a")).get("c")); }
@Test public void test_merge_2() { Config configA = new Config(); Config configB = new Config(); EvalTools.prepare("a { b = 1 }").get(configA); EvalTools.prepare("a = 1").get(configB); Assert.assertEquals(1, configA.size()); Assert.assertEquals(1, ((Map) configA.get("a")).size()); Assert.assertEquals(1, ((Map) configA.get("a")).get("b")); configA.merge(configB); Assert.assertEquals(1, configA.size()); Assert.assertEquals(1, configA.get("a")); }
@Test public void test_bind__should_not_fail() { String s = "" + "a.l = 1\n" + ""; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); TestClass v = config.config("a").bind(TestClass.class); Assert.assertEquals(1L, v.l); }
@Test public void test_bind__should_not_fail_2() { String s = "" + "a.string = \"${2*2}\"\n" + ""; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); TestClass v = config.config("a").bind(TestClass.class); Assert.assertEquals("4", v.string); }
@Test public void test_comment_4() { String s = "b = 'this // is not a comment'\n" + "c = '/*also just a string*/'"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals("this // is not a comment", config.get("b", "")); Assert.assertEquals("/*also just a string*/", config.get("c", "")); }
@Test public void test_1() { String s = "key = 'value'"; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertEquals(1, config.size()); Assert.assertEquals("value", config.get("key")); }
@Test public void test_imports() { String s = "import com.wizzardo.tools.evaluation.ConfigTest\n" + "a = new ConfigTest.TestImport()\n" + "a.i = 1" + ""; Expression expression = EvalTools.prepare(s); Config config = new Config(); expression.get(config); Assert.assertTrue(config.get("a") instanceof TestImport); Assert.assertEquals(1, config.get("a", new TestImport()).i); }