From b107f708ceb9f242c73e539feafacae7ea6a63a8 Mon Sep 17 00:00:00 2001 From: jeffcheasey88 <66554203+jeffcheasey88@users.noreply.github.com> Date: Tue, 11 Feb 2025 16:21:31 +0100 Subject: [PATCH] unit test for TriValue --- src/dev/peerat/parser/java/tree/ValueTree.java | 8 +++++--- src/dev/peerat/parser/java/value/TriValue.java | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/dev/peerat/parser/java/tree/ValueTree.java b/src/dev/peerat/parser/java/tree/ValueTree.java index df76373..0e4e096 100644 --- a/src/dev/peerat/parser/java/tree/ValueTree.java +++ b/src/dev/peerat/parser/java/tree/ValueTree.java @@ -8,6 +8,7 @@ import dev.peerat.parser.TokenType; import dev.peerat.parser.java.JavaElement; import dev.peerat.parser.java.value.BiValue; import dev.peerat.parser.java.value.StaticValue; +import dev.peerat.parser.java.value.TriValue; import dev.peerat.parser.java.value.Value.ValueContainer; import dev.peerat.parser.state.RedirectStateTree; import dev.peerat.parser.state.StateTree; @@ -117,11 +118,12 @@ public class ValueTree extends SyntaxTree { return null; }); left_value.equals("?") - .redirect(unary_value) + .redirect(value, (global, local) -> global.set("success", local.get())) .equals(":") - .redirect(unary_value) + .redirect(value, (global, local) -> global.set("fail", local.get())) .end((parent, bag) -> { - bag.set(new StaticValue(new Token(0,0,"",TokenType.NAME))); + System.out.println("tri value "+bag); + bag.set(new TriValue(bag.get(), bag.get("success"), bag.get("fail"))); if(parent instanceof ValueContainer) ((ValueContainer)parent).addValue(bag.get()); return null; }); diff --git a/src/dev/peerat/parser/java/value/TriValue.java b/src/dev/peerat/parser/java/value/TriValue.java index 40c8744..8b85493 100644 --- a/src/dev/peerat/parser/java/value/TriValue.java +++ b/src/dev/peerat/parser/java/value/TriValue.java @@ -43,5 +43,10 @@ public class TriValue extends Value{ public void findAll(Function finder, List list) { } + + @Override + public String toString(){ + return "[TriValue] "+check+" ? "+success+" : "+fail; + } }