summaryrefslogtreecommitdiff
path: root/common/src/test/java
diff options
context:
space:
mode:
authordibyendumajumdar <mobile@majumdar.org.uk>2023-08-25 23:16:07 +0100
committerdibyendumajumdar <mobile@majumdar.org.uk>2023-08-25 23:16:07 +0100
commit9a2ab9bb803aa4da2a6007cc2e945d6bc1fe0b39 (patch)
tree05dcb2c2b972538dba2da0429ba9705e09dc8e96 /common/src/test/java
parentb6098a9b9166da962676e33de31e93ace260d686 (diff)
downloadSimple-9a2ab9bb803aa4da2a6007cc2e945d6bc1fe0b39.tar.gz
Simple-9a2ab9bb803aa4da2a6007cc2e945d6bc1fe0b39.zip
Reorganized the project as multi-maven module
Updated README Added language module with grammar Split the code into common and chapter01 modules. Removed a number of utility classes that were imported from AA. Added github workflow file.
Diffstat (limited to 'common/src/test/java')
-rw-r--r--common/src/test/java/com/seaofnodes/simple/lexer/TestLexer.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/common/src/test/java/com/seaofnodes/simple/lexer/TestLexer.java b/common/src/test/java/com/seaofnodes/simple/lexer/TestLexer.java
new file mode 100644
index 00000000..ef29d963
--- /dev/null
+++ b/common/src/test/java/com/seaofnodes/simple/lexer/TestLexer.java
@@ -0,0 +1,37 @@
+/**
+ * DO NOT REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Contributor(s):
+ *
+ * This file is part of the Sea Of Nodes Simple Programming language
+ * implementation. See https://github.com/SeaOfNodes/Simple
+ *
+ * The contents of this file are subject to the terms of the
+ * Apache License Version 2 (the "APL"). You may not use this
+ * file except in compliance with the License. A copy of the
+ * APL may be obtained from:
+ * http://www.apache.org/licenses/LICENSE-2.0
+ */
+
+package com.seaofnodes.simple.lexer;
+
+import com.seaofnodes.simple.common.ErrorListener;
+import com.seaofnodes.simple.lexer.ecstasy.Lexer;
+import com.seaofnodes.simple.lexer.ecstasy.Source;
+import com.seaofnodes.simple.lexer.ecstasy.Token;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TestLexer {
+
+ @Test
+ public void testLexLineComment()
+ {
+ final String source = "//a comment\nx";
+ Lexer lexer = new Lexer(new Source(source), new ErrorListener());
+ Token token = lexer.next();
+ Assert.assertEquals(token.getId(), Token.Id.EOL_COMMENT);
+ token = lexer.next();
+ Assert.assertEquals("x", token.getValueText());
+ }
+}