diff options
author | Arne Juul <arnej@yahooinc.com> | 2023-02-15 18:59:29 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahooinc.com> | 2023-02-15 18:59:29 +0000 |
commit | 27fd02d0843f4fdfb353fecb39632f343d016fb4 (patch) | |
tree | 2c4ccc76044359bb3dc4b4c6e11c71f21bb5ce51 /searchlib/src/test | |
parent | 1742d97a1a17276f3d89216593a1d0906e73f8a4 (diff) |
support foo(bar).out in "simple" factory method
Diffstat (limited to 'searchlib/src/test')
-rw-r--r-- | searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/ReferenceTestCase.java | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/ReferenceTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/ReferenceTestCase.java index fbc7a96f1f2..1060e721363 100644 --- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/ReferenceTestCase.java +++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/ReferenceTestCase.java @@ -31,4 +31,43 @@ public class ReferenceTestCase { assertEquals("foo", new Reference("foo", new Arguments(), null).toString()); } + @Test + public void testFromString() { + Reference ref = Reference.fromIdentifier("foo_bar_1"); + assertFalse(ref.isSimple()); + assertTrue(ref.isIdentifier()); + assertEquals(0, ref.arguments().size()); + assertEquals(null, ref.output()); + assertEquals("foo_bar_1", ref.toString()); + + ref = Reference.simple("foo_1", "bar_2"); + assertTrue(ref.isSimple()); + assertFalse(ref.isIdentifier()); + assertEquals(1, ref.arguments().size()); + assertTrue(ref.simpleArgument().isPresent()); + assertEquals(null, ref.output()); + assertEquals("foo_1(bar_2)", ref.toString()); + + assertFalse(Reference.simple("foo").isPresent()); + assertFalse(Reference.simple("foo()").isPresent()); + assertTrue(Reference.simple("x(y)").isPresent()); + + ref = Reference.simple("foo_1(bar_2)").orElseThrow(); + assertTrue(ref.isSimple()); + assertFalse(ref.isIdentifier()); + assertEquals(1, ref.arguments().size()); + assertTrue(ref.simpleArgument().isPresent()); + assertEquals("bar_2", ref.simpleArgument().get()); + assertEquals(null, ref.output()); + assertEquals("foo_1(bar_2)", ref.toString()); + + ref = Reference.simple("foo_1(bar_2).baz_3").orElseThrow(); + assertTrue(ref.isSimple()); + assertFalse(ref.isIdentifier()); + assertEquals(1, ref.arguments().size()); + assertTrue(ref.simpleArgument().isPresent()); + assertEquals("baz_3", ref.output()); + assertEquals("foo_1(bar_2).baz_3", ref.toString()); + } + } |