summaryrefslogtreecommitdiff
path: root/src/test/java/no/eliashaugsbakk/kompilator/AssemblyBuilderTest.java
diff options
context:
space:
mode:
authorElias Haugsbakk <[email protected]>2026-09-18 19:10:54 +0200
committerElias Haugsbakk <[email protected]>2026-09-19 01:59:23 +0200
commit6dd4036bd828dac87b9f63d0a58693b30c46faed (patch)
treec194ad43c1d9b1a332e28659863b88f463a07a9c /src/test/java/no/eliashaugsbakk/kompilator/AssemblyBuilderTest.java
parent24f5104f56cfc67cf1e89da3e5913b2954acc36d (diff)
split into separate packages/classes
Diffstat (limited to 'src/test/java/no/eliashaugsbakk/kompilator/AssemblyBuilderTest.java')
-rw-r--r--src/test/java/no/eliashaugsbakk/kompilator/AssemblyBuilderTest.java65
1 files changed, 0 insertions, 65 deletions
diff --git a/src/test/java/no/eliashaugsbakk/kompilator/AssemblyBuilderTest.java b/src/test/java/no/eliashaugsbakk/kompilator/AssemblyBuilderTest.java
deleted file mode 100644
index 8d10be1..0000000
--- a/src/test/java/no/eliashaugsbakk/kompilator/AssemblyBuilderTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package no.eliashaugsbakk.kompilator;
-
-import java.util.List;
-import org.junit.jupiter.api.Test;
-
-class AssemblyBuilderTest {
-
- @Test
- void boilerplateGetsGenerated() {
- // Setup
- AssemblyBuilder builder = new AssemblyBuilder();
-
- // Act
-
- // Assert
- String result = builder.createAssembly(List.of());
- assert result.contains("""
- .intel_syntax noprefix
- .global _start
- .text
- _start:
- """);
-
- assert result.contains("""
- mov rax, 60
- xor rdi, rdi
- syscall
- """);
- assert result.contains(".data");
- }
-
- @Test
- void handlePrintGeneratesCorrectAssemblyForSingleStatement() {
- // Setup
- AssemblyBuilder builder = new AssemblyBuilder();
- builder.stringVariables.put("greeting", "Hello");
-
- // Act
- builder.handlePrint("print(greeting)");
-
- // Assert
- String result = builder.text.toString();
- assert result.contains("lea rsi, [greeting]");
- assert result.contains("lea rdx, [5]"); // "Hello"
- }
-
- @Test
- void handlePrintWorksCorrectlyWithMultiplePrintStatements() {
- // Setup
- AssemblyBuilder builder = new AssemblyBuilder();
- builder.stringVariables.put("msg1", "Hi");
- builder.stringVariables.put("msg2", "World");
-
- // Act
- builder.handlePrint("print(msg1)");
- builder.handlePrint("print(msg2)");
-
- // Assert
- String result = builder.text.toString();
- assert (result).contains("lea rsi, [msg1]");
- assert (result).contains("lea rsi, [msg2]");
- assert (result).contains("lea rdx, [2]"); // "Hi"
- assert (result).contains("lea rdx, [5]"); // "World"
- }
-}