Untitled

 avatar
unknown
plain_text
5 months ago
1.8 kB
10
Indexable
package edu.tum.ase.compiler;

import edu.tum.ase.compiler.model.SourceCode;
import edu.tum.ase.compiler.service.CompilerService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.IOException;
import java.util.Map;

import static org.junit.jupiter.api.Assertions.*;

@SpringBootTest
class CompilerApplicationTests {

	@Autowired
	private CompilerService compilerService;

	@Test
	// Tests weather a dummy code is compiled successfully
	public void testCompileSuccess() throws IOException {
		// Create Testing Source Code (wellformed)
		SourceCode sourceCode = new SourceCode("public class Test {}", "Test.java");

		// Let Compiler run
		Map<String, Object> result = compilerService.compile(sourceCode);

		// Assert
		assertNotNull(result);
		assertTrue((Boolean) result.get("compilable"));
		assertEquals("public class Test {}", result.get("code"));
		assertEquals("Test.java", result.get("fileName"));
		assertEquals("", result.get("stdout"));
		assertEquals("", result.get("stderr"));
	}

	// Tests weather a dummy code is compiled with a missing { bracket
	@Test
	public void testCompileUnsuccessfull() throws IOException {
		// Created Testing Srouce Code (maleformed)
		SourceCode sourceCode = new SourceCode("public class Test {", "BadTest.java");

		// Let Compiler Run
		Map<String, Object> result = compilerService.compile(sourceCode);

		// Assert
		assertNotNull(result);
		assertFalse((Boolean) result.get("compilable"));
		assertEquals("public class Test {", result.get("code"));
		assertEquals("Test.java", result.get("fileName"));
		assertEquals("", result.get("stdout"));
		assertEquals("Error: expected '}'", result.get("stderr"));
	}

	@Test
	void contextLoads() {
	}

}
Editor is loading...
Leave a Comment