summaryrefslogtreecommitdiff
path: root/chapter16/src/test/java
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2024-11-07 14:17:20 -0800
committerCliff Click <cliffc@acm.org>2024-11-23 09:03:20 -0800
commit59a06668f3975c90459409e25e884b4b594cbe3b (patch)
treee53eac8d61685807275d2f861c7df672e3bc1032 /chapter16/src/test/java
parent59fb2c02e08b9bf577f2dedfabd290cb6e00e016 (diff)
downloadSimple-59a06668f3975c90459409e25e884b4b594cbe3b.tar.gz
Simple-59a06668f3975c90459409e25e884b4b594cbe3b.zip
Allow post ++, --
Fix eval auto-string result. Fix tests hacked because of this. Turn on BrainFuck in ch15,16,17, also disabled because of this. Use new features in BrainFuck. Fix bug not lifting forward refs; add a toString to Vars. Fix some missing addDeps. Remove large complex not-productive peep. Upcast after "while" tests. Improves a bunch of tests. Remove dead getBlockStart.
Diffstat (limited to 'chapter16/src/test/java')
-rw-r--r--chapter16/src/test/java/com/seaofnodes/simple/BrainFuckTest.java1
-rw-r--r--chapter16/src/test/java/com/seaofnodes/simple/Chapter15Test.java2
-rw-r--r--chapter16/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java2
3 files changed, 2 insertions, 3 deletions
diff --git a/chapter16/src/test/java/com/seaofnodes/simple/BrainFuckTest.java b/chapter16/src/test/java/com/seaofnodes/simple/BrainFuckTest.java
index f7c66bda..d5ffe835 100644
--- a/chapter16/src/test/java/com/seaofnodes/simple/BrainFuckTest.java
+++ b/chapter16/src/test/java/com/seaofnodes/simple/BrainFuckTest.java
@@ -12,7 +12,6 @@ import static org.junit.Assert.fail;
public class BrainFuckTest {
- @Ignore
@Test
public void testBrainfuck() {
var program = "++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.".getBytes(StandardCharsets.UTF_8);
diff --git a/chapter16/src/test/java/com/seaofnodes/simple/Chapter15Test.java b/chapter16/src/test/java/com/seaofnodes/simple/Chapter15Test.java
index d2d60b34..8161862f 100644
--- a/chapter16/src/test/java/com/seaofnodes/simple/Chapter15Test.java
+++ b/chapter16/src/test/java/com/seaofnodes/simple/Chapter15Test.java
@@ -50,7 +50,7 @@ return output;
""");
StopNode stop = parser.parse().iterate();
assertEquals("return [u8];", stop.toString());
- assertEquals("Obj<[u8]>{#=1,[]=[1]}", Evaluator.evaluate(stop, 0).toString());
+ assertEquals("\u0001", Evaluator.evaluate(stop, 0).toString());
}
@Test
diff --git a/chapter16/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java b/chapter16/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java
index 28896283..c215de00 100644
--- a/chapter16/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java
+++ b/chapter16/src/test/java/com/seaofnodes/simple/evaluator/Evaluator.java
@@ -100,7 +100,7 @@ public class Evaluator {
}
@Override
public String toString() {
- if (struct._name.equals("u8[]")) {
+ if (struct._name.equals("[u8]")) {
var sb = new StringBuilder();
for (int i=struct._fields.length-1; i<fields.length; i++) {
var v = fields[i];