From 8e6de30f22ea2995dd00acce4dcf860300206153 Mon Sep 17 00:00:00 2001 From: JonathanFleischmann Date: Sat, 29 Jun 2024 17:37:02 +0200 Subject: [PATCH] working on negative Tests --- README.md | 15 ++++++++++++++- src/test/java/NegativeTests.java | 10 ++++++++++ .../testFiles/Negative/ClassMissingInClass.java | 2 ++ .../Negative/PublicMissingInClass.class | Bin 195 -> 0 bytes .../Negative/PublicMissingInMethod.java | 5 +++++ 5 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 src/test/testFiles/Negative/ClassMissingInClass.java delete mode 100644 src/test/testFiles/Negative/PublicMissingInClass.class create mode 100644 src/test/testFiles/Negative/PublicMissingInMethod.java diff --git a/README.md b/README.md index 7ae61eb..e2b830a 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,20 @@ - Julian Kraus: Grammatik entwickeln, Generator, Syntactic Sugar auflösen - Ahmad Juha: Typcheck - Simon Wittmann: Codegen und Tool für ASM -- Jonathan Fleischmann: Tests +- Jonathan Fleischmann: + - Schreiben von Tests, die die einzelnen Features abdecken + - Umwandlung der Testfiles in AST und TypedAST + - Implementierung der Tests, die mithilfe der umgewandelten Testfiles die korrekte Umwandlung + von java-File zu AST und AST zu TypedAST prüfen + - Schreiben von Testfiles, die die einzelnen Features abdecken und gut über Reflections testbar sind + - Implementierung eines Tools, durch das die Testfiles mithilfe von Reflections + einfacher nach gewissen Kriterien überprüfbar sind + - Implementierung von Tests, die die korrekte Umwandlung der Testfiles von java-File in class-File + durch den Compiler mithilfe des Tools prüfen + - Hinzufügen von Testfiles, die bei der Umwandlung fehlschlagen sollen + - Implementierung von Tests, die prüfen, ob der Compiler bei den fehlerhaften Testfiles tatsächlich fehlschlägt + +[//]: # (TODO: - Dokumentation der Tests) ## Fehlende Tests für Features (positive Tests) diff --git a/src/test/java/NegativeTests.java b/src/test/java/NegativeTests.java index f384b72..f247316 100644 --- a/src/test/java/NegativeTests.java +++ b/src/test/java/NegativeTests.java @@ -20,4 +20,14 @@ public class NegativeTests { public void PublicMissingInClass() { Compiler.generateByteCodeFilesFromFiles(List.of("src/test/testFiles/Negative/PublicMissingInClass.java")); } + + @Test + public void PublicMissingInMethod() { + Compiler.generateByteCodeFilesFromFiles(List.of("src/test/testFiles/Negative/PublicMissingInMethod.java")); + } + + @Test + public void ClassMissingInClass() { + Compiler.generateByteCodeFilesFromFiles(List.of("src/test/testFiles/Negative/ClassMissingInClass.java")); + } } diff --git a/src/test/testFiles/Negative/ClassMissingInClass.java b/src/test/testFiles/Negative/ClassMissingInClass.java new file mode 100644 index 0000000..57c02ab --- /dev/null +++ b/src/test/testFiles/Negative/ClassMissingInClass.java @@ -0,0 +1,2 @@ +public ClassMissingInClass { +} \ No newline at end of file diff --git a/src/test/testFiles/Negative/PublicMissingInClass.class b/src/test/testFiles/Negative/PublicMissingInClass.class deleted file mode 100644 index 635c6f19a6c34bc4d51244a8652613f4f4128232..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195 zcmYL>F%E)26h!9>vWk$H=n*W`hQ`v^P+1U7B=!puT-+?iMLn05iG}taN?mB2pG-2D zH~;;4JORw$6Nc+^B1IYrt%b^$DwJGn1|swee&K=SDi2mkk);)bMR4XqiE2Tx#*?jw zHXIi=7-8_o88J<%p| diff --git a/src/test/testFiles/Negative/PublicMissingInMethod.java b/src/test/testFiles/Negative/PublicMissingInMethod.java new file mode 100644 index 0000000..9819026 --- /dev/null +++ b/src/test/testFiles/Negative/PublicMissingInMethod.java @@ -0,0 +1,5 @@ +public class PublicMissingInMethod { + int getFive() { + return 5; + } +} \ No newline at end of file