From 63c5cb839006b99bba9f6af585b2322bdd24d830 Mon Sep 17 00:00:00 2001 From: luca9913 Date: Mon, 5 Jun 2023 09:28:55 +0200 Subject: [PATCH] Moved test resources to src/test and refactored tests --- resources/testBytecode/public | 1 - src/test/java/AllgemeinTest.java | 78 ++- src/test/java/packages/Bytecode.java | 17 +- .../java/packages/CheckPackageFolder.java | 48 +- .../java/packages/ConsoleInterfaceTest.java | 40 +- src/test/java/packages/ImportTest.java | 38 +- .../LoadDefaultPackageClassesTest.java | 12 +- src/test/java/packages/OLOneFileTest.java | 42 +- src/test/java/packages/OLTest.java | 70 ++- src/test/java/packages/ParsePackageName.java | 7 +- .../packages/mathStrucMatrixOPTest.java.txt | 2 +- .../java/packages/mathStrucVectorTest.java | 26 +- .../java/targetast/ASTToTypedTargetAST.java | 32 +- src/test/java/targetast/TestCodegen.java | 455 ++++++------------ src/test/java/targetast/TestGenerics.java | 27 +- .../typeinference/JavaTXCompilerTest.java | 254 +++++----- src/test/java/typeinference/Meth_GenTest.java | 131 ++--- src/test/java/typeinference/UnifyTest.java | 164 +++---- .../test/resources}/AllgemeinTest/Box.jav | 0 .../resources}/AllgemeinTest/Box_Main.jav | 0 .../test/resources}/AllgemeinTest/FCTest1.jav | 0 .../test/resources}/AllgemeinTest/FCTest2.jav | 0 .../test/resources}/AllgemeinTest/FCTest3.jav | 0 .../test/resources}/AllgemeinTest/GenTest.jav | 0 .../resources}/AllgemeinTest/Generics.jav | 0 .../test/resources}/AllgemeinTest/M.jav | 0 .../AllgemeinTest/OverloadingMain.jav | 0 .../AllgemeinTest/Overloading_Generics.jav | 0 .../resources}/AllgemeinTest/OverrideMain.jav | 0 .../AllgemeinTest/OverrideMainRet.jav | 0 .../test/resources}/AllgemeinTest/Pair.java | 0 .../test/resources}/AllgemeinTest/Put.jav | 0 .../test/resources}/AllgemeinTest/Test.jav | 0 .../AllgemeinTest/TestSubTypless.jav | 0 .../test/resources}/AllgemeinTest/Twice.jav | 0 .../test/resources}/AllgemeinTest/Var.jav | 0 .../AllgemeinTest/VectorConstAdd.jav | 0 .../AllgemeinTest/VectorNotObject.jav | 0 .../WildcardCaptureConversionTest.jav | 0 .../AllgemeinTest/Wildcard_Andi.jav | 0 .../test/resources}/AllgemeinTest/addList.jav | 0 .../resources}/AllgemeinTest/wildcardPair.jav | 0 .../test/resources}/bytecode/javFiles/AA.jav | 0 .../bytecode/javFiles/AssignToLit.jav | 0 .../test/resources}/bytecode/javFiles/BB.jav | 0 .../bytecode/javFiles/BinaryInMeth.jav | 0 .../test/resources}/bytecode/javFiles/Box.jav | 0 .../resources}/bytecode/javFiles/Box.java | 0 .../test/resources}/bytecode/javFiles/CC.jav | 0 .../bytecode/javFiles/ClassGenLam.jav | 0 .../resources}/bytecode/javFiles/Cycle.jav | 0 .../test/resources}/bytecode/javFiles/DD.jav | 0 .../resources}/bytecode/javFiles/DuMethod.jav | 0 .../bytecode/javFiles/EmptyMethod.jav | 0 .../resources}/bytecode/javFiles/Example.jav | 0 .../bytecode/javFiles/Exceptions.jav | 0 .../test/resources}/bytecode/javFiles/Fac.jav | 0 .../resources}/bytecode/javFiles/Faculty.jav | 0 .../resources}/bytecode/javFiles/Faculty2.jav | 0 .../resources}/bytecode/javFiles/Field.jav | 0 .../resources}/bytecode/javFiles/FieldTph.jav | 0 .../bytecode/javFiles/FieldTph2.jav | 0 .../bytecode/javFiles/FieldTphConsMeth.jav | 0 .../bytecode/javFiles/FieldTphMMeth.jav | 0 .../test/resources}/bytecode/javFiles/For.jav | 0 .../resources}/bytecode/javFiles/FunOL.jav | 0 .../test/resources}/bytecode/javFiles/Gen.jav | 0 .../resources}/bytecode/javFiles/Generics.jav | 0 .../bytecode/javFiles/Generics2.jav | 0 .../bytecode/javFiles/Generics3.jav | 0 .../bytecode/javFiles/Generics4.jav | 0 .../bytecode/javFiles/GreaterEqual.jav | 0 .../bytecode/javFiles/GreaterThan.jav | 0 .../test/resources}/bytecode/javFiles/Id.jav | 0 .../resources}/bytecode/javFiles/IfTest.jav | 0 .../resources}/bytecode/javFiles/Import.jav | 0 .../test/resources}/bytecode/javFiles/Inf.jav | 0 .../resources}/bytecode/javFiles/Infimum.jav | 0 .../resources}/bytecode/javFiles/Inherit.jav | 0 .../resources}/bytecode/javFiles/Inherit2.jav | 0 .../bytecode/javFiles/Interface1.jav | 0 .../resources}/bytecode/javFiles/KompTph.jav | 0 .../bytecode/javFiles/LamRunnable.jav | 0 .../resources}/bytecode/javFiles/Lambda.jav | 0 .../resources}/bytecode/javFiles/Lambda2.jav | 0 .../resources}/bytecode/javFiles/Lambda3.jav | 0 .../resources}/bytecode/javFiles/Lambda4.jav | 0 .../bytecode/javFiles/LambdaCapture.jav | 0 .../bytecode/javFiles/LambdaVoid.jav | 0 .../bytecode/javFiles/LessEqual.jav | 0 .../resources}/bytecode/javFiles/LessThan.jav | 0 .../resources}/bytecode/javFiles/Matrix.jav | 0 .../resources}/bytecode/javFiles/MatrixOP.jav | 0 .../resources}/bytecode/javFiles/Merge.jav | 0 .../resources}/bytecode/javFiles/Methods.jav | 0 .../test/resources}/bytecode/javFiles/OL.jav | 0 .../resources}/bytecode/javFiles/OLFun.jav | 0 .../resources}/bytecode/javFiles/OLFun2.jav | 0 .../test/resources}/bytecode/javFiles/Op.jav | 0 .../test/resources}/bytecode/javFiles/Op2.jav | 0 .../bytecode/javFiles/OverlaodGen.jav | 0 .../bytecode/javFiles/Overloading.jav | 0 .../resources}/bytecode/javFiles/Plus.jav | 0 .../bytecode/javFiles/PostIncDec.jav | 0 .../resources}/bytecode/javFiles/PreInc.jav | 0 .../test/resources}/bytecode/javFiles/Put.jav | 0 .../bytecode/javFiles/RecursiveMeth.jav | 0 .../resources}/bytecode/javFiles/RelOps.jav | 0 .../bytecode/javFiles/ReturnMethod.jav | 0 .../bytecode/javFiles/SimpleCycle.jav | 0 .../resources}/bytecode/javFiles/Sorting.jav | 0 .../resources}/bytecode/javFiles/StaticM.jav | 0 .../bytecode/javFiles/SubMatrix.jav | 0 .../test/resources}/bytecode/javFiles/Tph.jav | 0 .../resources}/bytecode/javFiles/Tph2.jav | 0 .../resources}/bytecode/javFiles/Tph3.jav | 0 .../resources}/bytecode/javFiles/Tph4.jav | 0 .../resources}/bytecode/javFiles/Tph5.jav | 0 .../resources}/bytecode/javFiles/Tph6.jav | 0 .../resources}/bytecode/javFiles/Tph7.jav | 0 .../resources}/bytecode/javFiles/TypedID.jav | 0 .../bytecode/javFiles/VectorAdd.jav | 0 .../bytecode/javFiles/VectorSuper.jav | 0 .../resources}/bytecode/javFiles/VoidMeth.jav | 0 .../test/resources}/bytecode/javFiles/WC.jav | 0 .../resources}/bytecode/javFiles/While.jav | 0 .../test/resources}/bytecode/javFiles/Y.jav | 0 .../bytecode/javFiles/applyLambda.jav | 0 .../bytecode/javFiles/mathStruc.jav | 0 .../bytecode/javFiles/mathStrucInteger.jav | 0 .../bytecode/javFiles/mathStrucMatrixOP.jav | 0 .../resources}/insertGenericsJav/TestAny.jav | 0 .../insertGenericsJav/TestClassField.jav | 0 .../insertGenericsJav/TestContraVariant.jav | 0 .../insertGenericsJav/TestGGFinder.jav | 0 .../insertGenericsJav/TestLocalVarLambda.jav | 0 .../insertGenericsJav/TestMutualRecursion.jav | 0 .../TestMutualRecursionWithField.jav | 0 .../TestMutualRecursionWithField2.jav | 0 .../TestMutualRecursionWithField3.jav | 0 .../insertGenericsJav/TestReturnVar.jav | 0 .../TestSecondLineOfClassConstraints.jav | 0 .../insertGenericsJav/TestTPHsAndGenerics.jav | 0 .../TestTPHsAndGenerics2.jav | 0 .../insertGenericsJav/TestThreeArgs.jav | 0 .../insertGenericsJav/TestTwoArgs.jav | 0 .../insertGenericsJav/TestTwoArgs2.jav | 0 .../insertGenericsJav/TestTwoCalls.jav | 0 .../insertGenericsJav/TestVector.jav | 0 .../insertGenericsJav/TestVectorArg.jav | 0 .../insertGenericsJav/TestVoidMeth.jav | 0 .../test/resources}/javFiles/AddLong.jav | 0 .../test/resources}/javFiles/EmptyClass.jav | 0 .../test/resources}/javFiles/EmptyMethod.jav | 0 .../test/resources}/javFiles/Expressions.jav | 0 .../test/resources}/javFiles/FC_Matrix.jav | 0 .../test/resources}/javFiles/Faculty.jav | 0 .../test/resources}/javFiles/FacultyIf.jav | 0 .../test/resources}/javFiles/FacultyTyped.jav | 0 .../test/resources}/javFiles/FieldAccess.jav | 0 .../test/resources}/javFiles/Fields.jav | 0 .../test/resources}/javFiles/Generics.jav | 0 .../test/resources}/javFiles/IfTest.jav | 0 .../test/resources}/javFiles/Import.jav | 0 .../test/resources}/javFiles/Lambda.jav | 0 .../test/resources}/javFiles/Lambda2.jav | 0 .../test/resources}/javFiles/Lambda3.jav | 0 .../test/resources}/javFiles/LambdaField.jav | 0 .../resources}/javFiles/LambdaRunnable.jav | 0 .../resources}/javFiles/ListenerOverload.jav | 0 .../test/resources}/javFiles/Matrix.jav | 0 .../test/resources}/javFiles/Meth_Gen.jav | 0 .../javFiles/MethodCallGenerics.jav | 0 .../resources}/javFiles/MethodWildcardGen.jav | 0 .../test/resources}/javFiles/Methods.jav | 0 .../test/resources}/javFiles/MethodsEasy.jav | 0 .../test/resources}/javFiles/Op1.jav | 0 .../test/resources}/javFiles/Package.jav | 0 .../test/resources}/javFiles/Sorting.jav | 0 .../test/resources}/javFiles/Subclass.jav | 0 .../test/resources}/javFiles/Superclass.jav | 0 .../test/resources}/javFiles/Vector.jav | 0 .../test/resources}/javFiles/fc.jav | 0 .../test/resources}/javFiles/mathStruc.jav | 0 .../resources}/javFiles/packageTest/Gen.jav | 0 .../javFiles/packageTest/OLMain.jav | 0 .../javFiles/packageTest/OLOneFile.jav | 0 .../javFiles/packageTest/OLTest.txt | 0 .../javFiles/packageTest/OLextends.jav | 0 .../resources}/javFiles/packageTest/Pair2.jav | 0 .../resources}/javFiles/packageTest/Test.jav | 0 .../javFiles/packageTest/UseOLMain.java | 0 .../packageTest/de/test/ImportTest.jav | 0 .../packageTest/de/test/ImportTest2.jav | 0 .../packageTest/de/test/ImportTestDefault.jav | 0 .../javFiles/packageTest/de/test/OL.jav | 0 .../javFiles/packageTest/de/test/Pair.jav | 0 .../packageTest/de/test/TestClass.jav | 0 .../javFiles/packageTest/de/test/ToImport.jav | 0 .../packageTest/de/test/mathStruc.jav | 0 .../packageTest/de/test/mathStrucVector.jav | 0 .../output/de/test/mathStrucVectoruse.java | 0 .../de/test/output/mathStrucVectoruse.java | 0 .../de/test/packageNameTestWrongPackage.jav | 0 .../packageTest/de/test/subpackage1/Test1.jav | 0 .../de/test/subpackage1/ToImport2.jav | 0 .../packageTest/de/test/subpackage2/Test2.jav | 0 .../de/test/subpackage2/ToImport3.jav | 0 .../packageTest/de/test/vectorAdd.jav | 0 .../test/resources}/javFiles/test.jav | 0 .../test/resources}/javFiles/test1.jav | 0 .../test/resources}/log4jTesting.xml | 0 .../testBytecode/generatedBC/.gitignore | 0 213 files changed, 583 insertions(+), 861 deletions(-) delete mode 100644 resources/testBytecode/public rename {resources => src/test/resources}/AllgemeinTest/Box.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/Box_Main.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/FCTest1.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/FCTest2.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/FCTest3.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/GenTest.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/Generics.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/M.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/OverloadingMain.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/Overloading_Generics.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/OverrideMain.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/OverrideMainRet.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/Pair.java (100%) rename {resources => src/test/resources}/AllgemeinTest/Put.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/Test.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/TestSubTypless.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/Twice.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/Var.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/VectorConstAdd.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/VectorNotObject.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/WildcardCaptureConversionTest.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/Wildcard_Andi.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/addList.jav (100%) rename {resources => src/test/resources}/AllgemeinTest/wildcardPair.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/AA.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/AssignToLit.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/BB.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/BinaryInMeth.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Box.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Box.java (100%) rename {resources => src/test/resources}/bytecode/javFiles/CC.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/ClassGenLam.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Cycle.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/DD.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/DuMethod.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/EmptyMethod.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Example.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Exceptions.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Fac.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Faculty.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Faculty2.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Field.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/FieldTph.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/FieldTph2.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/FieldTphConsMeth.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/FieldTphMMeth.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/For.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/FunOL.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Gen.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Generics.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Generics2.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Generics3.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Generics4.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/GreaterEqual.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/GreaterThan.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Id.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/IfTest.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Import.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Inf.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Infimum.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Inherit.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Inherit2.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Interface1.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/KompTph.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/LamRunnable.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Lambda.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Lambda2.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Lambda3.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Lambda4.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/LambdaCapture.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/LambdaVoid.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/LessEqual.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/LessThan.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Matrix.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/MatrixOP.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Merge.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Methods.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/OL.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/OLFun.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/OLFun2.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Op.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Op2.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/OverlaodGen.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Overloading.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Plus.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/PostIncDec.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/PreInc.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Put.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/RecursiveMeth.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/RelOps.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/ReturnMethod.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/SimpleCycle.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Sorting.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/StaticM.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/SubMatrix.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Tph.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Tph2.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Tph3.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Tph4.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Tph5.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Tph6.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Tph7.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/TypedID.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/VectorAdd.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/VectorSuper.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/VoidMeth.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/WC.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/While.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/Y.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/applyLambda.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/mathStruc.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/mathStrucInteger.jav (100%) rename {resources => src/test/resources}/bytecode/javFiles/mathStrucMatrixOP.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestAny.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestClassField.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestContraVariant.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestGGFinder.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestLocalVarLambda.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestMutualRecursion.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestMutualRecursionWithField.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestMutualRecursionWithField2.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestMutualRecursionWithField3.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestReturnVar.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestSecondLineOfClassConstraints.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestTPHsAndGenerics.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestTPHsAndGenerics2.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestThreeArgs.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestTwoArgs.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestTwoArgs2.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestTwoCalls.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestVector.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestVectorArg.jav (100%) rename {resources => src/test/resources}/insertGenericsJav/TestVoidMeth.jav (100%) rename {resources => src/test/resources}/javFiles/AddLong.jav (100%) rename {resources => src/test/resources}/javFiles/EmptyClass.jav (100%) rename {resources => src/test/resources}/javFiles/EmptyMethod.jav (100%) rename {resources => src/test/resources}/javFiles/Expressions.jav (100%) rename {resources => src/test/resources}/javFiles/FC_Matrix.jav (100%) rename {resources => src/test/resources}/javFiles/Faculty.jav (100%) rename {resources => src/test/resources}/javFiles/FacultyIf.jav (100%) rename {resources => src/test/resources}/javFiles/FacultyTyped.jav (100%) rename {resources => src/test/resources}/javFiles/FieldAccess.jav (100%) rename {resources => src/test/resources}/javFiles/Fields.jav (100%) rename {resources => src/test/resources}/javFiles/Generics.jav (100%) rename {resources => src/test/resources}/javFiles/IfTest.jav (100%) rename {resources => src/test/resources}/javFiles/Import.jav (100%) rename {resources => src/test/resources}/javFiles/Lambda.jav (100%) rename {resources => src/test/resources}/javFiles/Lambda2.jav (100%) rename {resources => src/test/resources}/javFiles/Lambda3.jav (100%) rename {resources => src/test/resources}/javFiles/LambdaField.jav (100%) rename {resources => src/test/resources}/javFiles/LambdaRunnable.jav (100%) rename {resources => src/test/resources}/javFiles/ListenerOverload.jav (100%) rename {resources => src/test/resources}/javFiles/Matrix.jav (100%) rename {resources => src/test/resources}/javFiles/Meth_Gen.jav (100%) rename {resources => src/test/resources}/javFiles/MethodCallGenerics.jav (100%) rename {resources => src/test/resources}/javFiles/MethodWildcardGen.jav (100%) rename {resources => src/test/resources}/javFiles/Methods.jav (100%) rename {resources => src/test/resources}/javFiles/MethodsEasy.jav (100%) rename {resources => src/test/resources}/javFiles/Op1.jav (100%) rename {resources => src/test/resources}/javFiles/Package.jav (100%) rename {resources => src/test/resources}/javFiles/Sorting.jav (100%) rename {resources => src/test/resources}/javFiles/Subclass.jav (100%) rename {resources => src/test/resources}/javFiles/Superclass.jav (100%) rename {resources => src/test/resources}/javFiles/Vector.jav (100%) rename {resources => src/test/resources}/javFiles/fc.jav (100%) rename {resources => src/test/resources}/javFiles/mathStruc.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/Gen.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/OLMain.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/OLOneFile.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/OLTest.txt (100%) rename {resources => src/test/resources}/javFiles/packageTest/OLextends.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/Pair2.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/Test.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/UseOLMain.java (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/ImportTest.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/ImportTest2.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/ImportTestDefault.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/OL.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/Pair.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/TestClass.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/ToImport.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/mathStruc.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/mathStrucVector.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/output/de/test/mathStrucVectoruse.java (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/output/mathStrucVectoruse.java (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/packageNameTestWrongPackage.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/subpackage1/Test1.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/subpackage1/ToImport2.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/subpackage2/Test2.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/subpackage2/ToImport3.jav (100%) rename {resources => src/test/resources}/javFiles/packageTest/de/test/vectorAdd.jav (100%) rename {resources => src/test/resources}/javFiles/test.jav (100%) rename {resources => src/test/resources}/javFiles/test1.jav (100%) rename {resources => src/test/resources}/log4jTesting.xml (100%) rename {resources => src/test/resources}/testBytecode/generatedBC/.gitignore (100%) diff --git a/resources/testBytecode/public b/resources/testBytecode/public deleted file mode 100644 index 8b137891..00000000 --- a/resources/testBytecode/public +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/test/java/AllgemeinTest.java b/src/test/java/AllgemeinTest.java index 2dfc4dbf..468f1a04 100644 --- a/src/test/java/AllgemeinTest.java +++ b/src/test/java/AllgemeinTest.java @@ -1,5 +1,4 @@ - import static org.junit.Assert.*; import java.io.File; @@ -24,51 +23,48 @@ public class AllgemeinTest { private static Class classToTest; private static String pathToClassFile; private static Object instanceOfClass; - @Test public void test() throws Exception { - //String className = "GenTest"; - //String className = "Overloading_Generics"; - //String className = "Generics"; - //String className = "OverloadingMain"; - //String className = "OverrideMain"; - //String className = "OverrideMainRet"; - //String className = "FCTest1"; - //String className = "FCTest2"; - //String className = "Pair"; - //String className = "FCTest3"; - //String className = "Var"; - //String className = "Put"; - //String className = "Twice"; - //String className = "TestSubTypless"; - //String className = "addList"; - //String className = "M"; - //String className = "Wildcard_Andi"; - //String className = "Box"; - //String className = "Box_Main"; - //String className = "wildcardPair"; - //String className = "VectorConstAdd"; + // String className = "GenTest"; + // String className = "Overloading_Generics"; + // String className = "Generics"; + // String className = "OverloadingMain"; + // String className = "OverrideMain"; + // String className = "OverrideMainRet"; + // String className = "FCTest1"; + // String className = "FCTest2"; + // String className = "Pair"; + // String className = "FCTest3"; + // String className = "Var"; + // String className = "Put"; + // String className = "Twice"; + // String className = "TestSubTypless"; + // String className = "addList"; + // String className = "M"; + // String className = "Wildcard_Andi"; + // String className = "Box"; + // String className = "Box_Main"; + // String className = "wildcardPair"; + // String className = "VectorConstAdd"; String className = "VectorNotObject"; - //String className = "WildcardCaptureConversionTest"; - //PL 2019-10-24: genutzt fuer unterschiedliche Tests - path = System.getProperty("user.dir")+"/resources/AllgemeinTest/" + className + ".jav"; - //path = System.getProperty("user.dir")+"/src/test/resources/AllgemeinTest/Overloading_Generics.jav"; - //path = System.getProperty("user.dir")+"/src/test/resources/bytecode/javFiles/mathStrucInteger.jav"; - //compiler = new JavaTXCompiler(Lists.newArrayList(new File(System.getProperty("user.dir")+"/src/test/resources/AllgemeinTest/Overloading_Generics.jav"))); - ///* - compiler = new JavaTXCompiler( - Lists.newArrayList(new File(path)), - Lists.newArrayList(new File(System.getProperty("user.dir")+"/resources/testBytecode/generatedBC/"))); - //*/ - compiler.generateBytecode(System.getProperty("user.dir")+"/resources/testBytecode/generatedBC/"); - pathToClassFile = System.getProperty("user.dir")+"/resources/testBytecode/generatedBC/"; - loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); + // String className = "WildcardCaptureConversionTest"; + // PL 2019-10-24: genutzt fuer unterschiedliche Tests + path = System.getProperty("user.dir") + "/src/test/resources/AllgemeinTest/" + className + ".jav"; + // path = System.getProperty("user.dir")+"/src/test/src/test/resources/AllgemeinTest/Overloading_Generics.jav"; + // path = System.getProperty("user.dir")+"/src/test/src/test/resources/bytecode/javFiles/mathStrucInteger.jav"; + // compiler = new JavaTXCompiler(Lists.newArrayList(new File(System.getProperty("user.dir")+"/src/test/src/test/resources/AllgemeinTest/Overloading_Generics.jav"))); + /// * + compiler = new JavaTXCompiler(Lists.newArrayList(new File(path)), Lists.newArrayList(new File(System.getProperty("user.dir") + "/src/test/resources/testBytecode/generatedBC/"))); + // */ + compiler.generateBytecode(System.getProperty("user.dir") + "/src/test/resources/testBytecode/generatedBC/"); + pathToClassFile = System.getProperty("user.dir") + "/src/test/resources/testBytecode/generatedBC/"; + loader = new URLClassLoader(new URL[] { new URL("file://" + pathToClassFile) }); classToTest = loader.loadClass(className); - //classToTest = loader.loadClass("Overloading_Generics"); - //instanceOfClass = classToTest.getDeclaredConstructor().newInstance("A"); - //classToTest = loader.loadClass("Overloading_Generics1"); - //instanceOfClass = classToTest.getDeclaredConstructor(Object.class).newInstance("B"); + // classToTest = loader.loadClass("Overloading_Generics"); + // instanceOfClass = classToTest.getDeclaredConstructor().newInstance("A"); + // classToTest = loader.loadClass("Overloading_Generics1"); + // instanceOfClass = classToTest.getDeclaredConstructor(Object.class).newInstance("B"); } } diff --git a/src/test/java/packages/Bytecode.java b/src/test/java/packages/Bytecode.java index 48a21f9b..54e9f4b8 100644 --- a/src/test/java/packages/Bytecode.java +++ b/src/test/java/packages/Bytecode.java @@ -12,41 +12,40 @@ import java.net.URLClassLoader; public class Bytecode extends TestCase { - public static final String rootDirectory = System.getProperty("user.dir")+"/resources/javFiles/packageTest/"; + public static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/"; + @Test public void testSetPackageNameInBytecode() throws Exception { - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"de/test/TestClass.jav")); + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "de/test/TestClass.jav")); compiler.typeInference(); File f = new File(rootDirectory + "de/test/TestClass.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } compiler.generateBytecode(); f = new File(rootDirectory + "de/test/TestClass.class"); assertTrue(f.exists()); - - URLClassLoader loader = new URLClassLoader(new URL[]{new URL("file://" + rootDirectory)}); + URLClassLoader loader = new URLClassLoader(new URL[] { new URL("file://" + rootDirectory) }); Class classToTest = loader.loadClass("de.test.TestClass"); Object instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); } @Test public void testSetPackageNameInBytecodeAndOutputFolder() throws Exception { - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"de/test/TestClass.jav")); + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "de/test/TestClass.jav")); compiler.typeInference(); File f = new File(rootDirectory + "de/test/output/de/test/TestClass.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } compiler.generateBytecode(rootDirectory + "de/test/output/"); f = new File(rootDirectory + "de/test/output/de/test/TestClass.class"); assertTrue(f.exists()); - URLClassLoader loader = new URLClassLoader(new URL[]{new URL("file://" + rootDirectory + "de/test/output/")}); + URLClassLoader loader = new URLClassLoader(new URL[] { new URL("file://" + rootDirectory + "de/test/output/") }); Class classToTest = loader.loadClass("de.test.TestClass"); Object instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); } - } diff --git a/src/test/java/packages/CheckPackageFolder.java b/src/test/java/packages/CheckPackageFolder.java index cb9a6231..530de758 100644 --- a/src/test/java/packages/CheckPackageFolder.java +++ b/src/test/java/packages/CheckPackageFolder.java @@ -12,69 +12,51 @@ import java.util.Arrays; public class CheckPackageFolder extends TestCase { - public static final String rootDirectory = System.getProperty("user.dir")+"/resources/javFiles/packageTest/de/test/"; + public static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/de/test/"; @Test public void testCorrectFolder1FileWithWrongPackageName() throws IOException, ClassNotFoundException { - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"packageNameTestWrongPackage.jav")); + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "packageNameTestWrongPackage.jav")); compiler.typeInference(); File f = new File(rootDirectory + "TestClass.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } compiler.generateBytecode(); f = new File(rootDirectory + "TestClass.class"); - assertTrue(f.exists()); //Es ist erlaubt falsche package Namen zu verwenden. Warnung wäre optional + assertTrue(f.exists()); // Es ist erlaubt falsche package Namen zu verwenden. Warnung wäre optional } @Test public void testCorrectFolder1File() throws IOException, ClassNotFoundException { - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"TestClass.jav")); + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "TestClass.jav")); compiler.typeInference(); File f = new File(rootDirectory + "TestClass.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } compiler.generateBytecode(); f = new File(rootDirectory + "TestClass.class"); - assertTrue(f.exists()); //Es ist erlaubt falsche package Namen zu verwenden. Warnung wäre optional + assertTrue(f.exists()); // Es ist erlaubt falsche package Namen zu verwenden. Warnung wäre optional } @Test public void testCorrectFolder1FileAndOutputDirectory() throws IOException, ClassNotFoundException { - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"TestClass.jav")); + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "TestClass.jav")); compiler.typeInference(); File f = new File(rootDirectory + "output/de/test/TestClass.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } - compiler.generateBytecode(rootDirectory+"output/"); + compiler.generateBytecode(rootDirectory + "output/"); f = new File(rootDirectory + "output/de/test/TestClass.class"); - assertTrue(f.exists()); //Es ist erlaubt falsche package Namen zu verwenden. Warnung wäre optional + assertTrue(f.exists()); // Es ist erlaubt falsche package Namen zu verwenden. Warnung wäre optional } /* - * Dieser Test wird übersprungen, da der Bytecode-Generator nicht mit zwei Eingabedateien gleichzeitig umgehen kann - @Test - public void testCorrectFolder2Files() throws IOException, ClassNotFoundException { - JavaTXCompiler compiler = new JavaTXCompiler(Arrays.asList( - new File(rootDirectory+"subpackage1/Test1.jav"), - new File(rootDirectory+"subpackage2/Test2.jav") - )); - compiler.typeInference(); - File f = new File(rootDirectory + "subpackage1/Test1.class"); - if(f.exists() && !f.isDirectory()) { - f.delete(); - } - File f2 = new File(rootDirectory + "subpackage2/Test2.class"); - if(f.exists() && !f.isDirectory()) { - f.delete(); - } - compiler.generateBytecode(); - f = new File(rootDirectory + "subpackage1/Test1.class"); - f2 = new File(rootDirectory + "subpackage2/Test2.class"); - assertTrue(f.exists()); - assertTrue(f2.exists()); - } + * Dieser Test wird übersprungen, da der Bytecode-Generator nicht mit zwei Eingabedateien gleichzeitig umgehen kann + * + * @Test public void testCorrectFolder2Files() throws IOException, ClassNotFoundException { JavaTXCompiler compiler = new JavaTXCompiler(Arrays.asList( new File(rootDirectory+"subpackage1/Test1.jav"), new File(rootDirectory+"subpackage2/Test2.jav") )); compiler.typeInference(); File f = new File(rootDirectory + "subpackage1/Test1.class"); if(f.exists() && !f.isDirectory()) { f.delete(); } File f2 = new File(rootDirectory + "subpackage2/Test2.class"); if(f.exists() && !f.isDirectory()) { + * f.delete(); } compiler.generateBytecode(); f = new File(rootDirectory + "subpackage1/Test1.class"); f2 = new File(rootDirectory + "subpackage2/Test2.class"); assertTrue(f.exists()); assertTrue(f2.exists()); } */ } diff --git a/src/test/java/packages/ConsoleInterfaceTest.java b/src/test/java/packages/ConsoleInterfaceTest.java index 658455af..e9442d50 100644 --- a/src/test/java/packages/ConsoleInterfaceTest.java +++ b/src/test/java/packages/ConsoleInterfaceTest.java @@ -11,16 +11,16 @@ import java.net.URLClassLoader; public class ConsoleInterfaceTest extends TestCase { - public static final String rootDirectory = System.getProperty("user.dir")+"/resources/javFiles/packageTest/"; + public static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/"; @Test public void testCompileSingleJavFile() throws Exception { File f = new File(rootDirectory + "de/test/TestClass.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } - ConsoleInterface.main(new String[]{rootDirectory + "de/test/TestClass.jav"}); + ConsoleInterface.main(new String[] { rootDirectory + "de/test/TestClass.jav" }); f = new File(rootDirectory + "de/test/TestClass.class"); assertTrue(f.exists()); @@ -29,11 +29,11 @@ public class ConsoleInterfaceTest extends TestCase { @Test public void testCompileSingleJavFileWithOutputDirectory() throws Exception { File f = new File(rootDirectory + "de/test/output/de/test/TestClass.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } - ConsoleInterface.main(new String[]{"-d", rootDirectory + "de/test/output/" ,rootDirectory + "de/test/TestClass.jav"}); + ConsoleInterface.main(new String[] { "-d", rootDirectory + "de/test/output/", rootDirectory + "de/test/TestClass.jav" }); f = new File(rootDirectory + "de/test/output/de/test/TestClass.class"); assertTrue(f.exists()); @@ -41,18 +41,18 @@ public class ConsoleInterfaceTest extends TestCase { @Test public void testCpNotEndsWithSlash() throws Exception { - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"/de/test/ToImport.jav")); + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "/de/test/ToImport.jav")); compiler.typeInference(); compiler.generateBytecode(rootDirectory + "output/"); File f = new File(rootDirectory + "output/de/test/ToImport.class"); assertTrue(f.exists()); f = new File(rootDirectory + "de/test/ImportTest.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } - ConsoleInterface.main(new String[]{"-cp", rootDirectory + "de/test/output" , rootDirectory + "de/test/ImportTest.jav"}); + ConsoleInterface.main(new String[] { "-cp", rootDirectory + "de/test/output", rootDirectory + "de/test/ImportTest.jav" }); f = new File(rootDirectory + "de/test/ImportTest.class"); assertTrue(f.exists()); @@ -61,11 +61,11 @@ public class ConsoleInterfaceTest extends TestCase { @Test public void testOutputDirNotEndsWithSlash() throws Exception { File f = new File(rootDirectory + "de/test/output/de/test/TestClass.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } - ConsoleInterface.main(new String[]{"-d", rootDirectory + "de/test/output" ,rootDirectory + "de/test/TestClass.jav"}); + ConsoleInterface.main(new String[] { "-d", rootDirectory + "de/test/output", rootDirectory + "de/test/TestClass.jav" }); f = new File(rootDirectory + "de/test/output/de/test/TestClass.class"); assertTrue(f.exists()); @@ -73,18 +73,18 @@ public class ConsoleInterfaceTest extends TestCase { @Test public void testCompileSingleJavFileWithClassPath() throws Exception { - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"/de/test/ToImport.jav")); + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "/de/test/ToImport.jav")); compiler.typeInference(); compiler.generateBytecode(rootDirectory + "output/"); File f = new File(rootDirectory + "output/de/test/ToImport.class"); assertTrue(f.exists()); f = new File(rootDirectory + "de/test/ImportTest.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } - ConsoleInterface.main(new String[]{"-cp", rootDirectory + "de/test/output/" ,rootDirectory + "de/test/ImportTest.jav"}); + ConsoleInterface.main(new String[] { "-cp", rootDirectory + "de/test/output/", rootDirectory + "de/test/ImportTest.jav" }); f = new File(rootDirectory + "de/test/ImportTest.class"); assertTrue(f.exists()); @@ -92,19 +92,18 @@ public class ConsoleInterfaceTest extends TestCase { @Test public void testCompileSingleJavFileWithMultipleClassPath() throws Exception { - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"/de/test/ToImport.jav")); + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "/de/test/ToImport.jav")); compiler.typeInference(); compiler.generateBytecode(rootDirectory + "output/"); File f = new File(rootDirectory + "output/de/test/ToImport.class"); assertTrue(f.exists()); f = new File(rootDirectory + "de/test/ImportTest.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } - ConsoleInterface.main(new String[]{"-cp", rootDirectory + "de/test/output/:"+rootDirectory+"de", - rootDirectory + "de/test/ImportTest.jav"}); + ConsoleInterface.main(new String[] { "-cp", rootDirectory + "de/test/output/:" + rootDirectory + "de", rootDirectory + "de/test/ImportTest.jav" }); f = new File(rootDirectory + "de/test/ImportTest.class"); assertTrue(f.exists()); @@ -112,19 +111,18 @@ public class ConsoleInterfaceTest extends TestCase { @Test public void testCompileSingleJavFileWithClassPathAndOutputDir() throws Exception { - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"/de/test/ToImport.jav")); + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "/de/test/ToImport.jav")); compiler.typeInference(); compiler.generateBytecode(rootDirectory + "output/"); File f = new File(rootDirectory + "output/de/test/ToImport.class"); assertTrue(f.exists()); f = new File(rootDirectory + "de/test/output/de/test/ImportTest.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } - ConsoleInterface.main(new String[]{"-cp", rootDirectory + "de/test/output/", - "-d"+rootDirectory + "de/test/output/" ,rootDirectory + "de/test/ImportTest.jav"}); + ConsoleInterface.main(new String[] { "-cp", rootDirectory + "de/test/output/", "-d" + rootDirectory + "de/test/output/", rootDirectory + "de/test/ImportTest.jav" }); f = new File(rootDirectory + "de/test/output/de/test/ImportTest.class"); assertTrue(f.exists()); diff --git a/src/test/java/packages/ImportTest.java b/src/test/java/packages/ImportTest.java index c6fc6e2e..cf8ff08b 100644 --- a/src/test/java/packages/ImportTest.java +++ b/src/test/java/packages/ImportTest.java @@ -12,32 +12,31 @@ import java.net.URL; public class ImportTest extends TestCase { - public static final String rootDirectory = System.getProperty("user.dir")+"/resources/javFiles/packageTest/de/test/"; - + public static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/de/test/"; public ImportTest() throws ClassNotFoundException, IOException { /* - Generate ToImport class in rootDirectory and in output-Directory + * Generate ToImport class in rootDirectory and in output-Directory */ - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"ToImport.jav")); + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "ToImport.jav")); compiler.typeInference(); compiler.generateBytecode(rootDirectory + "output/"); File f = new File(rootDirectory + "output/de/test/ToImport.class"); assertTrue(f.exists()); - compiler = new JavaTXCompiler(new File(rootDirectory+"ToImport.jav")); + compiler = new JavaTXCompiler(new File(rootDirectory + "ToImport.jav")); compiler.typeInference(); compiler.generateBytecode(); f = new File(rootDirectory + "ToImport.class"); assertTrue(f.exists()); - compiler = new JavaTXCompiler(new File(rootDirectory+"subpackage1/ToImport2.jav")); + compiler = new JavaTXCompiler(new File(rootDirectory + "subpackage1/ToImport2.jav")); compiler.typeInference(); compiler.generateBytecode(rootDirectory + "output/"); f = new File(rootDirectory + "output/de/test/subpackage1/ToImport2.class"); assertTrue(f.exists()); - compiler = new JavaTXCompiler(new File(rootDirectory+"subpackage2/ToImport3.jav")); + compiler = new JavaTXCompiler(new File(rootDirectory + "subpackage2/ToImport3.jav")); compiler.typeInference(); compiler.generateBytecode(rootDirectory + "output/"); f = new File(rootDirectory + "output/de/test/subpackage2/ToImport3.class"); @@ -46,12 +45,10 @@ public class ImportTest extends TestCase { @Test public void testSetPackageNameInBytecodeAndOutputFolder() throws IOException, ClassNotFoundException { - JavaTXCompiler compiler = new JavaTXCompiler( - Lists.newArrayList(new File(rootDirectory+"ImportTest.jav")), - Lists.newArrayList(new File(rootDirectory+"output/"))); + JavaTXCompiler compiler = new JavaTXCompiler(Lists.newArrayList(new File(rootDirectory + "ImportTest.jav")), Lists.newArrayList(new File(rootDirectory + "output/"))); compiler.typeInference(); File f = new File(rootDirectory + "output/de/test/ImportTest.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } compiler.generateBytecode(rootDirectory + "output/"); @@ -61,12 +58,10 @@ public class ImportTest extends TestCase { @Test public void testSetPackageNameInBytecodeAndStandardOutputFolder() throws IOException, ClassNotFoundException { - JavaTXCompiler compiler = new JavaTXCompiler( - Lists.newArrayList(new File(rootDirectory+"ImportTest.jav")), - Lists.newArrayList(new File(rootDirectory+"output/"))); + JavaTXCompiler compiler = new JavaTXCompiler(Lists.newArrayList(new File(rootDirectory + "ImportTest.jav")), Lists.newArrayList(new File(rootDirectory + "output/"))); compiler.typeInference(); File f = new File(rootDirectory + "ImportTest.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } compiler.generateBytecode(); @@ -74,15 +69,12 @@ public class ImportTest extends TestCase { assertTrue(f.exists()); } - @Test public void testImportTwoClasses() throws IOException, ClassNotFoundException { - JavaTXCompiler compiler = new JavaTXCompiler( - Lists.newArrayList(new File(rootDirectory+"ImportTest2.jav")), - Lists.newArrayList(new File(rootDirectory+"output/"))); + JavaTXCompiler compiler = new JavaTXCompiler(Lists.newArrayList(new File(rootDirectory + "ImportTest2.jav")), Lists.newArrayList(new File(rootDirectory + "output/"))); compiler.typeInference(); File f = new File(rootDirectory + "ImportTest2.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } compiler.generateBytecode(); @@ -92,11 +84,10 @@ public class ImportTest extends TestCase { @Test public void testImportDefaultPackage() throws IOException, ClassNotFoundException { - JavaTXCompiler compiler = new JavaTXCompiler( - Lists.newArrayList(new File(rootDirectory+"ImportTestDefault.jav"))); + JavaTXCompiler compiler = new JavaTXCompiler(Lists.newArrayList(new File(rootDirectory + "ImportTestDefault.jav"))); compiler.typeInference(); File f = new File(rootDirectory + "ImportTestDefault.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } compiler.generateBytecode(); @@ -104,5 +95,4 @@ public class ImportTest extends TestCase { assertTrue(f.exists()); } - } diff --git a/src/test/java/packages/LoadDefaultPackageClassesTest.java b/src/test/java/packages/LoadDefaultPackageClassesTest.java index c8bd3205..b88dfb22 100644 --- a/src/test/java/packages/LoadDefaultPackageClassesTest.java +++ b/src/test/java/packages/LoadDefaultPackageClassesTest.java @@ -13,7 +13,7 @@ import java.net.URLClassLoader; public class LoadDefaultPackageClassesTest extends TestCase { - public static final String rootDirectory = System.getProperty("user.dir") + "/resources/javFiles/packageTest/"; + public static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/"; public LoadDefaultPackageClassesTest() throws ClassNotFoundException, IOException { /* @@ -35,14 +35,8 @@ public class LoadDefaultPackageClassesTest extends TestCase { cl.loadClass("Gen"); } /* - * public void testE2E() throws IOException, ClassNotFoundException { - * JavaTXCompiler compiler = new JavaTXCompiler(new - * File(rootDirectory+"OL.jav")); compiler.typeInference(); - * compiler.generateBytecode(); File f = new File(rootDirectory + "OL.class"); - * assertTrue(f.exists()); + * public void testE2E() throws IOException, ClassNotFoundException { JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"OL.jav")); compiler.typeInference(); compiler.generateBytecode(); File f = new File(rootDirectory + "OL.class"); assertTrue(f.exists()); * - * compiler = new JavaTXCompiler(new File(rootDirectory+"OLMain.jav")); - * compiler.typeInference(); compiler.generateBytecode(); f = new - * File(rootDirectory + "OLMain.class"); assertTrue(f.exists()); } + * compiler = new JavaTXCompiler(new File(rootDirectory+"OLMain.jav")); compiler.typeInference(); compiler.generateBytecode(); f = new File(rootDirectory + "OLMain.class"); assertTrue(f.exists()); } */ } diff --git a/src/test/java/packages/OLOneFileTest.java b/src/test/java/packages/OLOneFileTest.java index 9050d133..12ce6896 100644 --- a/src/test/java/packages/OLOneFileTest.java +++ b/src/test/java/packages/OLOneFileTest.java @@ -31,20 +31,18 @@ public class OLOneFileTest { private static Object instanceOfClass1; private static Object instanceOfClass2; - public static final String rootDirectory = System.getProperty("user.dir")+"/resources/javFiles/packageTest/"; - + public static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/"; + @BeforeClass public static void setUpBeforeClass() throws Exception { - path = rootDirectory +"OLOneFile.jav"; + path = rootDirectory + "OLOneFile.jav"; fileToTest = new File(path); - compiler = new JavaTXCompiler( - Lists.newArrayList(fileToTest), - Lists.newArrayList(new File(rootDirectory+"de/test/output/"))); - pathToClassFile = System.getProperty("user.dir")+"/resources/javFiles/packageTest/"; + compiler = new JavaTXCompiler(Lists.newArrayList(fileToTest), Lists.newArrayList(new File(rootDirectory + "de/test/output/"))); + pathToClassFile = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/"; List typeinferenceResult = compiler.typeInference(); - //List simplifyResultsForAllSourceFiles = compiler.getGeneratedGenericResultsForAllSourceFiles(typeinferenceResult); - //compiler.generateBytecode(new File(pathToClassFile),typeinferenceResult,simplifyResultsForAllSourceFiles); - loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile)}); + // List simplifyResultsForAllSourceFiles = compiler.getGeneratedGenericResultsForAllSourceFiles(typeinferenceResult); + // compiler.generateBytecode(new File(pathToClassFile),typeinferenceResult,simplifyResultsForAllSourceFiles); + loader = new URLClassLoader(new URL[] { new URL("file://" + pathToClassFile) }); classToTest = loader.loadClass("OLOneFile"); instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); classToTest1 = loader.loadClass("OLextendsOneFile"); @@ -52,78 +50,78 @@ public class OLOneFileTest { classToTest2 = loader.loadClass("OLMainOneFile"); instanceOfClass2 = classToTest2.getDeclaredConstructor().newInstance(); } - + @Test public void testOLClassName() { assertEquals("OLOneFile", classToTest.getName()); } - + @Test public void testmInt() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method m = classToTest.getDeclaredMethod("m2", Integer.class); Integer result = (Integer) m.invoke(instanceOfClass, 5); assertEquals(new Integer(10), result); } - + @Test public void testmDouble() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method m = classToTest.getDeclaredMethod("m2", Double.class); Double result = (Double) m.invoke(instanceOfClass, 5.0); assertEquals(new Double(10.0), result); } - + @Test public void testmString() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method m = classToTest.getDeclaredMethod("m2", String.class); String result = (String) m.invoke(instanceOfClass, "xxx"); assertEquals("xxxxxx", result); } - + @Test public void testOLextendsClassName() { assertEquals("OLextendsOneFile", classToTest1.getName()); } - + @Test public void testextendsInt() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method main = classToTest1.getMethod("m2", Integer.class); Integer result = (Integer) main.invoke(instanceOfClass1, 5); assertEquals(new Integer(10), result); } - + @Test public void testextendsDouble() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method main = classToTest1.getMethod("m2", Double.class); Double result = (Double) main.invoke(instanceOfClass1, 5.0); assertEquals(new Double(10.0), result); } - + @Test public void testextendsString() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method main = classToTest1.getMethod("m2", String.class); String result = (String) main.invoke(instanceOfClass1, "xxx"); assertEquals("xxxxxx", result); } - + @Test public void testOLMainClassName() { assertEquals("OLMainOneFile", classToTest2.getName()); } - + @Test public void testmainInt() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method main = classToTest2.getDeclaredMethod("main", Integer.class); Integer result = (Integer) main.invoke(instanceOfClass2, 5); assertEquals(new Integer(10), result); } - + @Test public void testmainDouble() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method main = classToTest2.getDeclaredMethod("main", Double.class); Double result = (Double) main.invoke(instanceOfClass2, 5.0); assertEquals(new Double(10.0), result); } - + @Test public void testmainString() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method main = classToTest2.getDeclaredMethod("main", String.class); diff --git a/src/test/java/packages/OLTest.java b/src/test/java/packages/OLTest.java index ea3f9c1b..1bf9d83e 100644 --- a/src/test/java/packages/OLTest.java +++ b/src/test/java/packages/OLTest.java @@ -30,114 +30,110 @@ public class OLTest { private static Object instanceOfClass; private static Object instanceOfClass1; private static Object instanceOfClass2; - - public static final String rootDirectory = System.getProperty("user.dir")+"/resources/javFiles/packageTest"; - + + public static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest"; + @BeforeClass public static void setUpBeforeClass() throws Exception { - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"/de/test/OL.jav")); - compiler.typeInference(); - compiler.generateBytecode(rootDirectory + "/de/test/output/"); - loader = new URLClassLoader(new URL[] {new URL("file://"+ rootDirectory + "/de/test/output/")}); - classToTest = loader.loadClass("de.test.OL"); - instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); - - path = System.getProperty("user.dir")+"/resources/javFiles/packageTest/OLextends.jav"; + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "/de/test/OL.jav")); + compiler.typeInference(); + compiler.generateBytecode(rootDirectory + "/de/test/output/"); + loader = new URLClassLoader(new URL[] { new URL("file://" + rootDirectory + "/de/test/output/") }); + classToTest = loader.loadClass("de.test.OL"); + instanceOfClass = classToTest.getDeclaredConstructor().newInstance(); + + path = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/OLextends.jav"; fileToTest = new File(path); - compiler = new JavaTXCompiler( - Lists.newArrayList(new File(rootDirectory+"/OLextends.jav")), - Lists.newArrayList(new File(rootDirectory+"/de/test/output/"))); - //compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/resources/javFiles/packageTest/"; + compiler = new JavaTXCompiler(Lists.newArrayList(new File(rootDirectory + "/OLextends.jav")), Lists.newArrayList(new File(rootDirectory + "/de/test/output/"))); + // compiler = new JavaTXCompiler(fileToTest); + pathToClassFile = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/"; compiler.generateBytecode(pathToClassFile); - loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile), new URL("file://"+ rootDirectory + "/de/test/output/")}); + loader = new URLClassLoader(new URL[] { new URL("file://" + pathToClassFile), new URL("file://" + rootDirectory + "/de/test/output/") }); classToTest1 = loader.loadClass("OLextends"); instanceOfClass1 = classToTest1.getDeclaredConstructor().newInstance(); - - path = System.getProperty("user.dir")+"/resources/javFiles/packageTest/OLMain.jav"; + + path = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/OLMain.jav"; fileToTest = new File(path); - compiler = new JavaTXCompiler( - Lists.newArrayList(new File(rootDirectory+"/OLMain.jav")), - Lists.newArrayList(new File(rootDirectory+"/de/test/output/"))); - //compiler = new JavaTXCompiler(fileToTest); - pathToClassFile = System.getProperty("user.dir")+"/resources/javFiles/packageTest/"; + compiler = new JavaTXCompiler(Lists.newArrayList(new File(rootDirectory + "/OLMain.jav")), Lists.newArrayList(new File(rootDirectory + "/de/test/output/"))); + // compiler = new JavaTXCompiler(fileToTest); + pathToClassFile = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/"; compiler.generateBytecode(pathToClassFile); - loader = new URLClassLoader(new URL[] {new URL("file://"+pathToClassFile), new URL("file://"+ rootDirectory + "/de/test/output/")}); + loader = new URLClassLoader(new URL[] { new URL("file://" + pathToClassFile), new URL("file://" + rootDirectory + "/de/test/output/") }); classToTest2 = loader.loadClass("OLMain"); instanceOfClass2 = classToTest2.getDeclaredConstructor().newInstance(); } - + @Test public void testOLClassName() { assertEquals("de.test.OL", classToTest.getName()); } - + @Test public void testmInt() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method m = classToTest.getDeclaredMethod("m", Integer.class); Integer result = (Integer) m.invoke(instanceOfClass, 5); assertEquals(new Integer(10), result); } - + @Test public void testmDouble() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method m = classToTest.getDeclaredMethod("m", Double.class); Double result = (Double) m.invoke(instanceOfClass, 5.0); assertEquals(new Double(10.0), result); } - + @Test public void testmString() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method m = classToTest.getDeclaredMethod("m", String.class); String result = (String) m.invoke(instanceOfClass, "xxx"); assertEquals("xxxxxx", result); } - + @Test public void testOLextendsClassName() { assertEquals("OLextends", classToTest1.getName()); } - + @Test public void testextendsInt() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method main = classToTest1.getMethod("m", Integer.class); Integer result = (Integer) main.invoke(instanceOfClass1, 5); assertEquals(new Integer(10), result); } - + @Test public void testextendsDouble() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method main = classToTest1.getMethod("m", Double.class); Double result = (Double) main.invoke(instanceOfClass1, 5.0); assertEquals(new Double(10.0), result); } - + @Test public void testextendsString() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method main = classToTest1.getMethod("m", String.class); String result = (String) main.invoke(instanceOfClass1, "xxx"); assertEquals("xxxxxx", result); } - + @Test public void testOLMainClassName() { assertEquals("OLMain", classToTest2.getName()); } - + @Test public void testmainInt() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method main = classToTest2.getDeclaredMethod("main", Integer.class); Integer result = (Integer) main.invoke(instanceOfClass2, 5); assertEquals(new Integer(10), result); } - + @Test public void testmainDouble() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method main = classToTest2.getDeclaredMethod("main", Double.class); Double result = (Double) main.invoke(instanceOfClass2, 5.0); assertEquals(new Double(10.0), result); } - + @Test public void testmainString() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Method main = classToTest2.getDeclaredMethod("main", String.class); diff --git a/src/test/java/packages/ParsePackageName.java b/src/test/java/packages/ParsePackageName.java index ba5abac7..d674e310 100644 --- a/src/test/java/packages/ParsePackageName.java +++ b/src/test/java/packages/ParsePackageName.java @@ -9,11 +9,12 @@ import java.io.IOException; public class ParsePackageName { - public static final String rootDirectory = System.getProperty("user.dir")+"/resources/javFiles/packageTest/de/test/"; + public static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/de/test/"; + @Test public void parsePackage() throws IOException, ClassNotFoundException { - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"TestClass.jav")); - for(File f : compiler.sourceFiles.keySet()){ + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "TestClass.jav")); + for (File f : compiler.sourceFiles.keySet()) { SourceFile sf = compiler.sourceFiles.get(f); assert sf.getPkgName().equals("de.test"); } diff --git a/src/test/java/packages/mathStrucMatrixOPTest.java.txt b/src/test/java/packages/mathStrucMatrixOPTest.java.txt index c9c24969..f383a2b8 100644 --- a/src/test/java/packages/mathStrucMatrixOPTest.java.txt +++ b/src/test/java/packages/mathStrucMatrixOPTest.java.txt @@ -12,7 +12,7 @@ import java.net.URL; public class mathStrucMatrixOPTest extends TestCase { - public static final String rootDirectory = System.getProperty("user.dir")+"/resources/javFiles/packageTest/de/test/"; + public static final String rootDirectory = System.getProperty("user.dir")+"/src/test/resources/javFiles/packageTest/de/test/"; public mathStrucMatrixOPTest() throws ClassNotFoundException, IOException { diff --git a/src/test/java/packages/mathStrucVectorTest.java b/src/test/java/packages/mathStrucVectorTest.java index 0d299d7b..c2bbc398 100644 --- a/src/test/java/packages/mathStrucVectorTest.java +++ b/src/test/java/packages/mathStrucVectorTest.java @@ -12,37 +12,30 @@ import java.net.URL; public class mathStrucVectorTest extends TestCase { - public static final String rootDirectory = System.getProperty("user.dir")+"/resources/javFiles/packageTest/de/test/"; - + public static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/javFiles/packageTest/de/test/"; public mathStrucVectorTest() throws ClassNotFoundException, IOException { /* - Generate ToImport class in rootDirectory and in output-Directory + * Generate ToImport class in rootDirectory and in output-Directory */ -/* PL 2020-01-07 kann z.Zt. nicht erzeugt werden (siehe Bug 170, http://bugzilla.ba-horb.de/show_bug.cgi?id=170) - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"mathStruc.jav")); - compiler.typeInference(); - compiler.generateBytecode(rootDirectory + "output/"); - File f = new File(rootDirectory + "output/de/test/mathStruc.class"); - assertTrue(f.exists()); - */ - JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"vectorAdd.jav")); + /* + * PL 2020-01-07 kann z.Zt. nicht erzeugt werden (siehe Bug 170, http://bugzilla.ba-horb.de/show_bug.cgi?id=170) JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"mathStruc.jav")); compiler.typeInference(); compiler.generateBytecode(rootDirectory + "output/"); File f = new File(rootDirectory + "output/de/test/mathStruc.class"); assertTrue(f.exists()); + */ + JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory + "vectorAdd.jav")); compiler.typeInference(); compiler.generateBytecode(rootDirectory + "output/"); File f = new File(rootDirectory + "output/de/test/vectorAdd.class"); assertTrue(f.exists()); } - + @Test public void testSetPackageNameInBytecodeAndOutputFolder() throws IOException, ClassNotFoundException { - JavaTXCompiler compiler = new JavaTXCompiler( - Lists.newArrayList(new File(rootDirectory+"mathStrucVector.jav")), - Lists.newArrayList(new File(rootDirectory+"output/"))); + JavaTXCompiler compiler = new JavaTXCompiler(Lists.newArrayList(new File(rootDirectory + "mathStrucVector.jav")), Lists.newArrayList(new File(rootDirectory + "output/"))); compiler.typeInference(); File f = new File(rootDirectory + "output/de/test/mathStrucVector.class"); - if(f.exists() && !f.isDirectory()) { + if (f.exists() && !f.isDirectory()) { f.delete(); } compiler.generateBytecode(rootDirectory + "output/"); @@ -50,5 +43,4 @@ public class mathStrucVectorTest extends TestCase { assertTrue(f.exists()); } - } diff --git a/src/test/java/targetast/ASTToTypedTargetAST.java b/src/test/java/targetast/ASTToTypedTargetAST.java index 6d5a08c0..613267cf 100644 --- a/src/test/java/targetast/ASTToTypedTargetAST.java +++ b/src/test/java/targetast/ASTToTypedTargetAST.java @@ -24,9 +24,8 @@ import static org.junit.Assert.*; public class ASTToTypedTargetAST { @Test - public void emptyClass(){ - ClassOrInterface emptyClass = new ClassOrInterface(0, new JavaClassName("EmptyClass"), new ArrayList<>(), java.util.Optional.empty(), new ArrayList<>(), new ArrayList<>(), new GenericDeclarationList(new ArrayList<>(), new NullToken()), - new RefType(new JavaClassName("Object"), new NullToken()), false, new ArrayList<>(), new NullToken()); + public void emptyClass() { + ClassOrInterface emptyClass = new ClassOrInterface(0, new JavaClassName("EmptyClass"), new ArrayList<>(), java.util.Optional.empty(), new ArrayList<>(), new ArrayList<>(), new GenericDeclarationList(new ArrayList<>(), new NullToken()), new RefType(new JavaClassName("Object"), new NullToken()), false, new ArrayList<>(), new NullToken()); ResultSet emptyResultSet = new ResultSet(new HashSet<>()); TargetClass emptyTargetClass = new ASTToTargetAST(List.of(emptyResultSet)).convert(emptyClass); assert emptyTargetClass.getName().equals("EmptyClass"); @@ -36,7 +35,7 @@ public class ASTToTypedTargetAST { @Test public void overloading() throws Exception { - var file = Path.of(System.getProperty("user.dir"), "/resources/bytecode/javFiles/Overloading.jav").toFile(); + var file = Path.of(System.getProperty("user.dir"), "/src/test/resources/bytecode/javFiles/Overloading.jav").toFile(); var compiler = new JavaTXCompiler(file); var resultSet = compiler.typeInference(); var converter = new ASTToTargetAST(resultSet); @@ -58,7 +57,7 @@ public class ASTToTypedTargetAST { @Test public void tphsAndGenerics() throws Exception { - var file = Path.of(System.getProperty("user.dir"), "/resources/bytecode/javFiles/Tph2.jav").toFile(); + var file = Path.of(System.getProperty("user.dir"), "/src/test/resources/bytecode/javFiles/Tph2.jav").toFile(); var compiler = new JavaTXCompiler(file); var resultSet = compiler.typeInference(); var converter = new ASTToTargetAST(resultSet); @@ -69,7 +68,7 @@ public class ASTToTypedTargetAST { @Test public void cycles() throws Exception { - var file = Path.of(System.getProperty("user.dir"), "/resources/bytecode/javFiles/Cycle.jav").toFile(); + var file = Path.of(System.getProperty("user.dir"), "/src/test/resources/bytecode/javFiles/Cycle.jav").toFile(); var compiler = new JavaTXCompiler(file); var resultSet = compiler.typeInference(); var converter = new ASTToTargetAST(resultSet); @@ -80,7 +79,7 @@ public class ASTToTypedTargetAST { @Test public void infimum() throws Exception { - var file = Path.of(System.getProperty("user.dir"), "/resources/bytecode/javFiles/Infimum.jav").toFile(); + var file = Path.of(System.getProperty("user.dir"), "/src/test/resources/bytecode/javFiles/Infimum.jav").toFile(); var compiler = new JavaTXCompiler(file); var resultSet = compiler.typeInference(); var converter = new ASTToTargetAST(resultSet); @@ -91,7 +90,7 @@ public class ASTToTypedTargetAST { @Test public void gen() throws Exception { - var file = Path.of(System.getProperty("user.dir"), "/resources/bytecode/javFiles/Gen.jav").toFile(); + var file = Path.of(System.getProperty("user.dir"), "/src/test/resources/bytecode/javFiles/Gen.jav").toFile(); var compiler = new JavaTXCompiler(file); var resultSet = compiler.typeInference(); var converter = new ASTToTargetAST(resultSet); @@ -101,12 +100,13 @@ public class ASTToTypedTargetAST { var m = generics.getDeclaredMethod("m", Vector.class); var mReturnType = m.getGenericReturnType(); assertEquals(mReturnType, m.getParameters()[0].getParameterizedType()); - assertEquals(mReturnType, new TypeToken>(){}.getType()); + assertEquals(mReturnType, new TypeToken>() { + }.getType()); } @Test public void definedGenerics() throws Exception { - var file = Path.of(System.getProperty("user.dir"), "/resources/bytecode/javFiles/Generics.jav").toFile(); + var file = Path.of(System.getProperty("user.dir"), "/src/test/resources/bytecode/javFiles/Generics.jav").toFile(); var compiler = new JavaTXCompiler(file); var resultSet = compiler.typeInference(); var converter = new ASTToTargetAST(resultSet); @@ -124,7 +124,7 @@ public class ASTToTypedTargetAST { @Test public void definedGenerics2() throws Exception { - var file = Path.of(System.getProperty("user.dir"), "/resources/bytecode/javFiles/Generics2.jav").toFile(); + var file = Path.of(System.getProperty("user.dir"), "/src/test/resources/bytecode/javFiles/Generics2.jav").toFile(); var compiler = new JavaTXCompiler(file); var resultSet = compiler.typeInference(); var converter = new ASTToTargetAST(resultSet); @@ -140,7 +140,7 @@ public class ASTToTypedTargetAST { @Test @Ignore("Not implemented") public void definedGenerics3() throws Exception { - var file = Path.of(System.getProperty("user.dir"), "/resources/bytecode/javFiles/Generics3.jav").toFile(); + var file = Path.of(System.getProperty("user.dir"), "/src/test/resources/bytecode/javFiles/Generics3.jav").toFile(); var compiler = new JavaTXCompiler(file); var resultSet = compiler.typeInference(); var converter = new ASTToTargetAST(resultSet); @@ -151,7 +151,7 @@ public class ASTToTypedTargetAST { @Test public void definedGenerics4() throws Exception { - var file = Path.of(System.getProperty("user.dir"), "/resources/bytecode/javFiles/Generics4.jav").toFile(); + var file = Path.of(System.getProperty("user.dir"), "/src/test/resources/bytecode/javFiles/Generics4.jav").toFile(); var compiler = new JavaTXCompiler(file); var resultSet = compiler.typeInference(); var converter = new ASTToTargetAST(resultSet); @@ -159,8 +159,8 @@ public class ASTToTypedTargetAST { var generics4 = TestCodegen.generateClass(converter.convert(classes.get(0)), new ByteArrayClassLoader()); - //var instance = generics4.getDeclaredConstructor().newInstance(); - //var method = generics4.getDeclaredMethod("m2", Object.class); - //method.invoke(instance, new Object()); + // var instance = generics4.getDeclaredConstructor().newInstance(); + // var method = generics4.getDeclaredMethod("m2", Object.class); + // method.invoke(instance, new Object()); } } diff --git a/src/test/java/targetast/TestCodegen.java b/src/test/java/targetast/TestCodegen.java index 73d3dfdf..ca6a0bfe 100644 --- a/src/test/java/targetast/TestCodegen.java +++ b/src/test/java/targetast/TestCodegen.java @@ -25,341 +25,178 @@ import java.util.Map; import java.util.function.Function; import java.util.stream.Collectors; - public class TestCodegen { - private static void writeClassFile(String name, byte[] code) throws IOException { - var path = Path.of(System.getProperty("user.dir"), "src/test/resources/target/"); - Files.createDirectories(path); - Files.write(path.resolve(name + ".class"), code); - } - - public static Class generateClass(TargetClass clazz, IByteArrayClassLoader classLoader) throws IOException { - var codegen = new Codegen(clazz); - var code = codegen.generate(); - writeClassFile(clazz.qualifiedName(), code); - return classLoader.loadClass(code); - } - - public static Map> generateClassFiles(String filename, IByteArrayClassLoader classLoader) throws IOException, ClassNotFoundException { - var file = Path.of(System.getProperty("user.dir"), "/resources/bytecode/javFiles/", filename).toFile(); - var compiler = new JavaTXCompiler(List.of(file), List.of(file.getParentFile())); - var resultSet = compiler.typeInference(); - - var sourceFile = compiler.sourceFiles.get(file); - var converter = new ASTToTargetAST(resultSet, sourceFile, classLoader); - var classes = compiler.sourceFiles.get(file).getClasses(); - - var result = classes.stream().map(cli -> { - try { - return generateClass(converter.convert(cli), classLoader); - } catch (IOException exception) { - throw new RuntimeException(exception); - } - }).collect(Collectors.toMap(Class::getName, Function.identity())); - - for (var entry : converter.auxiliaries.entrySet()) { - writeClassFile(entry.getKey(), entry.getValue()); + private static void writeClassFile(String name, byte[] code) throws IOException { + var path = Path.of(System.getProperty("user.dir"), "src/test/resources/target/"); + Files.createDirectories(path); + Files.write(path.resolve(name + ".class"), code); } - return result; - } + public static Class generateClass(TargetClass clazz, IByteArrayClassLoader classLoader) throws IOException { + var codegen = new Codegen(clazz); + var code = codegen.generate(); + writeClassFile(clazz.qualifiedName(), code); + return classLoader.loadClass(code); + } - @Test - public void testEmptyClass() throws Exception { - var clazz = new TargetClass(Opcodes.ACC_PUBLIC, "Empty"); - clazz.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "main", List.of(), null, new TargetBlock(List.of())); - generateClass(clazz, new ByteArrayClassLoader()).getDeclaredMethod("main").invoke(null); - } + public static Map> generateClassFiles(String filename, IByteArrayClassLoader classLoader) throws IOException, ClassNotFoundException { + var file = Path.of(System.getProperty("user.dir"), "/src/test/resources/bytecode/javFiles/", filename).toFile(); + var compiler = new JavaTXCompiler(List.of(file), List.of(file.getParentFile())); + var resultSet = compiler.typeInference(); - @Test - public void testArithmetic() throws Exception { - var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "Arithmetic"); + var sourceFile = compiler.sourceFiles.get(file); + var converter = new ASTToTargetAST(resultSet, sourceFile, classLoader); + var classes = compiler.sourceFiles.get(file).getClasses(); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "add", - List.of(new MethodParameter(TargetType.Integer, "a"), new MethodParameter(TargetType.Integer, "b")), - TargetType.Integer, - new TargetBlock(List.of(new TargetReturn( - new TargetBinaryOp.Add(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"), new TargetLocalVar(TargetType.Integer, "b"))) - )) - ); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "sub", - List.of(new MethodParameter(TargetType.Integer, "a"), new MethodParameter(TargetType.Integer, "b")), - TargetType.Integer, - new TargetBlock(List.of(new TargetReturn( - new TargetBinaryOp.Sub(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"), new TargetLocalVar(TargetType.Integer, "b"))) - )) - ); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "div", - List.of(new MethodParameter(TargetType.Integer, "a"), new MethodParameter(TargetType.Integer, "b")), - TargetType.Integer, - new TargetBlock(List.of(new TargetReturn( - new TargetBinaryOp.Div(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"), new TargetLocalVar(TargetType.Integer, "b"))) - )) - ); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "mul", - List.of(new MethodParameter(TargetType.Integer, "a"), new MethodParameter(TargetType.Integer, "b")), - TargetType.Integer, - new TargetBlock(List.of(new TargetReturn( - new TargetBinaryOp.Mul(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"), new TargetLocalVar(TargetType.Integer, "b"))) - )) - ); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "rem", - List.of(new MethodParameter(TargetType.Integer, "a"), new MethodParameter(TargetType.Integer, "b")), - TargetType.Integer, - new TargetBlock(List.of(new TargetReturn( - new TargetBinaryOp.Rem(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"), new TargetLocalVar(TargetType.Integer, "b"))) - )) - ); + var result = classes.stream().map(cli -> { + try { + return generateClass(converter.convert(cli), classLoader); + } catch (IOException exception) { + throw new RuntimeException(exception); + } + }).collect(Collectors.toMap(Class::getName, Function.identity())); + for (var entry : converter.auxiliaries.entrySet()) { + writeClassFile(entry.getKey(), entry.getValue()); + } - var clazz = generateClass(targetClass, new ByteArrayClassLoader()); - assertEquals(clazz.getDeclaredMethod("add", Integer.class, Integer.class).invoke(null, 10, 10), 20); - assertEquals(clazz.getDeclaredMethod("sub", Integer.class, Integer.class).invoke(null, 20, 10), 10); - assertEquals(clazz.getDeclaredMethod("div", Integer.class, Integer.class).invoke(null, 20, 10), 2); - assertEquals(clazz.getDeclaredMethod("mul", Integer.class, Integer.class).invoke(null, 20, 10), 200); - assertEquals(clazz.getDeclaredMethod("rem", Integer.class, Integer.class).invoke(null, 10, 3), 1); - } + return result; + } - @Test - public void testUnary() throws Exception { - var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "Unary"); + @Test + public void testEmptyClass() throws Exception { + var clazz = new TargetClass(Opcodes.ACC_PUBLIC, "Empty"); + clazz.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "main", List.of(), null, new TargetBlock(List.of())); + generateClass(clazz, new ByteArrayClassLoader()).getDeclaredMethod("main").invoke(null); + } - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "not", - List.of(new MethodParameter(TargetType.Integer, "a")), - TargetType.Integer, - new TargetBlock(List.of(new TargetReturn( - new TargetUnaryOp.Not(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"))) - )) - ); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "neg", - List.of(new MethodParameter(TargetType.Integer, "a")), - TargetType.Integer, - new TargetBlock(List.of(new TargetReturn( - new TargetUnaryOp.Negate(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"))) - )) - ); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "add", - List.of(new MethodParameter(TargetType.Integer, "a")), - TargetType.Integer, - new TargetBlock(List.of(new TargetReturn( - new TargetUnaryOp.Add(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"))) - )) - ); + @Test + public void testArithmetic() throws Exception { + var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "Arithmetic"); - var clazz = generateClass(targetClass, new ByteArrayClassLoader()); - assertEquals(clazz.getDeclaredMethod("not", Integer.class).invoke(null, 10), -11); - assertEquals(clazz.getDeclaredMethod("neg", Integer.class).invoke(null, 10), -10); - assertEquals(clazz.getDeclaredMethod("add", Integer.class).invoke(null, 10), 10); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "add", List.of(new MethodParameter(TargetType.Integer, "a"), new MethodParameter(TargetType.Integer, "b")), TargetType.Integer, new TargetBlock(List.of(new TargetReturn(new TargetBinaryOp.Add(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"), new TargetLocalVar(TargetType.Integer, "b")))))); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "sub", List.of(new MethodParameter(TargetType.Integer, "a"), new MethodParameter(TargetType.Integer, "b")), TargetType.Integer, new TargetBlock(List.of(new TargetReturn(new TargetBinaryOp.Sub(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"), new TargetLocalVar(TargetType.Integer, "b")))))); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "div", List.of(new MethodParameter(TargetType.Integer, "a"), new MethodParameter(TargetType.Integer, "b")), TargetType.Integer, new TargetBlock(List.of(new TargetReturn(new TargetBinaryOp.Div(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"), new TargetLocalVar(TargetType.Integer, "b")))))); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "mul", List.of(new MethodParameter(TargetType.Integer, "a"), new MethodParameter(TargetType.Integer, "b")), TargetType.Integer, new TargetBlock(List.of(new TargetReturn(new TargetBinaryOp.Mul(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"), new TargetLocalVar(TargetType.Integer, "b")))))); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "rem", List.of(new MethodParameter(TargetType.Integer, "a"), new MethodParameter(TargetType.Integer, "b")), TargetType.Integer, new TargetBlock(List.of(new TargetReturn(new TargetBinaryOp.Rem(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a"), new TargetLocalVar(TargetType.Integer, "b")))))); - } + var clazz = generateClass(targetClass, new ByteArrayClassLoader()); + assertEquals(clazz.getDeclaredMethod("add", Integer.class, Integer.class).invoke(null, 10, 10), 20); + assertEquals(clazz.getDeclaredMethod("sub", Integer.class, Integer.class).invoke(null, 20, 10), 10); + assertEquals(clazz.getDeclaredMethod("div", Integer.class, Integer.class).invoke(null, 20, 10), 2); + assertEquals(clazz.getDeclaredMethod("mul", Integer.class, Integer.class).invoke(null, 20, 10), 200); + assertEquals(clazz.getDeclaredMethod("rem", Integer.class, Integer.class).invoke(null, 10, 3), 1); + } - @Test - public void testConditional() throws Exception { - var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "Conditional"); + @Test + public void testUnary() throws Exception { + var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "Unary"); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "and", - List.of(new MethodParameter(TargetType.Boolean, "a"), new MethodParameter(TargetType.Boolean, "b")), - TargetType.Boolean, - new TargetBlock(List.of(new TargetReturn( - new TargetBinaryOp.And(TargetType.Boolean, new TargetLocalVar(TargetType.Boolean, "a"), new TargetLocalVar(TargetType.Boolean, "b"))) - )) - ); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "or", - List.of(new MethodParameter(TargetType.Boolean, "a"), new MethodParameter(TargetType.Boolean, "b")), - TargetType.Boolean, - new TargetBlock(List.of(new TargetReturn( - new TargetBinaryOp.Or(TargetType.Boolean, new TargetLocalVar(TargetType.Boolean, "a"), new TargetLocalVar(TargetType.Boolean, "b"))) - )) - ); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "not", List.of(new MethodParameter(TargetType.Integer, "a")), TargetType.Integer, new TargetBlock(List.of(new TargetReturn(new TargetUnaryOp.Not(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a")))))); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "neg", List.of(new MethodParameter(TargetType.Integer, "a")), TargetType.Integer, new TargetBlock(List.of(new TargetReturn(new TargetUnaryOp.Negate(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a")))))); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "add", List.of(new MethodParameter(TargetType.Integer, "a")), TargetType.Integer, new TargetBlock(List.of(new TargetReturn(new TargetUnaryOp.Add(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "a")))))); - var clazz = generateClass(targetClass, new ByteArrayClassLoader()); - var and = clazz.getDeclaredMethod("and", Boolean.class, Boolean.class); - var or = clazz.getDeclaredMethod("or", Boolean.class, Boolean.class); - assertEquals(and.invoke(null, true, false), false); - assertEquals(and.invoke(null, true, true), true); - assertEquals(or.invoke(null, false, false), false); - assertEquals(or.invoke(null, true, false), true); - } + var clazz = generateClass(targetClass, new ByteArrayClassLoader()); + assertEquals(clazz.getDeclaredMethod("not", Integer.class).invoke(null, 10), -11); + assertEquals(clazz.getDeclaredMethod("neg", Integer.class).invoke(null, 10), -10); + assertEquals(clazz.getDeclaredMethod("add", Integer.class).invoke(null, 10), 10); - // When adding two numbers and the return type is Long it needs to convert both values to Long - @Test - public void testArithmeticConvert() throws Exception { - var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "ArithmeticConvert"); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "add", List.of(), TargetType.Long, - new TargetBlock(List.of(new TargetReturn( - new TargetBinaryOp.Add(TargetType.Long, new TargetLiteral.CharLiteral((char)10), new TargetLiteral.LongLiteral((long)20)) - ))) - ); - var clazz = generateClass(targetClass, new ByteArrayClassLoader()); - assertEquals(clazz.getDeclaredMethod("add").invoke(null), (long)30); - } + } - @Test - public void testMethodCall() throws Exception { - var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "HelloWorld"); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "helloWorld", List.of(), null, - new TargetBlock(List.of(new TargetMethodCall(null, - new TargetFieldVar( - new TargetRefType("java.io.PrintStream"), - new TargetRefType("java.lang.System"), - true, - new TargetClassName(new TargetRefType("java.lang.System")), - "out" - ), - List.of(new TargetLiteral.StringLiteral("Hello World!")), - new TargetRefType("java.io.PrintStream"), - "println", - false, false - ))) - ); + @Test + public void testConditional() throws Exception { + var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "Conditional"); - var clazz = generateClass(targetClass, new ByteArrayClassLoader()); - clazz.getDeclaredMethod("helloWorld").invoke(null); - } + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "and", List.of(new MethodParameter(TargetType.Boolean, "a"), new MethodParameter(TargetType.Boolean, "b")), TargetType.Boolean, new TargetBlock(List.of(new TargetReturn(new TargetBinaryOp.And(TargetType.Boolean, new TargetLocalVar(TargetType.Boolean, "a"), new TargetLocalVar(TargetType.Boolean, "b")))))); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "or", List.of(new MethodParameter(TargetType.Boolean, "a"), new MethodParameter(TargetType.Boolean, "b")), TargetType.Boolean, new TargetBlock(List.of(new TargetReturn(new TargetBinaryOp.Or(TargetType.Boolean, new TargetLocalVar(TargetType.Boolean, "a"), new TargetLocalVar(TargetType.Boolean, "b")))))); - @Test - public void testIfStatement() throws Exception { - var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "IfStmt"); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "ifStmt", - List.of(new MethodParameter(TargetType.Integer, "val")), - TargetType.Integer, - new TargetBlock(List.of(new TargetIf( - new TargetBinaryOp.Equal(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "val"), new TargetLiteral.IntLiteral(10)), - new TargetReturn(new TargetLiteral.IntLiteral(1)), - new TargetIf( - new TargetBinaryOp.Less(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "val"), new TargetLiteral.IntLiteral(5)), - new TargetReturn(new TargetLiteral.IntLiteral(2)), - new TargetReturn(new TargetLiteral.IntLiteral(3)) - ) - ))) - ); - var clazz = generateClass(targetClass, new ByteArrayClassLoader()); - var ifStmt = clazz.getDeclaredMethod("ifStmt", Integer.class); - assertEquals(ifStmt.invoke(null, 10), 1); - assertEquals(ifStmt.invoke(null, 3), 2); - assertEquals(ifStmt.invoke(null, 20), 3); - } + var clazz = generateClass(targetClass, new ByteArrayClassLoader()); + var and = clazz.getDeclaredMethod("and", Boolean.class, Boolean.class); + var or = clazz.getDeclaredMethod("or", Boolean.class, Boolean.class); + assertEquals(and.invoke(null, true, false), false); + assertEquals(and.invoke(null, true, true), true); + assertEquals(or.invoke(null, false, false), false); + assertEquals(or.invoke(null, true, false), true); + } - @Test - public void testFor() throws Exception { - var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "For"); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "forLoop", List.of(), TargetType.Integer, - new TargetBlock(List.of( - new TargetVarDecl(TargetType.Integer, "sum", new TargetLiteral.IntLiteral(0)), - new TargetFor( - new TargetVarDecl(TargetType.Integer, "i", new TargetLiteral.IntLiteral(0)), - new TargetBinaryOp.Less(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "i"), new TargetLiteral.IntLiteral(10)), - new TargetAssign(TargetType.Integer, - new TargetLocalVar(TargetType.Integer, "i"), - new TargetBinaryOp.Add(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "i"), new TargetLiteral.IntLiteral(1))), - new TargetBlock(List.of( - new TargetAssign(TargetType.Integer, - new TargetLocalVar(TargetType.Integer, "sum"), - new TargetBinaryOp.Add(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "sum"), new TargetLocalVar(TargetType.Integer, "i")) - ) - )) - ), - new TargetReturn(new TargetLocalVar(TargetType.Integer, "sum")) - )) - ); - var clazz = generateClass(targetClass, new ByteArrayClassLoader()); - assertEquals(clazz.getDeclaredMethod("forLoop").invoke(null), 45); - } + // When adding two numbers and the return type is Long it needs to convert both values to Long + @Test + public void testArithmeticConvert() throws Exception { + var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "ArithmeticConvert"); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "add", List.of(), TargetType.Long, new TargetBlock(List.of(new TargetReturn(new TargetBinaryOp.Add(TargetType.Long, new TargetLiteral.CharLiteral((char) 10), new TargetLiteral.LongLiteral((long) 20)))))); + var clazz = generateClass(targetClass, new ByteArrayClassLoader()); + assertEquals(clazz.getDeclaredMethod("add").invoke(null), (long) 30); + } - @Test - public void testWhile() throws Exception { - var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "While"); - targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "whileLoop", List.of(), TargetType.Integer, - new TargetBlock(List.of( - new TargetVarDecl(TargetType.Integer, "i", new TargetLiteral.IntLiteral(0)), - new TargetWhile( - new TargetBinaryOp.Less(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "i"), new TargetLiteral.IntLiteral(10)), - new TargetBlock(List.of( - new TargetAssign(TargetType.Integer, - new TargetLocalVar(TargetType.Integer, "i"), - new TargetBinaryOp.Add(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "i"), new TargetLiteral.IntLiteral(1)) - ) - )) - ), - new TargetReturn(new TargetLocalVar(TargetType.Integer, "i")) - )) - ); - var clazz = generateClass(targetClass, new ByteArrayClassLoader()); - assertEquals(clazz.getDeclaredMethod("whileLoop").invoke(null), 10); - } + @Test + public void testMethodCall() throws Exception { + var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "HelloWorld"); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "helloWorld", List.of(), null, new TargetBlock(List.of(new TargetMethodCall(null, new TargetFieldVar(new TargetRefType("java.io.PrintStream"), new TargetRefType("java.lang.System"), true, new TargetClassName(new TargetRefType("java.lang.System")), "out"), List.of(new TargetLiteral.StringLiteral("Hello World!")), new TargetRefType("java.io.PrintStream"), "println", false, false)))); - @Test - public void testNew() throws Exception { - var pointType = new TargetRefType("Point"); - var pointTarget = new TargetClass(Opcodes.ACC_PUBLIC, "Point"); - pointTarget.addField(Opcodes.ACC_PUBLIC, TargetType.Integer, "x"); - pointTarget.addField(Opcodes.ACC_PUBLIC, TargetType.Integer, "y"); - pointTarget.addConstructor(Opcodes.ACC_PUBLIC, - List.of(new MethodParameter(TargetType.Integer, "x"), new MethodParameter(TargetType.Integer, "y")), - new TargetBlock(List.of( - new TargetMethodCall(null, new TargetSuper(TargetType.Object), List.of(), TargetType.Object, "", false, false), - new TargetAssign(TargetType.Integer, - new TargetFieldVar(TargetType.Integer, pointType, false, new TargetThis(pointType), "x"), - new TargetLocalVar(TargetType.Integer, "x") - ), - new TargetAssign(TargetType.Integer, - new TargetFieldVar(TargetType.Integer, pointType, false, new TargetThis(pointType), "y"), - new TargetLocalVar(TargetType.Integer, "y") - ) - )) - ); + var clazz = generateClass(targetClass, new ByteArrayClassLoader()); + clazz.getDeclaredMethod("helloWorld").invoke(null); + } - var mainTarget = new TargetClass(Opcodes.ACC_PUBLIC, "New"); - mainTarget.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "makePoint", - List.of(new MethodParameter(TargetType.Integer, "x"), new MethodParameter(TargetType.Integer, "y")), pointType, - new TargetBlock(List.of( - new TargetReturn(new TargetNew(pointType, List.of( - new TargetLocalVar(TargetType.Integer, "x"), - new TargetLocalVar(TargetType.Integer, "y") - ))) - )) - ); + @Test + public void testIfStatement() throws Exception { + var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "IfStmt"); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "ifStmt", List.of(new MethodParameter(TargetType.Integer, "val")), TargetType.Integer, new TargetBlock(List.of(new TargetIf(new TargetBinaryOp.Equal(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "val"), new TargetLiteral.IntLiteral(10)), new TargetReturn(new TargetLiteral.IntLiteral(1)), new TargetIf(new TargetBinaryOp.Less(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "val"), new TargetLiteral.IntLiteral(5)), new TargetReturn(new TargetLiteral.IntLiteral(2)), new TargetReturn(new TargetLiteral.IntLiteral(3))))))); + var clazz = generateClass(targetClass, new ByteArrayClassLoader()); + var ifStmt = clazz.getDeclaredMethod("ifStmt", Integer.class); + assertEquals(ifStmt.invoke(null, 10), 1); + assertEquals(ifStmt.invoke(null, 3), 2); + assertEquals(ifStmt.invoke(null, 20), 3); + } - var classLoader = new ByteArrayClassLoader(); - var pointClass = generateClass(pointTarget, classLoader); - var mainClass = generateClass(mainTarget, classLoader); + @Test + public void testFor() throws Exception { + var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "For"); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "forLoop", List.of(), TargetType.Integer, new TargetBlock(List.of(new TargetVarDecl(TargetType.Integer, "sum", new TargetLiteral.IntLiteral(0)), new TargetFor(new TargetVarDecl(TargetType.Integer, "i", new TargetLiteral.IntLiteral(0)), new TargetBinaryOp.Less(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "i"), new TargetLiteral.IntLiteral(10)), new TargetAssign(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "i"), new TargetBinaryOp.Add(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "i"), new TargetLiteral.IntLiteral(1))), new TargetBlock(List.of(new TargetAssign(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "sum"), new TargetBinaryOp.Add(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "sum"), new TargetLocalVar(TargetType.Integer, "i")))))), new TargetReturn(new TargetLocalVar(TargetType.Integer, "sum"))))); + var clazz = generateClass(targetClass, new ByteArrayClassLoader()); + assertEquals(clazz.getDeclaredMethod("forLoop").invoke(null), 45); + } - var point = mainClass.getDeclaredMethod("makePoint", Integer.class, Integer.class).invoke(null, 10, 20); - assertEquals(point.getClass().getDeclaredField("x").get(point), 10); - assertEquals(point.getClass().getDeclaredField("y").get(point), 20); - } + @Test + public void testWhile() throws Exception { + var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "While"); + targetClass.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "whileLoop", List.of(), TargetType.Integer, new TargetBlock(List.of(new TargetVarDecl(TargetType.Integer, "i", new TargetLiteral.IntLiteral(0)), new TargetWhile(new TargetBinaryOp.Less(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "i"), new TargetLiteral.IntLiteral(10)), new TargetBlock(List.of(new TargetAssign(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "i"), new TargetBinaryOp.Add(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "i"), new TargetLiteral.IntLiteral(1)))))), new TargetReturn(new TargetLocalVar(TargetType.Integer, "i"))))); + var clazz = generateClass(targetClass, new ByteArrayClassLoader()); + assertEquals(clazz.getDeclaredMethod("whileLoop").invoke(null), 10); + } - @Test - @Ignore("The lambda class is not generated because we don't call ASTToTargetAST") - public void testLambda() throws Exception { - var classLoader = new ByteArrayClassLoader(); - //var fun = classLoader.loadClass(Path.of(System.getProperty("user.dir"), "src/test/java/targetast/Fun1$$.class")); - var interfaceType = new TargetFunNType(1, List.of(TargetType.Integer)); + @Test + public void testNew() throws Exception { + var pointType = new TargetRefType("Point"); + var pointTarget = new TargetClass(Opcodes.ACC_PUBLIC, "Point"); + pointTarget.addField(Opcodes.ACC_PUBLIC, TargetType.Integer, "x"); + pointTarget.addField(Opcodes.ACC_PUBLIC, TargetType.Integer, "y"); + pointTarget.addConstructor(Opcodes.ACC_PUBLIC, List.of(new MethodParameter(TargetType.Integer, "x"), new MethodParameter(TargetType.Integer, "y")), new TargetBlock(List.of(new TargetMethodCall(null, new TargetSuper(TargetType.Object), List.of(), TargetType.Object, "", false, false), new TargetAssign(TargetType.Integer, new TargetFieldVar(TargetType.Integer, pointType, false, new TargetThis(pointType), "x"), new TargetLocalVar(TargetType.Integer, "x")), new TargetAssign(TargetType.Integer, new TargetFieldVar(TargetType.Integer, pointType, false, new TargetThis(pointType), "y"), new TargetLocalVar(TargetType.Integer, "y"))))); - var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "CGLambda"); - targetClass.addConstructor(Opcodes.ACC_PUBLIC, List.of(), new TargetBlock(List.of( - new TargetMethodCall(null, new TargetSuper(TargetType.Object), List.of(), TargetType.Object, "", false, false) - ))); - targetClass.addMethod(Opcodes.ACC_PUBLIC, "lambda", List.of(), TargetType.Integer, - new TargetBlock(List.of( - new TargetVarDecl(interfaceType, "by2", - new TargetLambdaExpression(interfaceType, List.of(), List.of(new MethodParameter(TargetType.Integer, "num")), TargetType.Integer, - new TargetBlock(List.of( - new TargetReturn(new TargetBinaryOp.Mul(TargetType.Integer, - new TargetLocalVar(TargetType.Integer, "num"), - new TargetLiteral.IntLiteral(2) - )) - ) - )) - ), - new TargetReturn(new TargetCast(TargetType.Integer, new TargetMethodCall(TargetType.Object, TargetType.Object, List.of(TargetType.Object), new TargetLocalVar(interfaceType, "by2"), List.of( - new TargetLiteral.IntLiteral(10) - ), interfaceType, "apply", false, true))) - )) - ); - var clazz = generateClass(targetClass, classLoader); - var instance = clazz.getConstructor().newInstance(); - assertEquals(clazz.getDeclaredMethod("lambda").invoke(instance), 20); - } + var mainTarget = new TargetClass(Opcodes.ACC_PUBLIC, "New"); + mainTarget.addMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, "makePoint", List.of(new MethodParameter(TargetType.Integer, "x"), new MethodParameter(TargetType.Integer, "y")), pointType, new TargetBlock(List.of(new TargetReturn(new TargetNew(pointType, List.of(new TargetLocalVar(TargetType.Integer, "x"), new TargetLocalVar(TargetType.Integer, "y"))))))); + + var classLoader = new ByteArrayClassLoader(); + var pointClass = generateClass(pointTarget, classLoader); + var mainClass = generateClass(mainTarget, classLoader); + + var point = mainClass.getDeclaredMethod("makePoint", Integer.class, Integer.class).invoke(null, 10, 20); + assertEquals(point.getClass().getDeclaredField("x").get(point), 10); + assertEquals(point.getClass().getDeclaredField("y").get(point), 20); + } + + @Test + @Ignore("The lambda class is not generated because we don't call ASTToTargetAST") + public void testLambda() throws Exception { + var classLoader = new ByteArrayClassLoader(); + // var fun = classLoader.loadClass(Path.of(System.getProperty("user.dir"), "src/test/java/targetast/Fun1$$.class")); + var interfaceType = new TargetFunNType(1, List.of(TargetType.Integer)); + + var targetClass = new TargetClass(Opcodes.ACC_PUBLIC, "CGLambda"); + targetClass.addConstructor(Opcodes.ACC_PUBLIC, List.of(), new TargetBlock(List.of(new TargetMethodCall(null, new TargetSuper(TargetType.Object), List.of(), TargetType.Object, "", false, false)))); + targetClass.addMethod(Opcodes.ACC_PUBLIC, "lambda", List.of(), TargetType.Integer, new TargetBlock(List.of(new TargetVarDecl(interfaceType, "by2", new TargetLambdaExpression(interfaceType, List.of(), List.of(new MethodParameter(TargetType.Integer, "num")), TargetType.Integer, new TargetBlock(List.of(new TargetReturn(new TargetBinaryOp.Mul(TargetType.Integer, new TargetLocalVar(TargetType.Integer, "num"), new TargetLiteral.IntLiteral(2))))))), new TargetReturn(new TargetCast(TargetType.Integer, new TargetMethodCall(TargetType.Object, TargetType.Object, List.of(TargetType.Object), new TargetLocalVar(interfaceType, "by2"), List.of(new TargetLiteral.IntLiteral(10)), interfaceType, "apply", false, true)))))); + var clazz = generateClass(targetClass, classLoader); + var instance = clazz.getConstructor().newInstance(); + assertEquals(clazz.getDeclaredMethod("lambda").invoke(instance), 20); + } } diff --git a/src/test/java/targetast/TestGenerics.java b/src/test/java/targetast/TestGenerics.java index 1131e076..343d6a58 100644 --- a/src/test/java/targetast/TestGenerics.java +++ b/src/test/java/targetast/TestGenerics.java @@ -20,10 +20,9 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; - public class TestGenerics { - private static final String rootDirectory = System.getProperty("user.dir") + "/resources/insertGenericsJav/"; + private static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/insertGenericsJav/"; private static final String bytecodeDirectory = System.getProperty("user.dir") + "/src/test/resources/testBytecode/generatedBC/"; private record Result(List genericsResults, ClassOrInterface clazz) { @@ -122,7 +121,7 @@ public class TestGenerics { assertEquals(2, generics.get(m).size()); var R = generics.getBounds(a.getType(), result.clazz); - var RChain = new BoundsList(new Bound(false, ASTToTargetAST.OBJECT)); + var RChain = new BoundsList(new Bound(false, ASTToTargetAST.OBJECT)); assertEquals(R, RChain); var O = generics.getBounds(id.getParameterList().getParameterAt(0).getType(), result.clazz, id); @@ -176,13 +175,13 @@ public class TestGenerics { assertEquals(AK, AKChain); // TODO Shouldn't AK and AK2 be the same and on the class? - var AK2 = generics.getBounds(m.getParameterList().getParameterAt(0).getType(), result.clazz, m); - var Y = generics.getBounds(m.getParameterList().getParameterAt(0).getType(), result.clazz, m); + var AK2 = generics.getBounds(m.getParameterList().getParameterAt(0).getType(), result.clazz, m); + var Y = generics.getBounds(m.getParameterList().getParameterAt(0).getType(), result.clazz, m); assertEquals(AK2, AKChain); assertEquals(Y, AKChain); var AF = generics.getBounds(main.getParameterList().getParameterAt(0).getType(), result.clazz, main); - var AG= generics.getBounds(main.getParameterList().getParameterAt(1).getType(), result.clazz, main); + var AG = generics.getBounds(main.getParameterList().getParameterAt(1).getType(), result.clazz, main); var AK3 = generics.getBounds(main.getReturnType(), result.clazz, main); var AFChain = new BoundsList(new Bound(true, TypePlaceholder.of("AG")), new Bound(true, ASTToTargetAST.OBJECT)); assertEquals(AF, AFChain); @@ -266,12 +265,7 @@ public class TestGenerics { var generics = result.genericsResults.get(0); var AO = generics.getBounds(a.getType(), result.clazz); - var AOBound = new BoundsList( - new Bound(false, TypePlaceholder.of("Y")), - new Bound(false, TypePlaceholder.of("AK")), - new Bound(false, TypePlaceholder.of("AE")), - new Bound(false, ASTToTargetAST.OBJECT) - ); + var AOBound = new BoundsList(new Bound(false, TypePlaceholder.of("Y")), new Bound(false, TypePlaceholder.of("AK")), new Bound(false, TypePlaceholder.of("AE")), new Bound(false, ASTToTargetAST.OBJECT)); assertEquals(AO, AOBound); var S = generics.getBounds(setA.getParameterList().getParameterAt(0).getType(), result.clazz, setA); @@ -288,12 +282,9 @@ public class TestGenerics { assertEquals(AE, new BoundsList(new Bound(false, ASTToTargetAST.OBJECT))); // TODO main seems to change between runs - /*var AE2 = generics.getBounds(main.getReturnType(), result.clazz, main); - var AF = generics.getBounds(main.getParameterList().getParameterAt(0).getType(), result.clazz, main); - var AG = generics.getBounds(main.getParameterList().getParameterAt(1).getType(), result.clazz, main); - assertEquals(AE, AE2)); - assertEquals(AF, new BoundsList(new Bound(true, TypePlaceholder.of("AK")), new Bound(true, TypePlaceholder.of("AE")), new Bound(false, ASTToTargetAST.OBJECT)))); - assertEquals(AG, SChain));*/ + /* + * var AE2 = generics.getBounds(main.getReturnType(), result.clazz, main); var AF = generics.getBounds(main.getParameterList().getParameterAt(0).getType(), result.clazz, main); var AG = generics.getBounds(main.getParameterList().getParameterAt(1).getType(), result.clazz, main); assertEquals(AE, AE2)); assertEquals(AF, new BoundsList(new Bound(true, TypePlaceholder.of("AK")), new Bound(true, TypePlaceholder.of("AE")), new Bound(false, ASTToTargetAST.OBJECT)))); assertEquals(AG, SChain)); + */ } @Test diff --git a/src/test/java/typeinference/JavaTXCompilerTest.java b/src/test/java/typeinference/JavaTXCompilerTest.java index c0e69e28..21fd8702 100644 --- a/src/test/java/typeinference/JavaTXCompilerTest.java +++ b/src/test/java/typeinference/JavaTXCompilerTest.java @@ -23,155 +23,175 @@ import java.util.Set; public class JavaTXCompilerTest { - public static final String rootDirectory = System.getProperty("user.dir")+"/resources/javFiles/"; + public static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/javFiles/"; + @Test public void finiteClosure() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"fc.jav")); - } - @Test - public void importTest() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Import.jav")); - } - @Test - public void fieldTest() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"FieldAccess.jav")); - } - @Test - public void lambda() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Lambda.jav")); - } - @Test - public void lambda2() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Lambda2.jav")); - } - @Test - public void lambda3() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Lambda3.jav")); - } - @Test - public void lambdaField() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"LambdaField.jav")); - } - @Test - public void mathStruc() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"mathStruc.jav")); - } - @Test - public void generics() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Generics.jav")); - } - @Test - public void genericsMethodCall() throws IOException, ClassNotFoundException { - TestResultSet result = execute(new File(rootDirectory+"MethodCallGenerics.jav")); - //TODO: Hier sollte der Rückgabetyp der Methode String sein - } - @Test - public void faculty() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Faculty.jav")); - } - @Test - public void facultyIf() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"FacultyIf.jav")); - } - @Test - public void facultyTyped() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"FacultyTyped.jav")); - } - @Test - public void matrix() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Matrix.jav")); - } - @Test - public void packageTests() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Package.jav")); - } - @Test - public void vector() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Vector.jav")); - } - @Test - public void lambdaRunnable() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"LambdaRunnable.jav")); - } - @Test - public void expressions() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Expressions.jav")); - } - @Test - public void addLong() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"AddLong.jav")); - } - @Test - public void fields() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Fields.jav")); - } - @Test - public void ifStatement() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"IfTest.jav")); - } - @Test - public void multipleSolutions() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Sorting.jav")); - } - @Test - public void listenerTest() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"ListenerOverload.jav")); + execute(new File(rootDirectory + "fc.jav")); } - private static class TestResultSet{ + @Test + public void importTest() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "Import.jav")); + } + + @Test + public void fieldTest() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "FieldAccess.jav")); + } + + @Test + public void lambda() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "Lambda.jav")); + } + + @Test + public void lambda2() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "Lambda2.jav")); + } + + @Test + public void lambda3() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "Lambda3.jav")); + } + + @Test + public void lambdaField() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "LambdaField.jav")); + } + + @Test + public void mathStruc() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "mathStruc.jav")); + } + + @Test + public void generics() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "Generics.jav")); + } + + @Test + public void genericsMethodCall() throws IOException, ClassNotFoundException { + TestResultSet result = execute(new File(rootDirectory + "MethodCallGenerics.jav")); + // TODO: Hier sollte der Rückgabetyp der Methode String sein + } + + @Test + public void faculty() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "Faculty.jav")); + } + + @Test + public void facultyIf() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "FacultyIf.jav")); + } + + @Test + public void facultyTyped() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "FacultyTyped.jav")); + } + + @Test + public void matrix() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "Matrix.jav")); + } + + @Test + public void packageTests() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "Package.jav")); + } + + @Test + public void vector() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "Vector.jav")); + } + + @Test + public void lambdaRunnable() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "LambdaRunnable.jav")); + } + + @Test + public void expressions() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "Expressions.jav")); + } + + @Test + public void addLong() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "AddLong.jav")); + } + + @Test + public void fields() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "Fields.jav")); + } + + @Test + public void ifStatement() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "IfTest.jav")); + } + + @Test + public void multipleSolutions() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "Sorting.jav")); + } + + @Test + public void listenerTest() throws IOException, ClassNotFoundException { + execute(new File(rootDirectory + "ListenerOverload.jav")); + } + + private static class TestResultSet { } public TestResultSet execute(File fileToTest) throws IOException, ClassNotFoundException { - //filesToTest.add(new File(rootDirectory+"fc.jav")); - //filesToTest.add(new File(rootDirectory+"Lambda.jav")); - //filesToTest.add(new File(rootDirectory+"Lambda2.jav")); - //filesToTest.add(new File(rootDirectory+"Lambda3.jav")); - //filesToTest.add(new File(rootDirectory+"Vector.jav")); - //filesToTest.add(new File(rootDirectory+"Generics.jav")); - //filesToTest.add(new File(rootDirectory+"MethodsEasy.jav")); - //filesToTest.add(new File(rootDirectory+"Matrix.jav")); - //filesToTest.add(new File(rootDirectory+"Import.jav")); - //filesToTest.add(new File(rootDirectory+"Faculty.jav")); - //filesToTest.add(new File(rootDirectory+"mathStruc.jav")); - //filesToTest.add(new File(rootDirectory+"test.jav")); + // filesToTest.add(new File(rootDirectory+"fc.jav")); + // filesToTest.add(new File(rootDirectory+"Lambda.jav")); + // filesToTest.add(new File(rootDirectory+"Lambda2.jav")); + // filesToTest.add(new File(rootDirectory+"Lambda3.jav")); + // filesToTest.add(new File(rootDirectory+"Vector.jav")); + // filesToTest.add(new File(rootDirectory+"Generics.jav")); + // filesToTest.add(new File(rootDirectory+"MethodsEasy.jav")); + // filesToTest.add(new File(rootDirectory+"Matrix.jav")); + // filesToTest.add(new File(rootDirectory+"Import.jav")); + // filesToTest.add(new File(rootDirectory+"Faculty.jav")); + // filesToTest.add(new File(rootDirectory+"mathStruc.jav")); + // filesToTest.add(new File(rootDirectory+"test.jav")); JavaTXCompiler compiler = new JavaTXCompiler(fileToTest); - for(File f : compiler.sourceFiles.keySet()){ + for (File f : compiler.sourceFiles.keySet()) { SourceFile sf = compiler.sourceFiles.get(f); System.out.println(ASTTypePrinter.print(sf)); System.out.println(ASTPrinter.print(sf)); } List results = compiler.typeInference(); List simplifyResultsForAllSourceFiles = compiler.getGeneratedGenericResultsForAllSourceFiles(results); - //compiler.generateBytecode(rootDirectory+"xxx.class", results, simplifyResultsForAllSourceFiles); - for(File f : compiler.sourceFiles.keySet()){ + // compiler.generateBytecode(rootDirectory+"xxx.class", results, simplifyResultsForAllSourceFiles); + for (File f : compiler.sourceFiles.keySet()) { SourceFile sf = compiler.sourceFiles.get(f); System.out.println(ASTTypePrinter.print(sf)); System.out.println(ASTPrinter.print(sf)); - //List results = compiler.typeInference(); PL 2017-10-03 vor die For-Schleife gezogen - assert results.size()>0; + // List results = compiler.typeInference(); PL 2017-10-03 vor die For-Schleife gezogen + assert results.size() > 0; Set insertedTypes = new HashSet<>(); - for(ResultSet resultSet : results){ + for (ResultSet resultSet : results) { Set result = TypeInsertFactory.createTypeInsertPoints(sf, resultSet, results, simplifyResultsForAllSourceFiles); - assert result.size()>0; + assert result.size() > 0; String content = readFile(f.getPath(), StandardCharsets.UTF_8); - for(TypeInsert tip : result){ + for (TypeInsert tip : result) { insertedTypes.add(tip.insert(content)); } } - for(String s : insertedTypes){ + for (String s : insertedTypes) { System.out.println(s); } } return new TestResultSet(); } - static String readFile(String path, Charset encoding) - throws IOException - { + static String readFile(String path, Charset encoding) throws IOException { byte[] encoded = Files.readAllBytes(Paths.get(path)); return new String(encoded, encoding); } } - diff --git a/src/test/java/typeinference/Meth_GenTest.java b/src/test/java/typeinference/Meth_GenTest.java index 0eb4feab..efac1d88 100644 --- a/src/test/java/typeinference/Meth_GenTest.java +++ b/src/test/java/typeinference/Meth_GenTest.java @@ -23,84 +23,58 @@ import java.util.Set; public class Meth_GenTest { - public static final String rootDirectory = System.getProperty("user.dir")+"/resources/javFiles/"; -/* - @Test - public void finiteClosure() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"fc.jav")); - } - @Test - public void lambda() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Lambda.jav")); - } - @Test - public void lambda2() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Lambda2.jav")); - } - @Test - public void lambda3() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Lambda3.jav")); - } - @Test - public void mathStruc() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"mathStruc.jav")); - } - @Test - public void generics() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Generics.jav")); - } + public static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/javFiles/"; - @Test - public void faculty() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Faculty.jav")); - } - - @Test - public void facultyTyped() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"FacultyTyped.jav")); - } -*/ + /* + * @Test public void finiteClosure() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"fc.jav")); } + * + * @Test public void lambda() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Lambda.jav")); } + * + * @Test public void lambda2() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Lambda2.jav")); } + * + * @Test public void lambda3() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Lambda3.jav")); } + * + * @Test public void mathStruc() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"mathStruc.jav")); } + * + * @Test public void generics() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Generics.jav")); } + * + * @Test public void faculty() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Faculty.jav")); } + * + * @Test public void facultyTyped() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"FacultyTyped.jav")); } + */ @Test public void matrix() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Meth_Gen.jav")); + execute(new File(rootDirectory + "Meth_Gen.jav")); } -/* - @Test - public void vector() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Vector.jav")); - } - @Test - public void lambdaRunnable() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"LambdaRunnable.jav")); - } - @Test - public void expressions() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Expressions.jav")); - } - @Test - public void matrixFC() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"FC_Matrix.jav")); - } -*/ - private static class TestResultSet{ + + /* + * @Test public void vector() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Vector.jav")); } + * + * @Test public void lambdaRunnable() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"LambdaRunnable.jav")); } + * + * @Test public void expressions() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Expressions.jav")); } + * + * @Test public void matrixFC() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"FC_Matrix.jav")); } + */ + private static class TestResultSet { } public TestResultSet execute(File fileToTest) throws IOException, ClassNotFoundException { - //filesToTest.add(new File(rootDirectory+"fc.jav")); - //filesToTest.add(new File(rootDirectory+"Lambda.jav")); - //filesToTest.add(new File(rootDirectory+"Lambda2.jav")); - //filesToTest.add(new File(rootDirectory+"Lambda3.jav")); - //filesToTest.add(new File(rootDirectory+"Vector.jav")); - //filesToTest.add(new File(rootDirectory+"Generics.jav")); - //filesToTest.add(new File(rootDirectory+"MethodsEasy.jav")); - //filesToTest.add(new File(rootDirectory+"Matrix.jav")); - //filesToTest.add(new File(rootDirectory+"Import.jav")); - // //filesToTest.add(new File(rootDirectory+"Faculty.jav")); - // //filesToTest.add(new File(rootDirectory+"mathStruc.jav")); - // //filesToTest.add(new File(rootDirectory+"test.jav")); + // filesToTest.add(new File(rootDirectory+"fc.jav")); + // filesToTest.add(new File(rootDirectory+"Lambda.jav")); + // filesToTest.add(new File(rootDirectory+"Lambda2.jav")); + // filesToTest.add(new File(rootDirectory+"Lambda3.jav")); + // filesToTest.add(new File(rootDirectory+"Vector.jav")); + // filesToTest.add(new File(rootDirectory+"Generics.jav")); + // filesToTest.add(new File(rootDirectory+"MethodsEasy.jav")); + // filesToTest.add(new File(rootDirectory+"Matrix.jav")); + // filesToTest.add(new File(rootDirectory+"Import.jav")); + // //filesToTest.add(new File(rootDirectory+"Faculty.jav")); + // //filesToTest.add(new File(rootDirectory+"mathStruc.jav")); + // //filesToTest.add(new File(rootDirectory+"test.jav")); JavaTXCompiler compiler = new JavaTXCompiler(fileToTest); - for(File f : compiler.sourceFiles.keySet()){ + for (File f : compiler.sourceFiles.keySet()) { SourceFile sf = compiler.sourceFiles.get(f); System.out.println(ASTTypePrinter.print(sf)); System.out.println(ASTPrinter.print(sf)); @@ -108,34 +82,31 @@ public class Meth_GenTest { List results = compiler.typeInference(); List simplifyResultsForAllSourceFiles = compiler.getGeneratedGenericResultsForAllSourceFiles(results); - for(File f : compiler.sourceFiles.keySet()){ + for (File f : compiler.sourceFiles.keySet()) { SourceFile sf = compiler.sourceFiles.get(f); System.out.println(ASTTypePrinter.print(sf)); System.out.println(ASTPrinter.print(sf)); - //List results = compiler.typeInference(); PL 2017-10-03 vor die For-Schleife gezogen - assert results.size()>0; + // List results = compiler.typeInference(); PL 2017-10-03 vor die For-Schleife gezogen + assert results.size() > 0; Set insertedTypes = new HashSet<>(); - for(ResultSet resultSet : results){ + for (ResultSet resultSet : results) { Set result = TypeInsertFactory.createTypeInsertPoints(sf, resultSet, results, simplifyResultsForAllSourceFiles); - assert result.size()>0; + assert result.size() > 0; String content = readFile(f.getPath(), StandardCharsets.UTF_8); - for(TypeInsert tip : result){ + for (TypeInsert tip : result) { insertedTypes.add(tip.insert(content)); } } - for(String s : insertedTypes){ + for (String s : insertedTypes) { System.out.println(s); } } return new TestResultSet(); } - static String readFile(String path, Charset encoding) - throws IOException - { + static String readFile(String path, Charset encoding) throws IOException { byte[] encoded = Files.readAllBytes(Paths.get(path)); return new String(encoded, encoding); } } - diff --git a/src/test/java/typeinference/UnifyTest.java b/src/test/java/typeinference/UnifyTest.java index 366b010e..b161f18f 100644 --- a/src/test/java/typeinference/UnifyTest.java +++ b/src/test/java/typeinference/UnifyTest.java @@ -23,110 +23,71 @@ import java.util.Set; public class UnifyTest { - public static final String rootDirectory = System.getProperty("user.dir")+"/resources/javFiles/"; -/* - @Test - public void finiteClosure() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"fc.jav")); - } - - @Test - public void lambda() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Lambda.jav")); - } - - */ + public static final String rootDirectory = System.getProperty("user.dir") + "/src/test/resources/javFiles/"; /* - @Test - public void vector() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Vector.jav")); - } - */ + * @Test public void finiteClosure() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"fc.jav")); } + * + * @Test public void lambda() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Lambda.jav")); } + * + */ + /* + * @Test public void vector() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Vector.jav")); } + */ /* - @Test - public void lambda2() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Lambda2.jav")); - } - */ -/* - @Test - public void lambda3() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Lambda3.jav")); - } - - @Test - public void lambdafield() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"LambdaField.jav")); - } - - @Test - public void mathStruc() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"mathStruc.jav")); - } - @Test - public void generics() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Generics.jav")); - } -*/ -/* - @Test - public void faculty() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Faculty.jav")); - } -*/ -/* - @Test - public void facultyTyped() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"FacultyTyped.jav")); - } - */ - + * @Test public void lambda2() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Lambda2.jav")); } + */ + /* + * @Test public void lambda3() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Lambda3.jav")); } + * + * @Test public void lambdafield() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"LambdaField.jav")); } + * + * @Test public void mathStruc() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"mathStruc.jav")); } + * + * @Test public void generics() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Generics.jav")); } + */ + /* + * @Test public void faculty() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Faculty.jav")); } + */ + /* + * @Test public void facultyTyped() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"FacultyTyped.jav")); } + */ + @Test public void matrix() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Matrix.jav")); - //JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"Matrix.jav")); - //compiler.generateBytecode(); + execute(new File(rootDirectory + "Matrix.jav")); + // JavaTXCompiler compiler = new JavaTXCompiler(new File(rootDirectory+"Matrix.jav")); + // compiler.generateBytecode(); } - -/* - @Test - public void vector() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Vector.jav")); - } - @Test - public void lambdaRunnable() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"LambdaRunnable.jav")); - } - @Test - public void expressions() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"Expressions.jav")); - } - @Test - public void matrixFC() throws IOException, ClassNotFoundException { - execute(new File(rootDirectory+"FC_Matrix.jav")); - } -*/ - private static class TestResultSet{ + /* + * @Test public void vector() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Vector.jav")); } + * + * @Test public void lambdaRunnable() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"LambdaRunnable.jav")); } + * + * @Test public void expressions() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"Expressions.jav")); } + * + * @Test public void matrixFC() throws IOException, ClassNotFoundException { execute(new File(rootDirectory+"FC_Matrix.jav")); } + */ + private static class TestResultSet { } public TestResultSet execute(File fileToTest) throws IOException, ClassNotFoundException { - //filesToTest.add(new File(rootDirectory+"fc.jav")); - //filesToTest.add(new File(rootDirectory+"Lambda.jav")); - //filesToTest.add(new File(rootDirectory+"Lambda2.jav")); - //filesToTest.add(new File(rootDirectory+"Lambda3.jav")); - //filesToTest.add(new File(rootDirectory+"Vector.jav")); - //filesToTest.add(new File(rootDirectory+"Generics.jav")); - //filesToTest.add(new File(rootDirectory+"MethodsEasy.jav")); - //filesToTest.add(new File(rootDirectory+"Matrix.jav")); - //filesToTest.add(new File(rootDirectory+"Import.jav")); - // //filesToTest.add(new File(rootDirectory+"Faculty.jav")); - // //filesToTest.add(new File(rootDirectory+"mathStruc.jav")); - // //filesToTest.add(new File(rootDirectory+"test.jav")); + // filesToTest.add(new File(rootDirectory+"fc.jav")); + // filesToTest.add(new File(rootDirectory+"Lambda.jav")); + // filesToTest.add(new File(rootDirectory+"Lambda2.jav")); + // filesToTest.add(new File(rootDirectory+"Lambda3.jav")); + // filesToTest.add(new File(rootDirectory+"Vector.jav")); + // filesToTest.add(new File(rootDirectory+"Generics.jav")); + // filesToTest.add(new File(rootDirectory+"MethodsEasy.jav")); + // filesToTest.add(new File(rootDirectory+"Matrix.jav")); + // filesToTest.add(new File(rootDirectory+"Import.jav")); + // //filesToTest.add(new File(rootDirectory+"Faculty.jav")); + // //filesToTest.add(new File(rootDirectory+"mathStruc.jav")); + // //filesToTest.add(new File(rootDirectory+"test.jav")); JavaTXCompiler compiler = new JavaTXCompiler(fileToTest); - for(File f : compiler.sourceFiles.keySet()){ + for (File f : compiler.sourceFiles.keySet()) { SourceFile sf = compiler.sourceFiles.get(f); System.out.println(ASTTypePrinter.print(sf)); System.out.println(ASTPrinter.print(sf)); @@ -134,34 +95,31 @@ public class UnifyTest { List results = compiler.typeInference(); List simplifyResultsForAllSourceFiles = compiler.getGeneratedGenericResultsForAllSourceFiles(results); - for(File f : compiler.sourceFiles.keySet()){ + for (File f : compiler.sourceFiles.keySet()) { SourceFile sf = compiler.sourceFiles.get(f); System.out.println(ASTTypePrinter.print(sf)); System.out.println(ASTPrinter.print(sf)); - //List results = compiler.typeInference(); PL 2017-10-03 vor die For-Schleife gezogen - assert results.size()>0; + // List results = compiler.typeInference(); PL 2017-10-03 vor die For-Schleife gezogen + assert results.size() > 0; Set insertedTypes = new HashSet<>(); - for(ResultSet resultSet : results){ + for (ResultSet resultSet : results) { Set result = TypeInsertFactory.createTypeInsertPoints(sf, resultSet, results, simplifyResultsForAllSourceFiles); - assert result.size()>0; + assert result.size() > 0; String content = readFile(f.getPath(), StandardCharsets.UTF_8); - for(TypeInsert tip : result){ + for (TypeInsert tip : result) { insertedTypes.add(tip.insert(content)); } } - for(String s : insertedTypes){ + for (String s : insertedTypes) { System.out.println(s); } } return new TestResultSet(); } - static String readFile(String path, Charset encoding) - throws IOException - { + static String readFile(String path, Charset encoding) throws IOException { byte[] encoded = Files.readAllBytes(Paths.get(path)); return new String(encoded, encoding); } } - diff --git a/resources/AllgemeinTest/Box.jav b/src/test/resources/AllgemeinTest/Box.jav similarity index 100% rename from resources/AllgemeinTest/Box.jav rename to src/test/resources/AllgemeinTest/Box.jav diff --git a/resources/AllgemeinTest/Box_Main.jav b/src/test/resources/AllgemeinTest/Box_Main.jav similarity index 100% rename from resources/AllgemeinTest/Box_Main.jav rename to src/test/resources/AllgemeinTest/Box_Main.jav diff --git a/resources/AllgemeinTest/FCTest1.jav b/src/test/resources/AllgemeinTest/FCTest1.jav similarity index 100% rename from resources/AllgemeinTest/FCTest1.jav rename to src/test/resources/AllgemeinTest/FCTest1.jav diff --git a/resources/AllgemeinTest/FCTest2.jav b/src/test/resources/AllgemeinTest/FCTest2.jav similarity index 100% rename from resources/AllgemeinTest/FCTest2.jav rename to src/test/resources/AllgemeinTest/FCTest2.jav diff --git a/resources/AllgemeinTest/FCTest3.jav b/src/test/resources/AllgemeinTest/FCTest3.jav similarity index 100% rename from resources/AllgemeinTest/FCTest3.jav rename to src/test/resources/AllgemeinTest/FCTest3.jav diff --git a/resources/AllgemeinTest/GenTest.jav b/src/test/resources/AllgemeinTest/GenTest.jav similarity index 100% rename from resources/AllgemeinTest/GenTest.jav rename to src/test/resources/AllgemeinTest/GenTest.jav diff --git a/resources/AllgemeinTest/Generics.jav b/src/test/resources/AllgemeinTest/Generics.jav similarity index 100% rename from resources/AllgemeinTest/Generics.jav rename to src/test/resources/AllgemeinTest/Generics.jav diff --git a/resources/AllgemeinTest/M.jav b/src/test/resources/AllgemeinTest/M.jav similarity index 100% rename from resources/AllgemeinTest/M.jav rename to src/test/resources/AllgemeinTest/M.jav diff --git a/resources/AllgemeinTest/OverloadingMain.jav b/src/test/resources/AllgemeinTest/OverloadingMain.jav similarity index 100% rename from resources/AllgemeinTest/OverloadingMain.jav rename to src/test/resources/AllgemeinTest/OverloadingMain.jav diff --git a/resources/AllgemeinTest/Overloading_Generics.jav b/src/test/resources/AllgemeinTest/Overloading_Generics.jav similarity index 100% rename from resources/AllgemeinTest/Overloading_Generics.jav rename to src/test/resources/AllgemeinTest/Overloading_Generics.jav diff --git a/resources/AllgemeinTest/OverrideMain.jav b/src/test/resources/AllgemeinTest/OverrideMain.jav similarity index 100% rename from resources/AllgemeinTest/OverrideMain.jav rename to src/test/resources/AllgemeinTest/OverrideMain.jav diff --git a/resources/AllgemeinTest/OverrideMainRet.jav b/src/test/resources/AllgemeinTest/OverrideMainRet.jav similarity index 100% rename from resources/AllgemeinTest/OverrideMainRet.jav rename to src/test/resources/AllgemeinTest/OverrideMainRet.jav diff --git a/resources/AllgemeinTest/Pair.java b/src/test/resources/AllgemeinTest/Pair.java similarity index 100% rename from resources/AllgemeinTest/Pair.java rename to src/test/resources/AllgemeinTest/Pair.java diff --git a/resources/AllgemeinTest/Put.jav b/src/test/resources/AllgemeinTest/Put.jav similarity index 100% rename from resources/AllgemeinTest/Put.jav rename to src/test/resources/AllgemeinTest/Put.jav diff --git a/resources/AllgemeinTest/Test.jav b/src/test/resources/AllgemeinTest/Test.jav similarity index 100% rename from resources/AllgemeinTest/Test.jav rename to src/test/resources/AllgemeinTest/Test.jav diff --git a/resources/AllgemeinTest/TestSubTypless.jav b/src/test/resources/AllgemeinTest/TestSubTypless.jav similarity index 100% rename from resources/AllgemeinTest/TestSubTypless.jav rename to src/test/resources/AllgemeinTest/TestSubTypless.jav diff --git a/resources/AllgemeinTest/Twice.jav b/src/test/resources/AllgemeinTest/Twice.jav similarity index 100% rename from resources/AllgemeinTest/Twice.jav rename to src/test/resources/AllgemeinTest/Twice.jav diff --git a/resources/AllgemeinTest/Var.jav b/src/test/resources/AllgemeinTest/Var.jav similarity index 100% rename from resources/AllgemeinTest/Var.jav rename to src/test/resources/AllgemeinTest/Var.jav diff --git a/resources/AllgemeinTest/VectorConstAdd.jav b/src/test/resources/AllgemeinTest/VectorConstAdd.jav similarity index 100% rename from resources/AllgemeinTest/VectorConstAdd.jav rename to src/test/resources/AllgemeinTest/VectorConstAdd.jav diff --git a/resources/AllgemeinTest/VectorNotObject.jav b/src/test/resources/AllgemeinTest/VectorNotObject.jav similarity index 100% rename from resources/AllgemeinTest/VectorNotObject.jav rename to src/test/resources/AllgemeinTest/VectorNotObject.jav diff --git a/resources/AllgemeinTest/WildcardCaptureConversionTest.jav b/src/test/resources/AllgemeinTest/WildcardCaptureConversionTest.jav similarity index 100% rename from resources/AllgemeinTest/WildcardCaptureConversionTest.jav rename to src/test/resources/AllgemeinTest/WildcardCaptureConversionTest.jav diff --git a/resources/AllgemeinTest/Wildcard_Andi.jav b/src/test/resources/AllgemeinTest/Wildcard_Andi.jav similarity index 100% rename from resources/AllgemeinTest/Wildcard_Andi.jav rename to src/test/resources/AllgemeinTest/Wildcard_Andi.jav diff --git a/resources/AllgemeinTest/addList.jav b/src/test/resources/AllgemeinTest/addList.jav similarity index 100% rename from resources/AllgemeinTest/addList.jav rename to src/test/resources/AllgemeinTest/addList.jav diff --git a/resources/AllgemeinTest/wildcardPair.jav b/src/test/resources/AllgemeinTest/wildcardPair.jav similarity index 100% rename from resources/AllgemeinTest/wildcardPair.jav rename to src/test/resources/AllgemeinTest/wildcardPair.jav diff --git a/resources/bytecode/javFiles/AA.jav b/src/test/resources/bytecode/javFiles/AA.jav similarity index 100% rename from resources/bytecode/javFiles/AA.jav rename to src/test/resources/bytecode/javFiles/AA.jav diff --git a/resources/bytecode/javFiles/AssignToLit.jav b/src/test/resources/bytecode/javFiles/AssignToLit.jav similarity index 100% rename from resources/bytecode/javFiles/AssignToLit.jav rename to src/test/resources/bytecode/javFiles/AssignToLit.jav diff --git a/resources/bytecode/javFiles/BB.jav b/src/test/resources/bytecode/javFiles/BB.jav similarity index 100% rename from resources/bytecode/javFiles/BB.jav rename to src/test/resources/bytecode/javFiles/BB.jav diff --git a/resources/bytecode/javFiles/BinaryInMeth.jav b/src/test/resources/bytecode/javFiles/BinaryInMeth.jav similarity index 100% rename from resources/bytecode/javFiles/BinaryInMeth.jav rename to src/test/resources/bytecode/javFiles/BinaryInMeth.jav diff --git a/resources/bytecode/javFiles/Box.jav b/src/test/resources/bytecode/javFiles/Box.jav similarity index 100% rename from resources/bytecode/javFiles/Box.jav rename to src/test/resources/bytecode/javFiles/Box.jav diff --git a/resources/bytecode/javFiles/Box.java b/src/test/resources/bytecode/javFiles/Box.java similarity index 100% rename from resources/bytecode/javFiles/Box.java rename to src/test/resources/bytecode/javFiles/Box.java diff --git a/resources/bytecode/javFiles/CC.jav b/src/test/resources/bytecode/javFiles/CC.jav similarity index 100% rename from resources/bytecode/javFiles/CC.jav rename to src/test/resources/bytecode/javFiles/CC.jav diff --git a/resources/bytecode/javFiles/ClassGenLam.jav b/src/test/resources/bytecode/javFiles/ClassGenLam.jav similarity index 100% rename from resources/bytecode/javFiles/ClassGenLam.jav rename to src/test/resources/bytecode/javFiles/ClassGenLam.jav diff --git a/resources/bytecode/javFiles/Cycle.jav b/src/test/resources/bytecode/javFiles/Cycle.jav similarity index 100% rename from resources/bytecode/javFiles/Cycle.jav rename to src/test/resources/bytecode/javFiles/Cycle.jav diff --git a/resources/bytecode/javFiles/DD.jav b/src/test/resources/bytecode/javFiles/DD.jav similarity index 100% rename from resources/bytecode/javFiles/DD.jav rename to src/test/resources/bytecode/javFiles/DD.jav diff --git a/resources/bytecode/javFiles/DuMethod.jav b/src/test/resources/bytecode/javFiles/DuMethod.jav similarity index 100% rename from resources/bytecode/javFiles/DuMethod.jav rename to src/test/resources/bytecode/javFiles/DuMethod.jav diff --git a/resources/bytecode/javFiles/EmptyMethod.jav b/src/test/resources/bytecode/javFiles/EmptyMethod.jav similarity index 100% rename from resources/bytecode/javFiles/EmptyMethod.jav rename to src/test/resources/bytecode/javFiles/EmptyMethod.jav diff --git a/resources/bytecode/javFiles/Example.jav b/src/test/resources/bytecode/javFiles/Example.jav similarity index 100% rename from resources/bytecode/javFiles/Example.jav rename to src/test/resources/bytecode/javFiles/Example.jav diff --git a/resources/bytecode/javFiles/Exceptions.jav b/src/test/resources/bytecode/javFiles/Exceptions.jav similarity index 100% rename from resources/bytecode/javFiles/Exceptions.jav rename to src/test/resources/bytecode/javFiles/Exceptions.jav diff --git a/resources/bytecode/javFiles/Fac.jav b/src/test/resources/bytecode/javFiles/Fac.jav similarity index 100% rename from resources/bytecode/javFiles/Fac.jav rename to src/test/resources/bytecode/javFiles/Fac.jav diff --git a/resources/bytecode/javFiles/Faculty.jav b/src/test/resources/bytecode/javFiles/Faculty.jav similarity index 100% rename from resources/bytecode/javFiles/Faculty.jav rename to src/test/resources/bytecode/javFiles/Faculty.jav diff --git a/resources/bytecode/javFiles/Faculty2.jav b/src/test/resources/bytecode/javFiles/Faculty2.jav similarity index 100% rename from resources/bytecode/javFiles/Faculty2.jav rename to src/test/resources/bytecode/javFiles/Faculty2.jav diff --git a/resources/bytecode/javFiles/Field.jav b/src/test/resources/bytecode/javFiles/Field.jav similarity index 100% rename from resources/bytecode/javFiles/Field.jav rename to src/test/resources/bytecode/javFiles/Field.jav diff --git a/resources/bytecode/javFiles/FieldTph.jav b/src/test/resources/bytecode/javFiles/FieldTph.jav similarity index 100% rename from resources/bytecode/javFiles/FieldTph.jav rename to src/test/resources/bytecode/javFiles/FieldTph.jav diff --git a/resources/bytecode/javFiles/FieldTph2.jav b/src/test/resources/bytecode/javFiles/FieldTph2.jav similarity index 100% rename from resources/bytecode/javFiles/FieldTph2.jav rename to src/test/resources/bytecode/javFiles/FieldTph2.jav diff --git a/resources/bytecode/javFiles/FieldTphConsMeth.jav b/src/test/resources/bytecode/javFiles/FieldTphConsMeth.jav similarity index 100% rename from resources/bytecode/javFiles/FieldTphConsMeth.jav rename to src/test/resources/bytecode/javFiles/FieldTphConsMeth.jav diff --git a/resources/bytecode/javFiles/FieldTphMMeth.jav b/src/test/resources/bytecode/javFiles/FieldTphMMeth.jav similarity index 100% rename from resources/bytecode/javFiles/FieldTphMMeth.jav rename to src/test/resources/bytecode/javFiles/FieldTphMMeth.jav diff --git a/resources/bytecode/javFiles/For.jav b/src/test/resources/bytecode/javFiles/For.jav similarity index 100% rename from resources/bytecode/javFiles/For.jav rename to src/test/resources/bytecode/javFiles/For.jav diff --git a/resources/bytecode/javFiles/FunOL.jav b/src/test/resources/bytecode/javFiles/FunOL.jav similarity index 100% rename from resources/bytecode/javFiles/FunOL.jav rename to src/test/resources/bytecode/javFiles/FunOL.jav diff --git a/resources/bytecode/javFiles/Gen.jav b/src/test/resources/bytecode/javFiles/Gen.jav similarity index 100% rename from resources/bytecode/javFiles/Gen.jav rename to src/test/resources/bytecode/javFiles/Gen.jav diff --git a/resources/bytecode/javFiles/Generics.jav b/src/test/resources/bytecode/javFiles/Generics.jav similarity index 100% rename from resources/bytecode/javFiles/Generics.jav rename to src/test/resources/bytecode/javFiles/Generics.jav diff --git a/resources/bytecode/javFiles/Generics2.jav b/src/test/resources/bytecode/javFiles/Generics2.jav similarity index 100% rename from resources/bytecode/javFiles/Generics2.jav rename to src/test/resources/bytecode/javFiles/Generics2.jav diff --git a/resources/bytecode/javFiles/Generics3.jav b/src/test/resources/bytecode/javFiles/Generics3.jav similarity index 100% rename from resources/bytecode/javFiles/Generics3.jav rename to src/test/resources/bytecode/javFiles/Generics3.jav diff --git a/resources/bytecode/javFiles/Generics4.jav b/src/test/resources/bytecode/javFiles/Generics4.jav similarity index 100% rename from resources/bytecode/javFiles/Generics4.jav rename to src/test/resources/bytecode/javFiles/Generics4.jav diff --git a/resources/bytecode/javFiles/GreaterEqual.jav b/src/test/resources/bytecode/javFiles/GreaterEqual.jav similarity index 100% rename from resources/bytecode/javFiles/GreaterEqual.jav rename to src/test/resources/bytecode/javFiles/GreaterEqual.jav diff --git a/resources/bytecode/javFiles/GreaterThan.jav b/src/test/resources/bytecode/javFiles/GreaterThan.jav similarity index 100% rename from resources/bytecode/javFiles/GreaterThan.jav rename to src/test/resources/bytecode/javFiles/GreaterThan.jav diff --git a/resources/bytecode/javFiles/Id.jav b/src/test/resources/bytecode/javFiles/Id.jav similarity index 100% rename from resources/bytecode/javFiles/Id.jav rename to src/test/resources/bytecode/javFiles/Id.jav diff --git a/resources/bytecode/javFiles/IfTest.jav b/src/test/resources/bytecode/javFiles/IfTest.jav similarity index 100% rename from resources/bytecode/javFiles/IfTest.jav rename to src/test/resources/bytecode/javFiles/IfTest.jav diff --git a/resources/bytecode/javFiles/Import.jav b/src/test/resources/bytecode/javFiles/Import.jav similarity index 100% rename from resources/bytecode/javFiles/Import.jav rename to src/test/resources/bytecode/javFiles/Import.jav diff --git a/resources/bytecode/javFiles/Inf.jav b/src/test/resources/bytecode/javFiles/Inf.jav similarity index 100% rename from resources/bytecode/javFiles/Inf.jav rename to src/test/resources/bytecode/javFiles/Inf.jav diff --git a/resources/bytecode/javFiles/Infimum.jav b/src/test/resources/bytecode/javFiles/Infimum.jav similarity index 100% rename from resources/bytecode/javFiles/Infimum.jav rename to src/test/resources/bytecode/javFiles/Infimum.jav diff --git a/resources/bytecode/javFiles/Inherit.jav b/src/test/resources/bytecode/javFiles/Inherit.jav similarity index 100% rename from resources/bytecode/javFiles/Inherit.jav rename to src/test/resources/bytecode/javFiles/Inherit.jav diff --git a/resources/bytecode/javFiles/Inherit2.jav b/src/test/resources/bytecode/javFiles/Inherit2.jav similarity index 100% rename from resources/bytecode/javFiles/Inherit2.jav rename to src/test/resources/bytecode/javFiles/Inherit2.jav diff --git a/resources/bytecode/javFiles/Interface1.jav b/src/test/resources/bytecode/javFiles/Interface1.jav similarity index 100% rename from resources/bytecode/javFiles/Interface1.jav rename to src/test/resources/bytecode/javFiles/Interface1.jav diff --git a/resources/bytecode/javFiles/KompTph.jav b/src/test/resources/bytecode/javFiles/KompTph.jav similarity index 100% rename from resources/bytecode/javFiles/KompTph.jav rename to src/test/resources/bytecode/javFiles/KompTph.jav diff --git a/resources/bytecode/javFiles/LamRunnable.jav b/src/test/resources/bytecode/javFiles/LamRunnable.jav similarity index 100% rename from resources/bytecode/javFiles/LamRunnable.jav rename to src/test/resources/bytecode/javFiles/LamRunnable.jav diff --git a/resources/bytecode/javFiles/Lambda.jav b/src/test/resources/bytecode/javFiles/Lambda.jav similarity index 100% rename from resources/bytecode/javFiles/Lambda.jav rename to src/test/resources/bytecode/javFiles/Lambda.jav diff --git a/resources/bytecode/javFiles/Lambda2.jav b/src/test/resources/bytecode/javFiles/Lambda2.jav similarity index 100% rename from resources/bytecode/javFiles/Lambda2.jav rename to src/test/resources/bytecode/javFiles/Lambda2.jav diff --git a/resources/bytecode/javFiles/Lambda3.jav b/src/test/resources/bytecode/javFiles/Lambda3.jav similarity index 100% rename from resources/bytecode/javFiles/Lambda3.jav rename to src/test/resources/bytecode/javFiles/Lambda3.jav diff --git a/resources/bytecode/javFiles/Lambda4.jav b/src/test/resources/bytecode/javFiles/Lambda4.jav similarity index 100% rename from resources/bytecode/javFiles/Lambda4.jav rename to src/test/resources/bytecode/javFiles/Lambda4.jav diff --git a/resources/bytecode/javFiles/LambdaCapture.jav b/src/test/resources/bytecode/javFiles/LambdaCapture.jav similarity index 100% rename from resources/bytecode/javFiles/LambdaCapture.jav rename to src/test/resources/bytecode/javFiles/LambdaCapture.jav diff --git a/resources/bytecode/javFiles/LambdaVoid.jav b/src/test/resources/bytecode/javFiles/LambdaVoid.jav similarity index 100% rename from resources/bytecode/javFiles/LambdaVoid.jav rename to src/test/resources/bytecode/javFiles/LambdaVoid.jav diff --git a/resources/bytecode/javFiles/LessEqual.jav b/src/test/resources/bytecode/javFiles/LessEqual.jav similarity index 100% rename from resources/bytecode/javFiles/LessEqual.jav rename to src/test/resources/bytecode/javFiles/LessEqual.jav diff --git a/resources/bytecode/javFiles/LessThan.jav b/src/test/resources/bytecode/javFiles/LessThan.jav similarity index 100% rename from resources/bytecode/javFiles/LessThan.jav rename to src/test/resources/bytecode/javFiles/LessThan.jav diff --git a/resources/bytecode/javFiles/Matrix.jav b/src/test/resources/bytecode/javFiles/Matrix.jav similarity index 100% rename from resources/bytecode/javFiles/Matrix.jav rename to src/test/resources/bytecode/javFiles/Matrix.jav diff --git a/resources/bytecode/javFiles/MatrixOP.jav b/src/test/resources/bytecode/javFiles/MatrixOP.jav similarity index 100% rename from resources/bytecode/javFiles/MatrixOP.jav rename to src/test/resources/bytecode/javFiles/MatrixOP.jav diff --git a/resources/bytecode/javFiles/Merge.jav b/src/test/resources/bytecode/javFiles/Merge.jav similarity index 100% rename from resources/bytecode/javFiles/Merge.jav rename to src/test/resources/bytecode/javFiles/Merge.jav diff --git a/resources/bytecode/javFiles/Methods.jav b/src/test/resources/bytecode/javFiles/Methods.jav similarity index 100% rename from resources/bytecode/javFiles/Methods.jav rename to src/test/resources/bytecode/javFiles/Methods.jav diff --git a/resources/bytecode/javFiles/OL.jav b/src/test/resources/bytecode/javFiles/OL.jav similarity index 100% rename from resources/bytecode/javFiles/OL.jav rename to src/test/resources/bytecode/javFiles/OL.jav diff --git a/resources/bytecode/javFiles/OLFun.jav b/src/test/resources/bytecode/javFiles/OLFun.jav similarity index 100% rename from resources/bytecode/javFiles/OLFun.jav rename to src/test/resources/bytecode/javFiles/OLFun.jav diff --git a/resources/bytecode/javFiles/OLFun2.jav b/src/test/resources/bytecode/javFiles/OLFun2.jav similarity index 100% rename from resources/bytecode/javFiles/OLFun2.jav rename to src/test/resources/bytecode/javFiles/OLFun2.jav diff --git a/resources/bytecode/javFiles/Op.jav b/src/test/resources/bytecode/javFiles/Op.jav similarity index 100% rename from resources/bytecode/javFiles/Op.jav rename to src/test/resources/bytecode/javFiles/Op.jav diff --git a/resources/bytecode/javFiles/Op2.jav b/src/test/resources/bytecode/javFiles/Op2.jav similarity index 100% rename from resources/bytecode/javFiles/Op2.jav rename to src/test/resources/bytecode/javFiles/Op2.jav diff --git a/resources/bytecode/javFiles/OverlaodGen.jav b/src/test/resources/bytecode/javFiles/OverlaodGen.jav similarity index 100% rename from resources/bytecode/javFiles/OverlaodGen.jav rename to src/test/resources/bytecode/javFiles/OverlaodGen.jav diff --git a/resources/bytecode/javFiles/Overloading.jav b/src/test/resources/bytecode/javFiles/Overloading.jav similarity index 100% rename from resources/bytecode/javFiles/Overloading.jav rename to src/test/resources/bytecode/javFiles/Overloading.jav diff --git a/resources/bytecode/javFiles/Plus.jav b/src/test/resources/bytecode/javFiles/Plus.jav similarity index 100% rename from resources/bytecode/javFiles/Plus.jav rename to src/test/resources/bytecode/javFiles/Plus.jav diff --git a/resources/bytecode/javFiles/PostIncDec.jav b/src/test/resources/bytecode/javFiles/PostIncDec.jav similarity index 100% rename from resources/bytecode/javFiles/PostIncDec.jav rename to src/test/resources/bytecode/javFiles/PostIncDec.jav diff --git a/resources/bytecode/javFiles/PreInc.jav b/src/test/resources/bytecode/javFiles/PreInc.jav similarity index 100% rename from resources/bytecode/javFiles/PreInc.jav rename to src/test/resources/bytecode/javFiles/PreInc.jav diff --git a/resources/bytecode/javFiles/Put.jav b/src/test/resources/bytecode/javFiles/Put.jav similarity index 100% rename from resources/bytecode/javFiles/Put.jav rename to src/test/resources/bytecode/javFiles/Put.jav diff --git a/resources/bytecode/javFiles/RecursiveMeth.jav b/src/test/resources/bytecode/javFiles/RecursiveMeth.jav similarity index 100% rename from resources/bytecode/javFiles/RecursiveMeth.jav rename to src/test/resources/bytecode/javFiles/RecursiveMeth.jav diff --git a/resources/bytecode/javFiles/RelOps.jav b/src/test/resources/bytecode/javFiles/RelOps.jav similarity index 100% rename from resources/bytecode/javFiles/RelOps.jav rename to src/test/resources/bytecode/javFiles/RelOps.jav diff --git a/resources/bytecode/javFiles/ReturnMethod.jav b/src/test/resources/bytecode/javFiles/ReturnMethod.jav similarity index 100% rename from resources/bytecode/javFiles/ReturnMethod.jav rename to src/test/resources/bytecode/javFiles/ReturnMethod.jav diff --git a/resources/bytecode/javFiles/SimpleCycle.jav b/src/test/resources/bytecode/javFiles/SimpleCycle.jav similarity index 100% rename from resources/bytecode/javFiles/SimpleCycle.jav rename to src/test/resources/bytecode/javFiles/SimpleCycle.jav diff --git a/resources/bytecode/javFiles/Sorting.jav b/src/test/resources/bytecode/javFiles/Sorting.jav similarity index 100% rename from resources/bytecode/javFiles/Sorting.jav rename to src/test/resources/bytecode/javFiles/Sorting.jav diff --git a/resources/bytecode/javFiles/StaticM.jav b/src/test/resources/bytecode/javFiles/StaticM.jav similarity index 100% rename from resources/bytecode/javFiles/StaticM.jav rename to src/test/resources/bytecode/javFiles/StaticM.jav diff --git a/resources/bytecode/javFiles/SubMatrix.jav b/src/test/resources/bytecode/javFiles/SubMatrix.jav similarity index 100% rename from resources/bytecode/javFiles/SubMatrix.jav rename to src/test/resources/bytecode/javFiles/SubMatrix.jav diff --git a/resources/bytecode/javFiles/Tph.jav b/src/test/resources/bytecode/javFiles/Tph.jav similarity index 100% rename from resources/bytecode/javFiles/Tph.jav rename to src/test/resources/bytecode/javFiles/Tph.jav diff --git a/resources/bytecode/javFiles/Tph2.jav b/src/test/resources/bytecode/javFiles/Tph2.jav similarity index 100% rename from resources/bytecode/javFiles/Tph2.jav rename to src/test/resources/bytecode/javFiles/Tph2.jav diff --git a/resources/bytecode/javFiles/Tph3.jav b/src/test/resources/bytecode/javFiles/Tph3.jav similarity index 100% rename from resources/bytecode/javFiles/Tph3.jav rename to src/test/resources/bytecode/javFiles/Tph3.jav diff --git a/resources/bytecode/javFiles/Tph4.jav b/src/test/resources/bytecode/javFiles/Tph4.jav similarity index 100% rename from resources/bytecode/javFiles/Tph4.jav rename to src/test/resources/bytecode/javFiles/Tph4.jav diff --git a/resources/bytecode/javFiles/Tph5.jav b/src/test/resources/bytecode/javFiles/Tph5.jav similarity index 100% rename from resources/bytecode/javFiles/Tph5.jav rename to src/test/resources/bytecode/javFiles/Tph5.jav diff --git a/resources/bytecode/javFiles/Tph6.jav b/src/test/resources/bytecode/javFiles/Tph6.jav similarity index 100% rename from resources/bytecode/javFiles/Tph6.jav rename to src/test/resources/bytecode/javFiles/Tph6.jav diff --git a/resources/bytecode/javFiles/Tph7.jav b/src/test/resources/bytecode/javFiles/Tph7.jav similarity index 100% rename from resources/bytecode/javFiles/Tph7.jav rename to src/test/resources/bytecode/javFiles/Tph7.jav diff --git a/resources/bytecode/javFiles/TypedID.jav b/src/test/resources/bytecode/javFiles/TypedID.jav similarity index 100% rename from resources/bytecode/javFiles/TypedID.jav rename to src/test/resources/bytecode/javFiles/TypedID.jav diff --git a/resources/bytecode/javFiles/VectorAdd.jav b/src/test/resources/bytecode/javFiles/VectorAdd.jav similarity index 100% rename from resources/bytecode/javFiles/VectorAdd.jav rename to src/test/resources/bytecode/javFiles/VectorAdd.jav diff --git a/resources/bytecode/javFiles/VectorSuper.jav b/src/test/resources/bytecode/javFiles/VectorSuper.jav similarity index 100% rename from resources/bytecode/javFiles/VectorSuper.jav rename to src/test/resources/bytecode/javFiles/VectorSuper.jav diff --git a/resources/bytecode/javFiles/VoidMeth.jav b/src/test/resources/bytecode/javFiles/VoidMeth.jav similarity index 100% rename from resources/bytecode/javFiles/VoidMeth.jav rename to src/test/resources/bytecode/javFiles/VoidMeth.jav diff --git a/resources/bytecode/javFiles/WC.jav b/src/test/resources/bytecode/javFiles/WC.jav similarity index 100% rename from resources/bytecode/javFiles/WC.jav rename to src/test/resources/bytecode/javFiles/WC.jav diff --git a/resources/bytecode/javFiles/While.jav b/src/test/resources/bytecode/javFiles/While.jav similarity index 100% rename from resources/bytecode/javFiles/While.jav rename to src/test/resources/bytecode/javFiles/While.jav diff --git a/resources/bytecode/javFiles/Y.jav b/src/test/resources/bytecode/javFiles/Y.jav similarity index 100% rename from resources/bytecode/javFiles/Y.jav rename to src/test/resources/bytecode/javFiles/Y.jav diff --git a/resources/bytecode/javFiles/applyLambda.jav b/src/test/resources/bytecode/javFiles/applyLambda.jav similarity index 100% rename from resources/bytecode/javFiles/applyLambda.jav rename to src/test/resources/bytecode/javFiles/applyLambda.jav diff --git a/resources/bytecode/javFiles/mathStruc.jav b/src/test/resources/bytecode/javFiles/mathStruc.jav similarity index 100% rename from resources/bytecode/javFiles/mathStruc.jav rename to src/test/resources/bytecode/javFiles/mathStruc.jav diff --git a/resources/bytecode/javFiles/mathStrucInteger.jav b/src/test/resources/bytecode/javFiles/mathStrucInteger.jav similarity index 100% rename from resources/bytecode/javFiles/mathStrucInteger.jav rename to src/test/resources/bytecode/javFiles/mathStrucInteger.jav diff --git a/resources/bytecode/javFiles/mathStrucMatrixOP.jav b/src/test/resources/bytecode/javFiles/mathStrucMatrixOP.jav similarity index 100% rename from resources/bytecode/javFiles/mathStrucMatrixOP.jav rename to src/test/resources/bytecode/javFiles/mathStrucMatrixOP.jav diff --git a/resources/insertGenericsJav/TestAny.jav b/src/test/resources/insertGenericsJav/TestAny.jav similarity index 100% rename from resources/insertGenericsJav/TestAny.jav rename to src/test/resources/insertGenericsJav/TestAny.jav diff --git a/resources/insertGenericsJav/TestClassField.jav b/src/test/resources/insertGenericsJav/TestClassField.jav similarity index 100% rename from resources/insertGenericsJav/TestClassField.jav rename to src/test/resources/insertGenericsJav/TestClassField.jav diff --git a/resources/insertGenericsJav/TestContraVariant.jav b/src/test/resources/insertGenericsJav/TestContraVariant.jav similarity index 100% rename from resources/insertGenericsJav/TestContraVariant.jav rename to src/test/resources/insertGenericsJav/TestContraVariant.jav diff --git a/resources/insertGenericsJav/TestGGFinder.jav b/src/test/resources/insertGenericsJav/TestGGFinder.jav similarity index 100% rename from resources/insertGenericsJav/TestGGFinder.jav rename to src/test/resources/insertGenericsJav/TestGGFinder.jav diff --git a/resources/insertGenericsJav/TestLocalVarLambda.jav b/src/test/resources/insertGenericsJav/TestLocalVarLambda.jav similarity index 100% rename from resources/insertGenericsJav/TestLocalVarLambda.jav rename to src/test/resources/insertGenericsJav/TestLocalVarLambda.jav diff --git a/resources/insertGenericsJav/TestMutualRecursion.jav b/src/test/resources/insertGenericsJav/TestMutualRecursion.jav similarity index 100% rename from resources/insertGenericsJav/TestMutualRecursion.jav rename to src/test/resources/insertGenericsJav/TestMutualRecursion.jav diff --git a/resources/insertGenericsJav/TestMutualRecursionWithField.jav b/src/test/resources/insertGenericsJav/TestMutualRecursionWithField.jav similarity index 100% rename from resources/insertGenericsJav/TestMutualRecursionWithField.jav rename to src/test/resources/insertGenericsJav/TestMutualRecursionWithField.jav diff --git a/resources/insertGenericsJav/TestMutualRecursionWithField2.jav b/src/test/resources/insertGenericsJav/TestMutualRecursionWithField2.jav similarity index 100% rename from resources/insertGenericsJav/TestMutualRecursionWithField2.jav rename to src/test/resources/insertGenericsJav/TestMutualRecursionWithField2.jav diff --git a/resources/insertGenericsJav/TestMutualRecursionWithField3.jav b/src/test/resources/insertGenericsJav/TestMutualRecursionWithField3.jav similarity index 100% rename from resources/insertGenericsJav/TestMutualRecursionWithField3.jav rename to src/test/resources/insertGenericsJav/TestMutualRecursionWithField3.jav diff --git a/resources/insertGenericsJav/TestReturnVar.jav b/src/test/resources/insertGenericsJav/TestReturnVar.jav similarity index 100% rename from resources/insertGenericsJav/TestReturnVar.jav rename to src/test/resources/insertGenericsJav/TestReturnVar.jav diff --git a/resources/insertGenericsJav/TestSecondLineOfClassConstraints.jav b/src/test/resources/insertGenericsJav/TestSecondLineOfClassConstraints.jav similarity index 100% rename from resources/insertGenericsJav/TestSecondLineOfClassConstraints.jav rename to src/test/resources/insertGenericsJav/TestSecondLineOfClassConstraints.jav diff --git a/resources/insertGenericsJav/TestTPHsAndGenerics.jav b/src/test/resources/insertGenericsJav/TestTPHsAndGenerics.jav similarity index 100% rename from resources/insertGenericsJav/TestTPHsAndGenerics.jav rename to src/test/resources/insertGenericsJav/TestTPHsAndGenerics.jav diff --git a/resources/insertGenericsJav/TestTPHsAndGenerics2.jav b/src/test/resources/insertGenericsJav/TestTPHsAndGenerics2.jav similarity index 100% rename from resources/insertGenericsJav/TestTPHsAndGenerics2.jav rename to src/test/resources/insertGenericsJav/TestTPHsAndGenerics2.jav diff --git a/resources/insertGenericsJav/TestThreeArgs.jav b/src/test/resources/insertGenericsJav/TestThreeArgs.jav similarity index 100% rename from resources/insertGenericsJav/TestThreeArgs.jav rename to src/test/resources/insertGenericsJav/TestThreeArgs.jav diff --git a/resources/insertGenericsJav/TestTwoArgs.jav b/src/test/resources/insertGenericsJav/TestTwoArgs.jav similarity index 100% rename from resources/insertGenericsJav/TestTwoArgs.jav rename to src/test/resources/insertGenericsJav/TestTwoArgs.jav diff --git a/resources/insertGenericsJav/TestTwoArgs2.jav b/src/test/resources/insertGenericsJav/TestTwoArgs2.jav similarity index 100% rename from resources/insertGenericsJav/TestTwoArgs2.jav rename to src/test/resources/insertGenericsJav/TestTwoArgs2.jav diff --git a/resources/insertGenericsJav/TestTwoCalls.jav b/src/test/resources/insertGenericsJav/TestTwoCalls.jav similarity index 100% rename from resources/insertGenericsJav/TestTwoCalls.jav rename to src/test/resources/insertGenericsJav/TestTwoCalls.jav diff --git a/resources/insertGenericsJav/TestVector.jav b/src/test/resources/insertGenericsJav/TestVector.jav similarity index 100% rename from resources/insertGenericsJav/TestVector.jav rename to src/test/resources/insertGenericsJav/TestVector.jav diff --git a/resources/insertGenericsJav/TestVectorArg.jav b/src/test/resources/insertGenericsJav/TestVectorArg.jav similarity index 100% rename from resources/insertGenericsJav/TestVectorArg.jav rename to src/test/resources/insertGenericsJav/TestVectorArg.jav diff --git a/resources/insertGenericsJav/TestVoidMeth.jav b/src/test/resources/insertGenericsJav/TestVoidMeth.jav similarity index 100% rename from resources/insertGenericsJav/TestVoidMeth.jav rename to src/test/resources/insertGenericsJav/TestVoidMeth.jav diff --git a/resources/javFiles/AddLong.jav b/src/test/resources/javFiles/AddLong.jav similarity index 100% rename from resources/javFiles/AddLong.jav rename to src/test/resources/javFiles/AddLong.jav diff --git a/resources/javFiles/EmptyClass.jav b/src/test/resources/javFiles/EmptyClass.jav similarity index 100% rename from resources/javFiles/EmptyClass.jav rename to src/test/resources/javFiles/EmptyClass.jav diff --git a/resources/javFiles/EmptyMethod.jav b/src/test/resources/javFiles/EmptyMethod.jav similarity index 100% rename from resources/javFiles/EmptyMethod.jav rename to src/test/resources/javFiles/EmptyMethod.jav diff --git a/resources/javFiles/Expressions.jav b/src/test/resources/javFiles/Expressions.jav similarity index 100% rename from resources/javFiles/Expressions.jav rename to src/test/resources/javFiles/Expressions.jav diff --git a/resources/javFiles/FC_Matrix.jav b/src/test/resources/javFiles/FC_Matrix.jav similarity index 100% rename from resources/javFiles/FC_Matrix.jav rename to src/test/resources/javFiles/FC_Matrix.jav diff --git a/resources/javFiles/Faculty.jav b/src/test/resources/javFiles/Faculty.jav similarity index 100% rename from resources/javFiles/Faculty.jav rename to src/test/resources/javFiles/Faculty.jav diff --git a/resources/javFiles/FacultyIf.jav b/src/test/resources/javFiles/FacultyIf.jav similarity index 100% rename from resources/javFiles/FacultyIf.jav rename to src/test/resources/javFiles/FacultyIf.jav diff --git a/resources/javFiles/FacultyTyped.jav b/src/test/resources/javFiles/FacultyTyped.jav similarity index 100% rename from resources/javFiles/FacultyTyped.jav rename to src/test/resources/javFiles/FacultyTyped.jav diff --git a/resources/javFiles/FieldAccess.jav b/src/test/resources/javFiles/FieldAccess.jav similarity index 100% rename from resources/javFiles/FieldAccess.jav rename to src/test/resources/javFiles/FieldAccess.jav diff --git a/resources/javFiles/Fields.jav b/src/test/resources/javFiles/Fields.jav similarity index 100% rename from resources/javFiles/Fields.jav rename to src/test/resources/javFiles/Fields.jav diff --git a/resources/javFiles/Generics.jav b/src/test/resources/javFiles/Generics.jav similarity index 100% rename from resources/javFiles/Generics.jav rename to src/test/resources/javFiles/Generics.jav diff --git a/resources/javFiles/IfTest.jav b/src/test/resources/javFiles/IfTest.jav similarity index 100% rename from resources/javFiles/IfTest.jav rename to src/test/resources/javFiles/IfTest.jav diff --git a/resources/javFiles/Import.jav b/src/test/resources/javFiles/Import.jav similarity index 100% rename from resources/javFiles/Import.jav rename to src/test/resources/javFiles/Import.jav diff --git a/resources/javFiles/Lambda.jav b/src/test/resources/javFiles/Lambda.jav similarity index 100% rename from resources/javFiles/Lambda.jav rename to src/test/resources/javFiles/Lambda.jav diff --git a/resources/javFiles/Lambda2.jav b/src/test/resources/javFiles/Lambda2.jav similarity index 100% rename from resources/javFiles/Lambda2.jav rename to src/test/resources/javFiles/Lambda2.jav diff --git a/resources/javFiles/Lambda3.jav b/src/test/resources/javFiles/Lambda3.jav similarity index 100% rename from resources/javFiles/Lambda3.jav rename to src/test/resources/javFiles/Lambda3.jav diff --git a/resources/javFiles/LambdaField.jav b/src/test/resources/javFiles/LambdaField.jav similarity index 100% rename from resources/javFiles/LambdaField.jav rename to src/test/resources/javFiles/LambdaField.jav diff --git a/resources/javFiles/LambdaRunnable.jav b/src/test/resources/javFiles/LambdaRunnable.jav similarity index 100% rename from resources/javFiles/LambdaRunnable.jav rename to src/test/resources/javFiles/LambdaRunnable.jav diff --git a/resources/javFiles/ListenerOverload.jav b/src/test/resources/javFiles/ListenerOverload.jav similarity index 100% rename from resources/javFiles/ListenerOverload.jav rename to src/test/resources/javFiles/ListenerOverload.jav diff --git a/resources/javFiles/Matrix.jav b/src/test/resources/javFiles/Matrix.jav similarity index 100% rename from resources/javFiles/Matrix.jav rename to src/test/resources/javFiles/Matrix.jav diff --git a/resources/javFiles/Meth_Gen.jav b/src/test/resources/javFiles/Meth_Gen.jav similarity index 100% rename from resources/javFiles/Meth_Gen.jav rename to src/test/resources/javFiles/Meth_Gen.jav diff --git a/resources/javFiles/MethodCallGenerics.jav b/src/test/resources/javFiles/MethodCallGenerics.jav similarity index 100% rename from resources/javFiles/MethodCallGenerics.jav rename to src/test/resources/javFiles/MethodCallGenerics.jav diff --git a/resources/javFiles/MethodWildcardGen.jav b/src/test/resources/javFiles/MethodWildcardGen.jav similarity index 100% rename from resources/javFiles/MethodWildcardGen.jav rename to src/test/resources/javFiles/MethodWildcardGen.jav diff --git a/resources/javFiles/Methods.jav b/src/test/resources/javFiles/Methods.jav similarity index 100% rename from resources/javFiles/Methods.jav rename to src/test/resources/javFiles/Methods.jav diff --git a/resources/javFiles/MethodsEasy.jav b/src/test/resources/javFiles/MethodsEasy.jav similarity index 100% rename from resources/javFiles/MethodsEasy.jav rename to src/test/resources/javFiles/MethodsEasy.jav diff --git a/resources/javFiles/Op1.jav b/src/test/resources/javFiles/Op1.jav similarity index 100% rename from resources/javFiles/Op1.jav rename to src/test/resources/javFiles/Op1.jav diff --git a/resources/javFiles/Package.jav b/src/test/resources/javFiles/Package.jav similarity index 100% rename from resources/javFiles/Package.jav rename to src/test/resources/javFiles/Package.jav diff --git a/resources/javFiles/Sorting.jav b/src/test/resources/javFiles/Sorting.jav similarity index 100% rename from resources/javFiles/Sorting.jav rename to src/test/resources/javFiles/Sorting.jav diff --git a/resources/javFiles/Subclass.jav b/src/test/resources/javFiles/Subclass.jav similarity index 100% rename from resources/javFiles/Subclass.jav rename to src/test/resources/javFiles/Subclass.jav diff --git a/resources/javFiles/Superclass.jav b/src/test/resources/javFiles/Superclass.jav similarity index 100% rename from resources/javFiles/Superclass.jav rename to src/test/resources/javFiles/Superclass.jav diff --git a/resources/javFiles/Vector.jav b/src/test/resources/javFiles/Vector.jav similarity index 100% rename from resources/javFiles/Vector.jav rename to src/test/resources/javFiles/Vector.jav diff --git a/resources/javFiles/fc.jav b/src/test/resources/javFiles/fc.jav similarity index 100% rename from resources/javFiles/fc.jav rename to src/test/resources/javFiles/fc.jav diff --git a/resources/javFiles/mathStruc.jav b/src/test/resources/javFiles/mathStruc.jav similarity index 100% rename from resources/javFiles/mathStruc.jav rename to src/test/resources/javFiles/mathStruc.jav diff --git a/resources/javFiles/packageTest/Gen.jav b/src/test/resources/javFiles/packageTest/Gen.jav similarity index 100% rename from resources/javFiles/packageTest/Gen.jav rename to src/test/resources/javFiles/packageTest/Gen.jav diff --git a/resources/javFiles/packageTest/OLMain.jav b/src/test/resources/javFiles/packageTest/OLMain.jav similarity index 100% rename from resources/javFiles/packageTest/OLMain.jav rename to src/test/resources/javFiles/packageTest/OLMain.jav diff --git a/resources/javFiles/packageTest/OLOneFile.jav b/src/test/resources/javFiles/packageTest/OLOneFile.jav similarity index 100% rename from resources/javFiles/packageTest/OLOneFile.jav rename to src/test/resources/javFiles/packageTest/OLOneFile.jav diff --git a/resources/javFiles/packageTest/OLTest.txt b/src/test/resources/javFiles/packageTest/OLTest.txt similarity index 100% rename from resources/javFiles/packageTest/OLTest.txt rename to src/test/resources/javFiles/packageTest/OLTest.txt diff --git a/resources/javFiles/packageTest/OLextends.jav b/src/test/resources/javFiles/packageTest/OLextends.jav similarity index 100% rename from resources/javFiles/packageTest/OLextends.jav rename to src/test/resources/javFiles/packageTest/OLextends.jav diff --git a/resources/javFiles/packageTest/Pair2.jav b/src/test/resources/javFiles/packageTest/Pair2.jav similarity index 100% rename from resources/javFiles/packageTest/Pair2.jav rename to src/test/resources/javFiles/packageTest/Pair2.jav diff --git a/resources/javFiles/packageTest/Test.jav b/src/test/resources/javFiles/packageTest/Test.jav similarity index 100% rename from resources/javFiles/packageTest/Test.jav rename to src/test/resources/javFiles/packageTest/Test.jav diff --git a/resources/javFiles/packageTest/UseOLMain.java b/src/test/resources/javFiles/packageTest/UseOLMain.java similarity index 100% rename from resources/javFiles/packageTest/UseOLMain.java rename to src/test/resources/javFiles/packageTest/UseOLMain.java diff --git a/resources/javFiles/packageTest/de/test/ImportTest.jav b/src/test/resources/javFiles/packageTest/de/test/ImportTest.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/ImportTest.jav rename to src/test/resources/javFiles/packageTest/de/test/ImportTest.jav diff --git a/resources/javFiles/packageTest/de/test/ImportTest2.jav b/src/test/resources/javFiles/packageTest/de/test/ImportTest2.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/ImportTest2.jav rename to src/test/resources/javFiles/packageTest/de/test/ImportTest2.jav diff --git a/resources/javFiles/packageTest/de/test/ImportTestDefault.jav b/src/test/resources/javFiles/packageTest/de/test/ImportTestDefault.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/ImportTestDefault.jav rename to src/test/resources/javFiles/packageTest/de/test/ImportTestDefault.jav diff --git a/resources/javFiles/packageTest/de/test/OL.jav b/src/test/resources/javFiles/packageTest/de/test/OL.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/OL.jav rename to src/test/resources/javFiles/packageTest/de/test/OL.jav diff --git a/resources/javFiles/packageTest/de/test/Pair.jav b/src/test/resources/javFiles/packageTest/de/test/Pair.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/Pair.jav rename to src/test/resources/javFiles/packageTest/de/test/Pair.jav diff --git a/resources/javFiles/packageTest/de/test/TestClass.jav b/src/test/resources/javFiles/packageTest/de/test/TestClass.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/TestClass.jav rename to src/test/resources/javFiles/packageTest/de/test/TestClass.jav diff --git a/resources/javFiles/packageTest/de/test/ToImport.jav b/src/test/resources/javFiles/packageTest/de/test/ToImport.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/ToImport.jav rename to src/test/resources/javFiles/packageTest/de/test/ToImport.jav diff --git a/resources/javFiles/packageTest/de/test/mathStruc.jav b/src/test/resources/javFiles/packageTest/de/test/mathStruc.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/mathStruc.jav rename to src/test/resources/javFiles/packageTest/de/test/mathStruc.jav diff --git a/resources/javFiles/packageTest/de/test/mathStrucVector.jav b/src/test/resources/javFiles/packageTest/de/test/mathStrucVector.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/mathStrucVector.jav rename to src/test/resources/javFiles/packageTest/de/test/mathStrucVector.jav diff --git a/resources/javFiles/packageTest/de/test/output/de/test/mathStrucVectoruse.java b/src/test/resources/javFiles/packageTest/de/test/output/de/test/mathStrucVectoruse.java similarity index 100% rename from resources/javFiles/packageTest/de/test/output/de/test/mathStrucVectoruse.java rename to src/test/resources/javFiles/packageTest/de/test/output/de/test/mathStrucVectoruse.java diff --git a/resources/javFiles/packageTest/de/test/output/mathStrucVectoruse.java b/src/test/resources/javFiles/packageTest/de/test/output/mathStrucVectoruse.java similarity index 100% rename from resources/javFiles/packageTest/de/test/output/mathStrucVectoruse.java rename to src/test/resources/javFiles/packageTest/de/test/output/mathStrucVectoruse.java diff --git a/resources/javFiles/packageTest/de/test/packageNameTestWrongPackage.jav b/src/test/resources/javFiles/packageTest/de/test/packageNameTestWrongPackage.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/packageNameTestWrongPackage.jav rename to src/test/resources/javFiles/packageTest/de/test/packageNameTestWrongPackage.jav diff --git a/resources/javFiles/packageTest/de/test/subpackage1/Test1.jav b/src/test/resources/javFiles/packageTest/de/test/subpackage1/Test1.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/subpackage1/Test1.jav rename to src/test/resources/javFiles/packageTest/de/test/subpackage1/Test1.jav diff --git a/resources/javFiles/packageTest/de/test/subpackage1/ToImport2.jav b/src/test/resources/javFiles/packageTest/de/test/subpackage1/ToImport2.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/subpackage1/ToImport2.jav rename to src/test/resources/javFiles/packageTest/de/test/subpackage1/ToImport2.jav diff --git a/resources/javFiles/packageTest/de/test/subpackage2/Test2.jav b/src/test/resources/javFiles/packageTest/de/test/subpackage2/Test2.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/subpackage2/Test2.jav rename to src/test/resources/javFiles/packageTest/de/test/subpackage2/Test2.jav diff --git a/resources/javFiles/packageTest/de/test/subpackage2/ToImport3.jav b/src/test/resources/javFiles/packageTest/de/test/subpackage2/ToImport3.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/subpackage2/ToImport3.jav rename to src/test/resources/javFiles/packageTest/de/test/subpackage2/ToImport3.jav diff --git a/resources/javFiles/packageTest/de/test/vectorAdd.jav b/src/test/resources/javFiles/packageTest/de/test/vectorAdd.jav similarity index 100% rename from resources/javFiles/packageTest/de/test/vectorAdd.jav rename to src/test/resources/javFiles/packageTest/de/test/vectorAdd.jav diff --git a/resources/javFiles/test.jav b/src/test/resources/javFiles/test.jav similarity index 100% rename from resources/javFiles/test.jav rename to src/test/resources/javFiles/test.jav diff --git a/resources/javFiles/test1.jav b/src/test/resources/javFiles/test1.jav similarity index 100% rename from resources/javFiles/test1.jav rename to src/test/resources/javFiles/test1.jav diff --git a/resources/log4jTesting.xml b/src/test/resources/log4jTesting.xml similarity index 100% rename from resources/log4jTesting.xml rename to src/test/resources/log4jTesting.xml diff --git a/resources/testBytecode/generatedBC/.gitignore b/src/test/resources/testBytecode/generatedBC/.gitignore similarity index 100% rename from resources/testBytecode/generatedBC/.gitignore rename to src/test/resources/testBytecode/generatedBC/.gitignore