From 505828a929d1bd74eb193c9cb170f800b4c1dd50 Mon Sep 17 00:00:00 2001 From: shautvast Date: Sun, 6 Jul 2014 20:01:28 +0200 Subject: [PATCH] gradle, some refactoring, started object args --- .classpath | 21 ---- .gitignore | 12 +++ .project | 17 ---- .settings/org.eclipse.jdt.core.prefs | 95 ------------------ bin/.gitignore | 1 - bin/nl/jssl/autounit/AutoTester.class | Bin 2158 -> 0 bytes bin/nl/jssl/autounit/Configuration.class | Bin 814 -> 0 bytes bin/nl/jssl/autounit/CoverageAnalyser.class | Bin 6164 -> 0 bytes bin/nl/jssl/autounit/ExecutionException.class | Bin 967 -> 0 bytes bin/nl/jssl/autounit/InAndOutput.class | Bin 618 -> 0 bytes bin/nl/jssl/autounit/InvocationResult.class | Bin 535 -> 0 bytes bin/nl/jssl/autounit/MethodCallResults.class | Bin 2451 -> 0 bytes bin/nl/jssl/autounit/MethodcallExecutor.class | Bin 3187 -> 0 bytes bin/nl/jssl/autounit/Player.class | Bin 1615 -> 0 bytes bin/nl/jssl/autounit/PrimtiveTypeTests.class | Bin 3728 -> 0 bytes bin/nl/jssl/autounit/Recorder.class | Bin 3949 -> 0 bytes bin/nl/jssl/autounit/ResultsWriter.class | Bin 1945 -> 0 bytes bin/nl/jssl/autounit/StringTypeTests.class | Bin 2174 -> 0 bytes .../inputs/ArgumentsForSingleCall.class | Bin 406 -> 0 bytes .../inputs/BooleanInputsFactory.class | Bin 1165 -> 0 bytes .../autounit/inputs/ByteInputsFactory.class | Bin 1193 -> 0 bytes .../inputs/CombinedInputSetFactory.class | Bin 4724 -> 0 bytes .../autounit/inputs/DoubleInputsFactory.class | Bin 1412 -> 0 bytes .../autounit/inputs/FloatInputsFactory.class | Bin 1392 -> 0 bytes .../jssl/autounit/inputs/InputsFactory.class | Bin 358 -> 0 bytes .../inputs/IntegerInputsFactory.class | Bin 1206 -> 0 bytes .../autounit/inputs/LongInputsFactory.class | Bin 1415 -> 0 bytes .../jssl/autounit/inputs/MocksFactory.class | Bin 1621 -> 0 bytes .../autounit/inputs/SingleTypeInputs.class | Bin 488 -> 0 bytes .../autounit/inputs/StringInputsFactory.class | Bin 1538 -> 0 bytes .../inspect/ConstantpoolReaderTest.class | Bin 1585 -> 0 bytes .../testclasses/BooleanArguments.class | Bin 900 -> 0 bytes .../autounit/testclasses/ByteArguments.class | Bin 463 -> 0 bytes .../autounit/testclasses/FloatArguments.class | Bin 449 -> 0 bytes .../autounit/testclasses/IntArguments.class | Bin 674 -> 0 bytes .../testclasses/MethodSignatureMaker.class | Bin 1654 -> 0 bytes .../jssl/autounit/testclasses/MyMethod.class | Bin 772 -> 0 bytes .../testclasses/StringArguments.class | Bin 579 -> 0 bytes .../autounit/utils/ArgumentsConverter.class | Bin 2074 -> 0 bytes .../autounit/utils/ConstantpoolReader.class | Bin 2045 -> 0 bytes .../autounit/utils/SilentObjectCreator.class | Bin 1987 -> 0 bytes build.gradle | 29 ++++++ ....autounit.testclasses.BooleanArguments.xml | 16 --- ...ssl.autounit.testclasses.ByteArguments.xml | 21 ---- ...sl.autounit.testclasses.FloatArguments.xml | 15 --- nl.jssl.autounit.testclasses.IntArguments.xml | 36 ------- .../java}/nl/jssl/autounit/AutoTester.java | 5 +- .../java}/nl/jssl/autounit/Configuration.java | 4 + .../nl/jssl/autounit/CoverageAnalyser.java | 1 + .../nl/jssl/autounit/ExecutionException.java | 0 .../java}/nl/jssl/autounit/InAndOutput.java | 0 .../nl/jssl/autounit/MethodCallResults.java | 0 .../nl/jssl/autounit/MethodcallExecutor.java | 19 ++-- .../java}/nl/jssl/autounit/Player.java | 0 .../java}/nl/jssl/autounit/Recorder.java | 5 +- .../java}/nl/jssl/autounit/ResultsWriter.java | 9 +- .../inputs/ArgumentsForSingleParameter.java | 10 ++ .../inputs/MethodcallArgumentsFactory.java | 94 +++++++++++++++++ .../inputs/objects/ObjectArgumentFactory.java | 55 ++++++++++ .../inputs/objects/StringArgumentFactory.java | 26 +++++ .../inputs/primtives/ArgumentFactory.java | 7 ++ .../primtives/BooleanArgumentFactory.java | 14 +++ .../inputs/primtives/ByteArgumentFactory.java | 15 +++ .../primtives/DoubleArgumentFactory.java | 23 +++++ .../primtives/FloatArgumentFactory.java | 22 ++++ .../primtives/IntegerArgumentFactory.java | 20 ++++ .../inputs/primtives/LongArgumentFactory.java | 23 +++++ .../autounit/utils/ConstantpoolReader.java | 2 +- .../autounit/utils/MemoryClassloader.java | 0 .../nl/jssl/autounit/utils/Permuter.java | 8 +- .../autounit/utils/SilentObjectCreator.java | 2 +- .../utils/XStreamArgumentsConverter.java} | 11 +- .../inputs/ArgumentsForSingleCall.java | 7 -- .../autounit/inputs/BooleanInputsFactory.java | 12 --- .../autounit/inputs/ByteInputsFactory.java | 13 --- .../inputs/CombinedInputSetFactory.java | 84 ---------------- .../autounit/inputs/DoubleInputsFactory.java | 21 ---- .../autounit/inputs/FloatInputsFactory.java | 20 ---- .../jssl/autounit/inputs/InputsFactory.java | 5 - .../autounit/inputs/IntegerInputsFactory.java | 18 ---- .../autounit/inputs/LongInputsFactory.java | 21 ---- src/nl/jssl/autounit/inputs/MocksFactory.java | 25 ----- .../autounit/inputs/SingleTypeInputs.java | 6 -- .../autounit/inputs/StringInputsFactory.java | 18 ---- .../nl/jssl/autounit/PrimtiveTypeTests.java | 0 .../nl/jssl/autounit/StringTypeTests.java | 0 .../inputs/objects/JavaBeanTests.java | 23 +++++ .../objects/ObjectArgumentFactoryTests.java | 23 +++++ .../inspect/ConstantpoolReaderTest.java | 0 .../nl/jssl/autounit/util/PermuterTests.java | 14 +-- .../testclasses/BooleanArguments.java | 0 .../autounit/testclasses/ByteArguments.java | 0 .../autounit/testclasses/FloatArguments.java | 0 .../autounit/testclasses/IntArguments.java | 0 .../testclasses/MethodSignatureMaker.java | 0 .../jssl/autounit/testclasses/MyMethod.java | 0 .../jssl/autounit/testclasses/SomeBean.java | 24 +++++ .../autounit/testclasses/StringArguments.java | 0 98 files changed, 467 insertions(+), 505 deletions(-) delete mode 100644 .classpath create mode 100644 .gitignore delete mode 100644 .project delete mode 100644 .settings/org.eclipse.jdt.core.prefs delete mode 100644 bin/.gitignore delete mode 100644 bin/nl/jssl/autounit/AutoTester.class delete mode 100644 bin/nl/jssl/autounit/Configuration.class delete mode 100644 bin/nl/jssl/autounit/CoverageAnalyser.class delete mode 100644 bin/nl/jssl/autounit/ExecutionException.class delete mode 100644 bin/nl/jssl/autounit/InAndOutput.class delete mode 100644 bin/nl/jssl/autounit/InvocationResult.class delete mode 100644 bin/nl/jssl/autounit/MethodCallResults.class delete mode 100644 bin/nl/jssl/autounit/MethodcallExecutor.class delete mode 100644 bin/nl/jssl/autounit/Player.class delete mode 100644 bin/nl/jssl/autounit/PrimtiveTypeTests.class delete mode 100644 bin/nl/jssl/autounit/Recorder.class delete mode 100644 bin/nl/jssl/autounit/ResultsWriter.class delete mode 100644 bin/nl/jssl/autounit/StringTypeTests.class delete mode 100644 bin/nl/jssl/autounit/inputs/ArgumentsForSingleCall.class delete mode 100644 bin/nl/jssl/autounit/inputs/BooleanInputsFactory.class delete mode 100644 bin/nl/jssl/autounit/inputs/ByteInputsFactory.class delete mode 100644 bin/nl/jssl/autounit/inputs/CombinedInputSetFactory.class delete mode 100644 bin/nl/jssl/autounit/inputs/DoubleInputsFactory.class delete mode 100644 bin/nl/jssl/autounit/inputs/FloatInputsFactory.class delete mode 100644 bin/nl/jssl/autounit/inputs/InputsFactory.class delete mode 100644 bin/nl/jssl/autounit/inputs/IntegerInputsFactory.class delete mode 100644 bin/nl/jssl/autounit/inputs/LongInputsFactory.class delete mode 100644 bin/nl/jssl/autounit/inputs/MocksFactory.class delete mode 100644 bin/nl/jssl/autounit/inputs/SingleTypeInputs.class delete mode 100644 bin/nl/jssl/autounit/inputs/StringInputsFactory.class delete mode 100644 bin/nl/jssl/autounit/inspect/ConstantpoolReaderTest.class delete mode 100644 bin/nl/jssl/autounit/testclasses/BooleanArguments.class delete mode 100644 bin/nl/jssl/autounit/testclasses/ByteArguments.class delete mode 100644 bin/nl/jssl/autounit/testclasses/FloatArguments.class delete mode 100644 bin/nl/jssl/autounit/testclasses/IntArguments.class delete mode 100644 bin/nl/jssl/autounit/testclasses/MethodSignatureMaker.class delete mode 100644 bin/nl/jssl/autounit/testclasses/MyMethod.class delete mode 100644 bin/nl/jssl/autounit/testclasses/StringArguments.class delete mode 100644 bin/nl/jssl/autounit/utils/ArgumentsConverter.class delete mode 100644 bin/nl/jssl/autounit/utils/ConstantpoolReader.class delete mode 100644 bin/nl/jssl/autounit/utils/SilentObjectCreator.class create mode 100644 build.gradle delete mode 100644 nl.jssl.autounit.testclasses.BooleanArguments.xml delete mode 100644 nl.jssl.autounit.testclasses.ByteArguments.xml delete mode 100644 nl.jssl.autounit.testclasses.FloatArguments.xml delete mode 100644 nl.jssl.autounit.testclasses.IntArguments.xml rename src/{ => main/java}/nl/jssl/autounit/AutoTester.java (88%) rename src/{ => main/java}/nl/jssl/autounit/Configuration.java (90%) rename src/{ => main/java}/nl/jssl/autounit/CoverageAnalyser.java (99%) rename src/{ => main/java}/nl/jssl/autounit/ExecutionException.java (100%) rename src/{ => main/java}/nl/jssl/autounit/InAndOutput.java (100%) rename src/{ => main/java}/nl/jssl/autounit/MethodCallResults.java (100%) rename src/{ => main/java}/nl/jssl/autounit/MethodcallExecutor.java (75%) rename src/{ => main/java}/nl/jssl/autounit/Player.java (100%) rename src/{ => main/java}/nl/jssl/autounit/Recorder.java (89%) rename src/{ => main/java}/nl/jssl/autounit/ResultsWriter.java (74%) create mode 100644 src/main/java/nl/jssl/autounit/inputs/ArgumentsForSingleParameter.java create mode 100644 src/main/java/nl/jssl/autounit/inputs/MethodcallArgumentsFactory.java create mode 100644 src/main/java/nl/jssl/autounit/inputs/objects/ObjectArgumentFactory.java create mode 100644 src/main/java/nl/jssl/autounit/inputs/objects/StringArgumentFactory.java create mode 100644 src/main/java/nl/jssl/autounit/inputs/primtives/ArgumentFactory.java create mode 100644 src/main/java/nl/jssl/autounit/inputs/primtives/BooleanArgumentFactory.java create mode 100644 src/main/java/nl/jssl/autounit/inputs/primtives/ByteArgumentFactory.java create mode 100644 src/main/java/nl/jssl/autounit/inputs/primtives/DoubleArgumentFactory.java create mode 100644 src/main/java/nl/jssl/autounit/inputs/primtives/FloatArgumentFactory.java create mode 100644 src/main/java/nl/jssl/autounit/inputs/primtives/IntegerArgumentFactory.java create mode 100644 src/main/java/nl/jssl/autounit/inputs/primtives/LongArgumentFactory.java rename src/{ => main/java}/nl/jssl/autounit/utils/ConstantpoolReader.java (94%) rename src/{ => main/java}/nl/jssl/autounit/utils/MemoryClassloader.java (100%) rename src/{ => main/java}/nl/jssl/autounit/utils/Permuter.java (90%) rename src/{ => main/java}/nl/jssl/autounit/utils/SilentObjectCreator.java (88%) rename src/{nl/jssl/autounit/utils/ArgumentsConverter.java => main/java/nl/jssl/autounit/utils/XStreamArgumentsConverter.java} (73%) delete mode 100644 src/nl/jssl/autounit/inputs/ArgumentsForSingleCall.java delete mode 100644 src/nl/jssl/autounit/inputs/BooleanInputsFactory.java delete mode 100644 src/nl/jssl/autounit/inputs/ByteInputsFactory.java delete mode 100644 src/nl/jssl/autounit/inputs/CombinedInputSetFactory.java delete mode 100644 src/nl/jssl/autounit/inputs/DoubleInputsFactory.java delete mode 100644 src/nl/jssl/autounit/inputs/FloatInputsFactory.java delete mode 100644 src/nl/jssl/autounit/inputs/InputsFactory.java delete mode 100644 src/nl/jssl/autounit/inputs/IntegerInputsFactory.java delete mode 100644 src/nl/jssl/autounit/inputs/LongInputsFactory.java delete mode 100644 src/nl/jssl/autounit/inputs/MocksFactory.java delete mode 100644 src/nl/jssl/autounit/inputs/SingleTypeInputs.java delete mode 100644 src/nl/jssl/autounit/inputs/StringInputsFactory.java rename {tst => src/test/java}/nl/jssl/autounit/PrimtiveTypeTests.java (100%) rename {tst => src/test/java}/nl/jssl/autounit/StringTypeTests.java (100%) create mode 100644 src/test/java/nl/jssl/autounit/inputs/objects/JavaBeanTests.java create mode 100644 src/test/java/nl/jssl/autounit/inputs/objects/ObjectArgumentFactoryTests.java rename {tst => src/test/java}/nl/jssl/autounit/inspect/ConstantpoolReaderTest.java (100%) rename {tst => src/test/java}/nl/jssl/autounit/util/PermuterTests.java (82%) rename {testclasses => src/test/testclasses}/nl/jssl/autounit/testclasses/BooleanArguments.java (100%) rename {testclasses => src/test/testclasses}/nl/jssl/autounit/testclasses/ByteArguments.java (100%) rename {testclasses => src/test/testclasses}/nl/jssl/autounit/testclasses/FloatArguments.java (100%) rename {testclasses => src/test/testclasses}/nl/jssl/autounit/testclasses/IntArguments.java (100%) rename {testclasses => src/test/testclasses}/nl/jssl/autounit/testclasses/MethodSignatureMaker.java (100%) rename {testclasses => src/test/testclasses}/nl/jssl/autounit/testclasses/MyMethod.java (100%) create mode 100644 src/test/testclasses/nl/jssl/autounit/testclasses/SomeBean.java rename {testclasses => src/test/testclasses}/nl/jssl/autounit/testclasses/StringArguments.java (100%) diff --git a/.classpath b/.classpath deleted file mode 100644 index de71593..0000000 --- a/.classpath +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3ae2f4d --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +/build +/nl.jssl.autounit.testclasses.BooleanArguments.xml +/nl.jssl.autounit.testclasses.ByteArguments.xml +/nl.jssl.autounit.testclasses.FloatArguments.xml +/nl.jssl.autounit.testclasses.IntArguments.xml +/nl.jssl.autounit.testclasses.SomeBean.xml +/nl.jssl.autounit.testclasses.StringArguments.xml +/bin +/.settings +/.gradle +/.project +/.classpath diff --git a/.project b/.project deleted file mode 100644 index 0d83f04..0000000 --- a/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - autounit - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 8634861..0000000 --- a/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,95 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore -org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull -org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault -org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable -org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning -org.eclipse.jdt.core.compiler.problem.deadCode=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore -org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error -org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore -org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore -org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.7 diff --git a/bin/.gitignore b/bin/.gitignore deleted file mode 100644 index 998e0dd..0000000 --- a/bin/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/nl diff --git a/bin/nl/jssl/autounit/AutoTester.class b/bin/nl/jssl/autounit/AutoTester.class deleted file mode 100644 index 41ef729702bd1cd8def8cf2c186556c39ae1f48d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2158 zcmbVN{ZkuN6g`hn7SiP#TA;R4pp=A3QL#W%x1UM|EkU? zab!mQ*&qCq9M5~%gbgrurjyAg@4b7^J@?%E?*9Gn?|%TehhqaR0ykVIb5yA~87mCD z(6xii3jgfNN+5j$tpYtq)(b1+Snfe)d;drl1A$IoRzfGJJoar`35;%D0NIIKWChxm zY+^49B&Je(0}lFS5zW;Lt0rS&kEFmtD>p7!er0L>EO>`biAqEhXSh zfq_d{>?wn{O$=gGpm*wg8cB>{!oWDCJeRSFJD3zO4rH)p9W%#)y0h+sC4S`N?^G~di2J`smaa2QG=->H#-YlYcBFn<$9qXHJiS% z=J5 z)|n5i;&To~J#7sf)!FOJ8kQ6}?}dI*swU;FJ{!GrDka?JTu<<=B>3fU=QF|od^7Ob z!PTl>13l>~lIc^Jg(|v!MfcA2bc(>(rRuC26OJjFuc6!-akP?-J=i&cEww|0VuC)lWB zvx;1ftiJdQyIcI-n|+l#MWHZL#nV5D2u7R7chT<;L{!R*Xg$X`?8lMD1XJ}^5 diff --git a/bin/nl/jssl/autounit/Configuration.class b/bin/nl/jssl/autounit/Configuration.class deleted file mode 100644 index bd5b49ecb346cbfba62371eafbe78dd5fd1f72a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 814 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 diff --git a/bin/nl/jssl/autounit/ExecutionException.class b/bin/nl/jssl/autounit/ExecutionException.class deleted file mode 100644 index 8169f8bb9a8d4baef65fcd2474e139b1707046b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 967 zcma))%}(1u6otTT}1+hU?suZzkqAarN;Euvj$Bz6{c&)A? zb-@GhP>6fSRzM+@*x1)IXTEdK9X~w&y9aQLT^j{~-N1Km;@Ed(nuKYf6Zhgyd1<1< z;Ns3xV=io10_!*Ok92(*4Ba1Tkm!+`?hBMoH61+@SlHX|3s~pjFXdnXi%Te?Bv9$- zKwYMzD;4$Rm9GSkq(CK7c0H%D74#~X*7_}CPqtCa!J{IGAQXx{CBZN)5ZQevWkxHiI|j zFFXjj8U@|{SPV2nRw}A8)H;i`a|S0$xD;GSns>=?)LiacMp``v`#KtmA}qKr@+dJ_ z%~r1fhKh?U91~St-f(+HrZ2Hn~NJs^giMCG2VM;?C8 n0llV{_1{r`r63*dBw#5S=%x+xfehO#$=)Klx{|z;NbLRsM|E(% diff --git a/bin/nl/jssl/autounit/InvocationResult.class b/bin/nl/jssl/autounit/InvocationResult.class deleted file mode 100644 index a1b332017b31fd8cd1ce42d189b6440acc8aba2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 535 zcma)3O-lnY5PjLM{c>&XYW=uXytGx!!J|@;f*>pkDg}?(G}J9|Bb(iVKg&ZAJop3r zQR1Z5iyoA~quwZmoV2}9Ww z`C~!#Vf2&Jy`CmC!+>GX{Ws@tp5BPTADXeMqlC2pH8dDX-QK7Mk`iDAWrxB56;v6T zQIe|5;vrVqt%x-V3L{#99*Hb*{xaz2_lafLkN#X438~+hB9rPoadho({b!4{sO-o| zM~7x8(O-CIxseF9+(2|QIyKbEu9A0087{Bce?ibcm=idhqxDQ74;y4d_+$myn93v? d7-N$nov$*qu|*ycEZVRIa*aG{uuYzaolo>pe`^2$ diff --git a/bin/nl/jssl/autounit/MethodCallResults.class b/bin/nl/jssl/autounit/MethodCallResults.class deleted file mode 100644 index 1556c9945ab7be2f4dfc15abb5d86b98fccb1aa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2451 zcma)7T~pgu5Ixrz3`Pk78wiwALKDE)L}@~jHYOy*2`#OG7ATbTQ`m|T5fUTGndCJ; zqko{U?M#57bUJ-)e^k?RB>}eVW_XcSd+&aoJ-hnn-{1cPa0^xfF@aIbRCiq0RJE#S zS1rR+7jA4BS1upGqFErKEtctq4wWF6j0mai@&#+uivr4)^PceEW zFK|(Rsh6srUJkqp4A$Io^k*hLg%NqXy<}USZh0=_1^23+VX8&L^?2H`YE&%Et2zvJ zBXT@bY^Ye7mHX>zZT8 z?@$@{whcmgwGo?!9!q#-JN>!^#4f+Ja`^C-cji7S0>I}Nn?Bzr!i;6CoL9dy5<@7WHE z?sjFZ^=!^foSV*>bxEc<1s8BJ$UEvR%e>D!90@!T=s%nNAooXA!z}Ag5|5FRo&HS0 z0zPNShQ}fFY)7E)1RQ??7D9c#6Gbc~u*i*a#*33v1ek9F;MArC>!W+KJAB zWP}X3rr>LE^4he$J>4RSrkatcW@_tF&bQ+mMi{w2J0hJumCnA6_z3$Ga?IyJy$_k& z_X>WHxyjB2d#D{haki4u?UsU1a8K4+R-ogVKw?{Smspm+AjojR(H;2TBuRMVY{3Z( zHx7C20u;Eg>S?9ti`rhe9FnVc)hX%ohFl+g4GZDA#2#13lNSCh;&?505T)001MwY` z+li;0zN}DBGEtVy>cS;HyZNDFn|<3pmrqi!uJ(^(H};cjqs%pnNN)JRa^_BuG5o@nx1@v%f}eo%;pX; zafHbjHqPQDX(gkk&|ecHeHtT;8)1wzKB6RJ+~j{V7S=rNSEy1e^JtZ^ex(qDEaoIR znY~)R>HGFg`#&YCPW5coq*r<5?Cd zv1^lUd>BPEOZ0QThrZy}DWYvYM4|!8XU4$l5U;lUegc z*@Po}DzNkmrl*eZg}`4JTg-;%xdVK8fYqLj18h?MPRc)0K7hvO1`SFAKfnDuONGp( z#qVW6%v+?{H1oNQdA^r%*Uv2==2}={JIA>~(hHuA!@v#!cuqfQ#NP719#23dIQt1+ MBe?`jp2e{HA5d^0ZvX%Q diff --git a/bin/nl/jssl/autounit/MethodcallExecutor.class b/bin/nl/jssl/autounit/MethodcallExecutor.class deleted file mode 100644 index fa13f860b49aa7f56d83a51768b0b9ed89d9ff0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3187 zcma)8SyLQU7(I8GnTDZBSQE$sBq0F?$QYxEVN=9lFhF8J%%a9-<_4M!-Pj9)Ta2cx z$`9}*kG`bJCsP%m&??I}tNc;ox!p6+nZblAhQ598x!-cWt^fJ=_dfxg$0H3ffm2pK zv*^0{jNyB>Z<$_ZQhEz^E^FlTmse$$yN-sqK<%QjVr24$HJ`aQw;B(Jl~N5 z=gKY*riWi~KR#;bWC|5%&{2a%fr_r~Sq+B-PQ2356q?Xb1%VbFRY>B8fcohb3KnZHokw8+dPUz53so|8s$udLAC`{obPAdn_2xOw#3bG^G$~aWo zx^z@S7dSX!T5`%?nv>3qF_$N&^%FJ|Z`N>3^3Ssg)ofA3-O`JL<@c0OH*;M& zOTH(ajv0SBF9(MAr=jA(_V#u)F5oQ<7X=Ok)wg4%j!Wnls5B|pU^$b5u0loxnDN5? zKs5$2tYL_8*p*N`)$umo5r|uIm6g_5ln`kM0~+3Cn93O0%d-^I;5{9eF~%SnVZHC> znZUhhT9qWxKDpZ?HsjU`^UE`BD{Ka=f-Cqy!}wnHR|?i~6%(Yf*rf!zCv0avvuI@P ztewf)j?9Ffm~Lh~$hKmyBC}JtuHl+M=RU9K_z*W3O7>G#C8O-k43nzvmud}R)Heh6 zm5=DxOZ0_c9UtRnsAi7(IS!zZu7cxo5 zq7f@^1cjaMS(RjljyYsmS__6d73359;B6&Y>bQq_=7cM~B6~#*y z7`y*YAy6~z8QJ@j#&Xa&Qy77-V+CK5XwM#T9AizOsjK@=q|X(?qK3(uj<4`Fv4wIJ z$h|zIC1tsX*!`3svxqrfjPV(!cUc43Z44ny&G6K;?K@dHW~#AqI7CDT!CBS81oUys zl1@;J($(+-hhCZZ7yA=K81!D8V2i5Ymr@)tH72==sUgWH)cg(JImY;m6Ip`;JUJ4Sdq1Jptv^C^?@CJlTHM68{@@3Zn#UAommp zgB$ViRjq%cG4X(cv4G2?H1HTrJdQTBvQ4zn(RK_mMx!`|F?3)WXK)jpY*oi0NzNik z@kz@nk&j4&qU#Dtp_4mwJ;nk|5>kPmh`&!#62#`Q6wvVy7FTiV8ib8yo()m=7sP21 zT9pikGF(c|BDswQXc~lu3;bQ-AJK!rHm4`QuOj;zMtH(lZ4T@F%TGLR-zyWW$N&HU diff --git a/bin/nl/jssl/autounit/Player.class b/bin/nl/jssl/autounit/Player.class deleted file mode 100644 index 221b5d93ce2b93e73a9791e5e3ac09f50a2999d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1615 zcmb_c+fEZf82+Xd7TQHlisBI!k%HQK7K?a5L6U;TnkE_(GcA*{xNgbrERk371-#V@ zL+XX`+Sl+s)NiIOv=|dF+-AEo|M8pe|L6by^UGHNSMk_ELf~-VXE&nA&&pWW;=t3{ zr@q`)p@XEr;D+3iSziX#?340_s%QaMt4Mo6q-9W10>g#UA#? z7%Tkc5X92E$>Wq|q_vK9&#$8elDRiMM|q9VmZQ<=6j z6y?)6iE#&~I((^caT;gn>uD8AT?++9JA9X$at4^dq=R!LVJ~@0>*747Sd>7$WA=ls z2yJE0JD3(2*>fd(6ORnwG%~p0;-U%ATUELw{a883vXpz)hN%>*d)dVmTqWl;Tn;v4 z&DxE$b8ZYRRTH@G;s$OCIO{T6wZPaTFWDKPs?@?Ywbo?U^vYf)Q&oX(%O%^dQ`109 z{b-@1m$o-s{q&;K;Xl@2;B{y02AKbvp}(lv=cJ%{J7)J&`;Xmfu0{8jDI_OA8){n} zfgAfo{}@#uRjkEfMJ;;fKBpUF=8~x$r^<2=sBpoTQKZ-u-L|*b+?))YRqR?b7P#s{ zf&-(Ml0NPhxl8byn%?0%^BMi0xJzJw{|BsR3Q44C>tc|y(S|jK7|%Q@8&xpc2o6$r zh_VE&Oze+bCHc+G)Nxp#juQf_A8_py@o=ANV^%Nz#9xJ8!RMUlfT%o4*G`f(e1=AENe1FO;9+11Tccb7V1{l$Pu2g2c0 zad^3{Jueq68mG8tPq9R6!;mnrx-6_7hJyvwO2UcLBt+mo9#C%pxYo`{7Pv~_A!P|X QBI$-W!FzuMOFezR0skC`@c;k- diff --git a/bin/nl/jssl/autounit/PrimtiveTypeTests.class b/bin/nl/jssl/autounit/PrimtiveTypeTests.class deleted file mode 100644 index c9498b46db324e1096a471d42968e621fdd28c3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3728 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�M;cE$^QlXEmZv$J=PJH0+4lp1hWYl9E@!3c zk5s&lACm{VV~;!-^5S+5BPW)-9KKiahKg%=(}lr3;A9ismAX8cJaE~X&1i6*yYtMS zxxj%B8)|+rPRmD|?2WYQ$!zV^8QoeclgImK%0*M>;Vdz2u8n^vHkDDH=I^i*>&1M+ zvb1H1Vi<2rt{C{WiW~TidqSPiv!-V0Ik&7NO{}qVn#{{d_&XK9#~&nIwtE{OhuK5V z%Y*-26@S7Cr>2(UWNDa1)pLjgZcDN87Lja0r#>p00+9LL;)TlJNlhZWJ5CqMR#rc0 z$a~qA>P_>IG|Ks&$>(*;;ihgYSYr`eNWNJu6s!yMeuO9ofKxc^;Y}dG3$Q?&yfE^q zaMgwoSEMJxe0RTeLFLYKT(|KVPOM@}V&FY=-{dNQ2!FRamhMH6t4`dcx#7^AAtf->aRaBKp`MPz!|l>y(zO+B_l$g=im}T9QNgm*k41xb-oXx^WaK5! z^yLoG)6t_`-?-)9{gStvtfP3?DNZkv=;Qsgm$~gBQhSNwK1^XhkGlhSiAcT1^)>Y4 zT_hZIM;-K6YGhb(Fcs8)5nskvh|*CkRgxjp3LOuUv=+{>z){CW#NrS}-R@H70JcB-6l z_kO`W$p2aRbertDgX{-fOP-Fb<88+H%W)Z31;3gbZoe}W42<4DEZQDBJi#DIp5MNK zu7Ttl{@8}ItaGdLq5 diff --git a/bin/nl/jssl/autounit/ResultsWriter.class b/bin/nl/jssl/autounit/ResultsWriter.class deleted file mode 100644 index ec4c1b7b87438bced97b0dca8797ec0d8ff24226..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1945 zcmbVNZBrXn6n-wyZU~Dhky5PC7HlyIg~eih3!*fZ+8T%wq(tk>WpfQnH@lhLyMVvQ z4}R*5CLJ@Q-~CaJ=k6{cbg7+jGP!eK&No_p@uzyJB;PXNpKQNsYkHODp%eBU;B zAl<;Rq_HLZz?S}F&yvE^FvM`_fFE+h=1#+?>>UVGGHA!X^aO7*%$7~JX~=yyXza@) z*L&(4@tLt(4Q+}H7gsC_y~;3{%kMA@mE5{WV-O=cG^8|)GTeAom^5^Z41?(CxPXgk znq_sojugWMU&x@vkSSY^*bJI`!rSJ1wjhhLYjS&sdzMMB)-!JBOQkWq@ zy-0QqZ;_@6qzyp|*Gt^CR>k@W|!KD_vIl#6FQfk#j=X;wnLDc$Z-^ygkb`)-78^ z*Bn)}hW8k*ym+_w0?V!|u|B{@8a_PpZX$RcMXbW+wP6?bifuaiWK*#5J$dHn5#GPS0 zcP_PMtg6x|>)601-KcbTH_8n2{g82L5h4lNFJ`Frmkd`=_1p>^X*I?DV^g%G9CxYk8#39+?A11=!s(6d?8)?Ib}pWFkt5tf8}p}_ z6U3KzVT6z-=r=Da>LTbJW}oVxn>{MDb$|goGVD s4!xJiVwd>L5tACeAtk;g`$#Kw_Jq#9qaFJA(pP0$eb2t9-wSM8UX%suaY_Bl6y|NF$2MxdZyRP9xS?YO zMltX#r@DREklWG^d<_YK;hK418n)?Fjm=U`mIHyaix#z)1o|`C9f3sNt;i($F{tAV z&I+6_SdQEX>m})Jn6%OgjnfCT*!3@q1Sl;MKwRgGFyrYbI{Ati9JC-gG0 zP;%)dF@ix2;{tO%S}L2eZTi0So1nF_@|D@7jtiI~P@XKiUWMsr3T+tk$}pFWPr|^m zjdin;JBN#SUBhbvLy>ArpyLg^Nmmc$VNnwNkxZv0k7#)bGa9D5EGf`&8CL`bEEZ!1 zt|u_jWxLiqr-Q4=YRIrp?a(c$j%%1@lO6ep(Z^aIItW21=eu|k_h|qIp=*RC+bX9^ zu4_xvNmpgCVtN@BWxfiVNho;S@ zUhRZ6W@oMg=;ldwM`8QEjt}r5fjltnP}2B9tCR@oyldMeH_1XcathByR@;W7E!RNi zPxnw_T?Tt@C2!jHmh?kA@CWfRRx~VkLvu)K)pg|Y3CG6`3F&y8vE>@~IDLxb(ySBH zI|7qY{0Qn8rMF^T@x9l3^pfpU!v=4pD zH`XHlwM^*^5Uqm8slwYTSHOc(hK6n$~wLT z7mSLuZn5)~C|0z0){>aR*E)9bjer*Qbn^kh%&axXqXV^E607)5EvNfRqk|zas=4gW z0Dj>3r0Y?Xw9T?O$g41Qlu#yV%tk{x9OU`uS@$?>wke7$bv!_oV;Hz`v}cE?nL`p5 z9%`rwj7DAW=7SDfC9gFUMQleAz|r9<$Ad&?OEz4OT++Olduj)_xvSO-Czu?-zD<39gddMk zIl>;*luDgHRnq-XNl#;d&taxHf-$5pgHdGpYYF3!m_P%QQ9(E3M4JT-p+d<%3me0I oc<@==3^ouTq~9g}lQ_UnEbb9~Pf!-?AD-&}93lD(rG5DIKUs=V!T?9S}oX=cBFzIFiaFpbe;m>bP&=QJ0=H^C^+m3a-`@q1f^tu)@P8=EUrX}J9ZE(6~QY}40G`y}u^ z{kh{X&p<~4Ea4Fz)gW%_gSz1LSQ{bGi2P>a0lD$kQ|Q%HfA%6 z8{VqD3uSgS+zolk;Pnx4CExJ;fpl46iqEj)(z5ktbe9C`m#K1PzWr=Kas|p4CBlje zJpFHYdd-6(%Dz6$}aqSy! zy`kNS>}RfKNdnI)9PYU5q MA?Gt_Bym0Z12*3`sQ>@~ diff --git a/bin/nl/jssl/autounit/inputs/ByteInputsFactory.class b/bin/nl/jssl/autounit/inputs/ByteInputsFactory.class deleted file mode 100644 index bf3a109374d2fc1b7c414531484efdfcf2d1c002..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1193 zcmb7D+int36kU6u3>~0_mQpXpOSQ^S>^%4g@<5X&MrspjYV^qij5s(BWG+p3(qHfs ze9}jKu|^X=z@PC8yzIHeaw&;@m~+nFv$NLPYoGJu_t)pPCA3C|sP zmf>oKHS}CZYm8j|esJ6q9d}@lWW)*CzBm?|DXgA$(C+IUS4M)cH4kJ0fRLye%upx9 zO6n0IzB}mZ3Svm5AtOmxZW@;U(0kR^?L*Nvb;3$>&=Ka5unj+sl5zKi;Sjc)^Jr(Z zR|$(f-3{ds?v^+(pB{-L2-4*Jrp*ZNyv@igf8-k!|OvRpT|%#2-F}HCdbX5M*Th8AC zze$OAeh0iRa-{K2yf2hbpnM8`r+G~T$rv(xPKO0p!ZJtvI+0_Lm7sPt0Qtaioa39{ zkbiQ5!hZHm{XKG(;uoxcM)7em{_JhNn0@{3&(F$7u8T7!PzdBCSc=TpNv!j}2_@hx zhjvrZg3RIVy>R)O>jOEU75;mkH?Bvc~( Gcm4vPvpR$T diff --git a/bin/nl/jssl/autounit/inputs/CombinedInputSetFactory.class b/bin/nl/jssl/autounit/inputs/CombinedInputSetFactory.class deleted file mode 100644 index 06c8dcb7591621637946beadec5d50c86789c2f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4724 zcma)9{Zm}k8Gg>PaF^vm5<*NMG>I{Zuz+jQ6eAEKK`|tJDM(7v4=->7H(7SKckfcM zwrXqZM_c=Ct+iHd+SGm}QVpd$<8-DoI@3R({?b3CQ~I29@7}%prOYtPo^#&wp67ku z=Y7xFfBo<89{~6)Zfgh$#FL5m)l4Q4H?mGDo3xy`l}u-yOnf-CGH)f##Zft&Hk}b; z!AaR`8o~lQuNtdHJYgi4;*;}N%>_qbciOgAEXP_kGp?m&W(0PODa)*5CF0{ox?iAv z+FD8)PS!RBCW}`G+@W$ioG>z(f!JXGST%eKmv`2hv>c@Ox&ezJ3<}hAbj}Kdhf|AY z6g6nnQIDvG9Rj-wh|U?AWul6r361p-Xx34Sx+uT3=-7iOjnk=gHeonsQB0&|BD*qg z+B3#{f^jsDr523DtYKSn>`jK9Ws3|PuNpuVf+a^wrsIYuaJr+EmHxnlZC*)`{`k1* zET-Je|KsWBu&?C@P5T=Y@ zM;!N3!WrvHN{o6QmBgLUS-B+ct`*~&=~GIEr>*2t!kjW}W5r}vhK)obiqGLb4ZQ*f z%ZjKthdNHFY^2?s3hYx&phEIk`{f#IO4^fG{G%y)F)DDh#I7=N0*%v-v2cxLsOm<; z1MDRQCWdU=Sd(-_aR!Z&tYIAw;vs>E#V`%FBqp^Z$p5G}-`{|TF{z(?jTt7>SX``P zcS(Yt)o~G@XLT$anF)oD>A%FPSu&F{=0a00tu02v#80I%8H=6B*9RMM@mA(2vg-9K z*}n?yzyr*6mYFJ8fxEZa0|f3bOZv9xQ@wk4>0b79fyaVu`h^()TvFmeB}m;=mR%H! zxT1lDwXYC*u_ql%SZ0@Dukocl!+t^PsFuqC1a9+@)p=FNH6*BM$6lNA??Zu!vLJ#@ z+}+<V(Ox!JPdA55gP?$-9BW28b=Hsb_Yx#RIiWM}*MtMb8Amilb$BsKiu6SCkLm3VtcLc1ZM{iTSyX~$+sYq<3Z)VVe#4sW7SAUd7O z+6(50CEvB}Ri3E#$kG$gN0YpcR3Xc*SgRg_xRZUbhCeXa802f3|22+6i10t3wvc_Y zfivf6CHTK3wgEksL(|*_cD|2Y9PWNs?YM)V%?R^z2S0c6a~F1VW-n)ScQ5v#l_Ng- zu%BnRC$%g8m$^scXo$tSx;OBd4IH|~VGX2P2@8DUOIL?nGtU(_;0TVY^#&Zn-E`YQ zEB8RT*2%Sye7^bz#?*mNb1VNRpKcIh-NEL*oQ@ zR$vn&0{=kwM2{Nw)!x9N)><{&7tUd9t~I=YiN3n-*1AnR62e8f_?WbY;$qh_M}HWudkv=4ggYI;e?sa9=I?TNl{tV@z%^+j4EAE7yi74n$k+-;=g+=tM6 zS|ct?&((@OwR`H`+WM%cz|t{w%Du#WoG4B(qLb+1(|iE;VTcd!^PHbyf(vZT`fSbm zTAcN?7{LTGimij>%b`-k^mrIq&P5bkG0re5PpPi`X~yc>cl!1Q?Imy12ygMgh~jNk z!y>7JAcs!?TNG4%a6!YWT9P(gZLGX4M5_4^@(F)Z707jtCA9X~d)U>ziLZqy!DlCW zK14$gW%;cTdscxqw@S|NxA_CCkRhgbSW)DL*X~o)?o-sR=m>E~6TXAz8FE29(n=Pt z6obQWd8-#Z@kC?|wQ0QOL-LnDEu}i#fc^P8Ol(CUu`t9AUTY_9pw zIozb#yRKQG&7NQ*0?x7iM%nSsQ;ip>voXwLoXVQOi-RiEpu`F`*$LX=PD@kKLsm%fK*$^T4oj;~#P5 zRyRU4QP=(qSMKx=D4ux~T4)oQr1zeC=G^am-#KUc{qLtQ0B)loBSx4u4RynD3{`lp z<(ayx>gKlRI%?7K)(mYaI4p{)YuURp5`;4wVn?WkFzf2_+J;tjWk`gnPB1M11Szj` zjshW`&a4s=3sy~25JztkGP(%^CEe5>ds}Ooy&^b2VW?zPg|RAZ-9JapguAXggqc#O zv~Aeu2t9Sp4G9tE)1@ON3x;rum#>!xr$n>ntWz{+O}r+~{h zQ3;vn3OO0Wgmfo?#~CR|p;vmuo%J6D7jQ|&MMD3P$g*(PlNiHgZi6k%nza?Qp(wrn zbr3uXu3%Ee)s`lQe3F>LHG;e&3{P8rK^RUKGbdU5EYeA2kY#95tNC$FQQ^SkGS8)u zCP?}gS<=_vp+!(!&2d+R&CMbVHeC<9#O%WnC1g+2FwzOML>OruDDG)ARH@^s{3a3# z|DB|58wq_CS5!C4Vmr#CR4mV~YKyu*-sjs)>a5>0Lb-`gRJo2+T0XP3JTL+73IDpd z&N1Hkd*ii-Pb%-kdslW3%7@@}l2<8kCeX)rG7LaJ2KdASfB!0E%#o=!%>ITk z&@ckb0Ee%PH@xpTd4h=ow}REz*UjX6Fvp4-TW|*!PgV3SxiICnLp$i6O_H81hlU G=KlfCQ*3Sk diff --git a/bin/nl/jssl/autounit/inputs/FloatInputsFactory.class b/bin/nl/jssl/autounit/inputs/FloatInputsFactory.class deleted file mode 100644 index a6d0f560e4366a49b98b152b91d6280171abf495..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1392 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 BlXw6C diff --git a/bin/nl/jssl/autounit/inputs/SingleTypeInputs.class b/bin/nl/jssl/autounit/inputs/SingleTypeInputs.class deleted file mode 100644 index 338332ebe409a25a5b9e1fc2c996b0122d774b6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 488 zcma)2!A=4(6r8dP2(F@_-n}6QYvN4^2{AD-+30}{_wL%PCACYstqGsy$;5*n;71wX zE?n@$WnO36H+^q@e!so}+~TZ_2E)*3zAQ`4g?EKF%5h~@-j#f=Os-|JUdhK=Xd`48 zEXBLv-YLyz){1qkO2^QeC~BNC1jDNZLwH}j$SwkOA~exr=*7y&C;yg8n}}3PhJIXR zLNA0>72k@XdsQXFDBgFZF~h~K5ly=_<9oYIl4Lw3tM0t;Hj@vk8u0x8`q$Ow44t{k zjd0%5o0~~;7uSJkVRHVQE@kG%(~Y#7(dG|af-<7;L6ue65VncUY7R6M=&(6$uT_p7DGG$Ao5YJ@=W+t99c$+Am!rzZRe|BH_V zj3oX5f0Xg;15#+4K$D&6%-nnKx%b?ezyE&!0q_W~l86Z`*_OWNd6q6)%4ylA(oOrI zr96E@xu)HG6D-zbT{-Sy5`6+Ad-99aEonFPce{H=T_uqaSnLIJ4nSb6?%1A^wmNVe z>w_U1hD#2$4)2ySEl;m@7?%W6<+^2(Xhk5N%WnzvRh@>B#GpX_(l}`hV>F2oftd~; zM*U%`7Oy=@6zYd;fdP+Y#D5arcLPG|V0*P|OGMnpa zo8KCMz?6n0QUb#@(>C6=_IC|;Q|?*@OI35~(%O=)>92#$G~$@{;nU1oeKtLT<<8pm z7Le5&U?QO=0;?ghP|P5SQoc7FyMZ(g4~)>=$J#KPwp1;bY&Scw%7w}m;L1UbLMmbF zl`5qq76o!00-Yv!fl(R@nD&R9hCB*v57}r4Otdo#Teg({m_m^?^qhUe*K9?Dj{5@F zyt=f*@T~28yXR?rg7){@Q?F5bD!zb+8n4r1D$aPXEw;y0_2X)VYyUTN0&V9PhK@1* z6WQ^T0(+piOWVdH(x>u7| z@ddor3#gbX%WL1m3tuAf^vo_l0WZAizwhhQ=X^i?*UR7k0B{#u9(n`<-3<1PX$G=w zxUtty|i zq$g0m|1?yIjmX}^MS*e0)tJcGpdQ;*YTP;U5E$ERYa6vxBQgTJ2{fHdjgf|+HrKZY#Qm^Y9%|$MI5=3&RcXp6R5V0n&zDBl`(<0T{f-@jOLG= zM5K&rrQu=fJWLnb(5Y1>Skrbn-EFs&w#H$;ybNc=G2%mWP__XPnv8v@`0j#y&xJ}5*d8VQ`*kGD0FDu!q zmhmY*^T1ZfN+mdL_VGEE1-!)FXljC-3{*GY4JT~H$CtQI-#uySnFjXO4+8yJCS2Wh zDZHLXwj-&qV+Cf&wFDA#tB5*mxS(RJ>b3T1{)xAU{4+tN2*Ls~q0 zdx_{5wyX@FtjnbH6O^~&b{eYH$o&=L=YK|b91mOv6T&YI=;4aL4M&f=fV1G-H*<*6 zubH{b(U}1s1KF54aCd<_)*-FE805OZ-4KSka{iY%JIH@%EplFafssdt)I2+U^#Ehv zzre(!*+WdO-x|JgfSdK(&oM2q(Dw_jj`cmq9f3b_Z=vuT=En*LSafG!2>kr&Z%3;D zN9zVk90xfLalD98K0e8Z=lNSKasCQdGRpU;kOVrEOIXG#9+2WF=IFD=7))XYU*j86 vohMoi>wKZkJ3hT~+e6wmcybLrujpL#AUuqCnDE$<9s|es1iqz54>tb=<&m2= diff --git a/bin/nl/jssl/autounit/testclasses/BooleanArguments.class b/bin/nl/jssl/autounit/testclasses/BooleanArguments.class deleted file mode 100644 index 342052e6e4b3aadcdd13dcf9cfa186f3ec51a53a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 900 zcmb7DO>fgc5Ph4(v143XLX$#WXbYt{f!0VIgOFMzPANU4iqzaT&Ng*$?Z{qN{1tuy zSGY6?Bz^!t3NdRN2qhN|p4pF?H*emozyJ914Zw3e(@|pB3j=qOB!SCQ8Kt2wT`3aj z1w2Va;vPm(Ab5BXkJAeg%0x$nVP(QExf}3s>>dv%!jlZu7e1xFWGFkWK11bIG!iDt zs9DfZWmxX|p?H&C3`Kmxhk; z`fK%7#IA+MaA+EQIu+rFhPx>ApX`EaM?thLJi${2Lq@;aUUe1_BHcKH*^AQH6R&+W z(Z==1vadA3HYrf12M4mGJgQ`M+PUNzd96Kz@rf2Cm}J$p3cW$r$^*zRW%r~aov7p^ z@+B2vzlTv@`2ek6|494t9EO%*H1oIuLt(C>LD@};rXQeopwnC!4d`wGeTquP*Zzw2 v)3!as#%J80;X!+YmRERmg_f!`&$gCT+RD>@SF*8}RRZj+W{C>yXPNF#KN`En@#NlEi-(4hrg>Ohhg+##z z@KK1hlZK9FcIS3ycK5!2KED8*VBd#B7$z!MXsrTaO=^?a1V(BTDWSF0LHKIqMK-fb znHcTEC3F^IB?2XqS#UpH$jA`NXEE!}38nsELU1qBCs{)Y)doD23GGpw$UD27%Ir~0 zl_YdWX(ZG{WO2^7kFJ@=ns7Aw|3;^T>P(ue)E2gGKOEc;yp>Rvr%*^}j*W<(Z^g@Y zNNt?jERxr8vBsbCj`PcK2)={=2XHv!{TY2`0Y~EK4L?wMFUmE>ybKo985^4hj!kBS z7TS!t_<_wFj`iLf%ANYU=grqlOUNx+#XJu#oB5~|RtKB*trZK=!48{s3l;gC?sDp2 F?-w(DT=W0{ diff --git a/bin/nl/jssl/autounit/testclasses/FloatArguments.class b/bin/nl/jssl/autounit/testclasses/FloatArguments.class deleted file mode 100644 index 5a1afe3e21ae263c60a9e0f9cb7e6e56976684f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 449 zcmb7A!AiqG6r7hPjmFy4R;yR>(kgWio0S;HZ2cyrOU?yho_#GQ>i*dkMjlqU3#>P^>yv-d) mLC9E{&zT)&@8|=qS1uf^&ECS?T?$ramSPusY$J3R`u$%Y9K61j+PGx zE@5LFEBU@y&1CjL%o0iHkJCsbMozSk3pF=&>&YX=0NN7Zu!9))j$5f>#zV2%V`G(U(JUQaM}8ggQ=F6TOfb>kPwD z*v2;Qd)OhYUvE1Udg0>%9`cHkVsG-6_0I_HX5Mw^ll#ZxskvlFq%IG9LZdc zqsLXinK(O7FVOtKj~dz>&DcQKIQk`kbB8PTgbj{{{E5*%R{GOk+z!pTMN+ zn7h93m{v2WH(fh01L+49$MSvYn1l`x4DMQwEz_~wnz_2Y zD=UFOe8FaTK_HUJZVE(~>Q$LQ1pNkLhzp!5+OAw_?rlqN!`gPFK(bh`Sk9*9+3FlB zqrpSl7nm;o@51uTSd&3d%>wz%J96!JLh{+-5vp?F*={YbVMt)KSADB#J5}i=FpQLj z5rK>UU2J%PfzucjFjSHCs=Z@Nk4Q<^asp|5tl^BnnWMWrx#N&o^U&A8S&RwjLA_I) zKq|9*Ld^-B!+8zk$6l!uV&GGJCZIjGoTgme5xA7;!rXbulW0g_5Es=uUQ(BKg@iO^ zH+5tL#JF;tFmMGqHiXq^NVh6*^`wZml7yt@6|2__nD|^^fK;tZww}AO-(bfKXS(q& zsV=4e6s~KSW``Yd*ESiL!7R}-$%?hd@R4KTVeRU^>pH$*`59GyUhzDuw2KA`_)=hq z3Dzu+DFXH`3*oCV)el_|I;H6Nij6;Rc{P=2N%3%7;Ot4Sbcj~R9bTN%@hz7uzdeD= z@7b>c{r=%-s%bicA3_s|*=|+-$h6A>A2xb0B;Q8B@`E(|pI7>YGdt4j zyf9JVG!B#ltMaI1HQH_()&vsedef`OJGPqtbkC@^e=pY*3Y-TAgTE=Dk30T9C^eo; zu7Yc9;yLs`+vWtNGE<2UD2;G$V1OsW#wkh$i-!6eQTOa62Dh%XkbHrUUf`4GxRAWu zLYA7VElhHEc$`!F8x$?fm!btaEX+sK(XDy?U{;IF#(&4Xw4RDj&Bs*6TqjpL7ACpL zz_F(h(ZVeiKbDRj{D#pk&*ax(>Zfs$il?++-~82W{U)^Lp0VaA6wWE41F__wW0LC( z@yyY(NaX9ZHHrBrBL11@UoeC}kZf~OAVb7W55Ly;uUVIL)|kfBBR zSj8G|Txa`#M;SwzF^boYW`mmh)QltYhT;7hgoa@a=eTS_v?X5QwtBh;^y|a-{{l+` Bn{EIA diff --git a/bin/nl/jssl/autounit/testclasses/MyMethod.class b/bin/nl/jssl/autounit/testclasses/MyMethod.class deleted file mode 100644 index 5759cf2f0858d381d7650826b6d437c6c02d2454..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 772 zcma)(Pfy!G5XIlbNem(3Pk=({ALyYfpi&=t4B~=R2`QndLAms_NtUpYu`7FBiSNV# zPL(Q^55R}2c$=n42pqV~c-Qlr_h$C)@9$dxpRwg5CwL!)K|f8yKxH=0B4Y!qQ`-qu zn(8!YTsE{lkGnqdg2lf2se({Nz2IxRuRB&y+&4rH1m5;eOOQW|ySfAqvt<-e6fD$D zq>ru!5{aI#ef^tvWM%*=LMkfTRek7>y@|(6< z5}jWDpw#mAPJL|o(2Z2{u`HM$-?n1Y75F5N)diWA2Tao@ChFB@uqJ?DiDf4$VWH(b z)Sxth?~hajvrW^B6uq$L+7l)Fy9f00h8r4t88{S_nsJtN^cUmSRr&t{pIjZ@(S^s? z1J^5V#f&~r0W&S4u=@)$H~h$<#OQv5z#L=wUjcK4CoTaCj1K5a(3P9}n7QZNb7nrj-ah~wVB3Voupb7NFJ)lyL`6yHDN6~doPbLyq%}~n7rMu> zn~X)MqzQwe?(-*Z1w3@E%aJb}#gISr2zkVyce+Cc<21SzCFm$tkVBrKW_zKyNX8=( zU-MBQ7#eou@L=4; zH-9~6FD1YZh>?B-(5RyKqG(cQQD&5LyKgAG%&tom(`yi*OtF#;P_9zPu!I`L6nsTw z8s+LR0#y`oe?0go;*KJX-#bufjS#O)@c;LLRzLpUYl*?X~wl{rA7W{|R6Q4-BLP%C2K= z1c778DD)!N4y`D(oxr;7x1x@6!=UQ9o5~NBZy+P^)`r}amLuJkRbSgs&Cozj;A+$B zSYg|XTJ7+$=RXRptswN3>{!iL)`7JPB#^sd)6-3Xbg8^5kg0m>s(>^GOc=-uoUYlf zT8TPq%D*qy93@b!c}?l8O5fJ=WHA%A?Lc6%_S!L21PV>*CR79lOSQd#s*VhTO8KFI zvjWoxFm1ORg?+*-cz(lnTaKzq#}UXj9r@&mz?lPx0w)`xY(83+-GsQ&k$%vYwECf+ zKu^(1?MO9k&swyVFa2iQrW}n}v<7f`NCLlUTZayCyE;5)K%_+Phir-6t1$KWVfr_b%C+cQoqZ6*cFXw znYe}z8E5GAHvh{q!5?6Qd~9G=VD?S2VPZ}*KM{n|4_A`vwlwIcCg$~4K2YJRbRwk} zZRgP2_m`mGdLqFs mj%oTyiC^`*PtWr)vkSf5U1lkKgKuMIDSE$03xP&#dH*Gz%p`sQ diff --git a/bin/nl/jssl/autounit/utils/ConstantpoolReader.class b/bin/nl/jssl/autounit/utils/ConstantpoolReader.class deleted file mode 100644 index 1dc31617e0813846dc0357ce2e26a5580e4954d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2045 zcma)6T~`}b6x}x@83>aWT0((Bivlg-qtVt_r{{Q1vszXP}f$3RFR>6TJ^ zzF$gNmB6dGPLQeuPRUQrd#)c?ZgAjvrB&N1*kuD@fsQ@vYb#Z<++ynC_MV*&1j5oq zAd!(K-*@~VHDBV(3XjtQ(HV!RvjRP%=Xxa92{G>#>=;_mZo+^m&@!4_Z-c-E6A?rO zE@m9p&Q|uf?edznU9tr(WxTvqTDQuM{H`5_gI&iL7|;Cgq)4#c&s%OTC_8SEu|t}r zPEqBNPAc9?msE!7F{Ul&6kRK*l*weeDPm@9wkc>vgDB;3_a*G(8~l*byb&| zxQc!Oqi6?NYoE7tjn-&1BE)bFg9fe(Ts}v96R+WQYDo-%n~f}M1T3XuV@+qvao}-L^ZAL!@$n7Idn@&4~q6C?ijc&(0>Zq>}TRF+^wO@UY70nYV^7X(eL3M z18=_qz3yjX8temEpPciQwArysGWJ~)vv`kfPs^HBWN(iyY0I36_c1RJmoci{mfRhW zgF}br=4i(PJ~Xh%8Bnbur&4vFiI1?v`>aAi#x_LiflMbi4SX!nr@~aXtXAB>*|!(I z&D#foeqY-yd*8@-b?E4m4CQ>~>p}}$YY0CrbKOqou&*j0sETl?Odw?!tjRz_ zWD|V`cAwoLhX?gN(xn+G@l-x?q6LQkL-gF4W`T2omH%qlI#63lPC&tgjU9nj$6qXa zPi>d!HzKXd3B;ofi+Q&W-fRP;H9d&7xn6*E&t!suxI9-Wi= z;Qp`pAcRNXMMWZ-i2QK;*W{1cmw2!-d4$X#x z=L80Do9i!)>l~{=tnhmi!;Bok7H+6KpD1;9PV(HrCs^eTCcSf5V~$-MrcbfX97k{$ zkMJ39o#0y9AXWq^mhLg%qP!(R^l2l6Q7WX2E~VsG z(U-u$w7m19n0}H>ti*1B2d#F`<=gL^J?DJ*`1W4_%h*4bS?xlqG@JUWUgVmGz_5yQ7!kPJWv8dWPNC3e z*z({&;9{4#z}WHByxjkkp0Sh02`PciuL`0IWib`o6!Jo8D_b^O2! zql*QW3%{S_f9#PzQBFDW#japMMFB;D>yG&%rQ2}5hRGVVtpgb_K7n6PebQd==^E>$ z&*LT*6_lCOPQ*P7RosFmaFz_W7_oE=*5|^pc-tkMzOgNel6PCh5|-J1hV%o0`E(@z z@2TKhfyoZDE!#F*(ryIosrA1Mb3e*UKfdF0SEb{)!Bo<3Q*JyN^0TIkLi6Y3Ln#)Us;ZSa23&b=Bn_d@h|xA zE4@bl-`r%7=NhR26=&l$HsEQHrvc8u^R&9aeFhg}kScePjZzxQzQNEdZnG(vb14`F zqZp(95$V@u=EBK^_$s$Fm;HT?Q&`H5c4a!(s+)d>>)~r z_~uo;{J#DUcYYhXTYio2-xCR#!7TLnKaU@Y6@@l~ey+njjWD3mn9nTv%#p=B#<75j znD1sB+ESY@Ip8NUXP;pbKjRnT5Au8uRmM6>?rYrTh?2oNHn=VjWgYjqi()NN7hxo^ gCTN>POE9*MFdoqEAuaRB7z*@z3V93ED9NDyA4?7dwg3PC diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..65d6678 --- /dev/null +++ b/build.gradle @@ -0,0 +1,29 @@ +apply plugin: 'java' +apply plugin: 'eclipse' + +repositories{ + mavenCentral() +} + +sourceCompatibility = "1.6" +targetCompatibility = "1.6" + +sourceSets { + test { + java { + srcDir 'src/test/testclasses' + } + } +} + +task wrapper{ +} + +dependencies{ + compile 'javassist:javassist:3.12.1.GA' + compile 'com.thoughtworks.xstream:xstream:1.4.7' + compile 'org.mockito:mockito-all:1.9.5' + testCompile 'junit:junit:4.11' + testCompile 'org.jacoco:org.jacoco.core:0.7.1.201405082137' + +} diff --git a/nl.jssl.autounit.testclasses.BooleanArguments.xml b/nl.jssl.autounit.testclasses.BooleanArguments.xml deleted file mode 100644 index c6ed3ef..0000000 --- a/nl.jssl.autounit.testclasses.BooleanArguments.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - public java.lang.String getText(boolean arg1,boolean arg2) - - - - - false - false - - falsefalse - - - - - \ No newline at end of file diff --git a/nl.jssl.autounit.testclasses.ByteArguments.xml b/nl.jssl.autounit.testclasses.ByteArguments.xml deleted file mode 100644 index 8499087..0000000 --- a/nl.jssl.autounit.testclasses.ByteArguments.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - public int getDouble(byte arg1) - - - - - -128 - - -256 - - - - 0 - - 11 - - - - - \ No newline at end of file diff --git a/nl.jssl.autounit.testclasses.FloatArguments.xml b/nl.jssl.autounit.testclasses.FloatArguments.xml deleted file mode 100644 index 979b8f4..0000000 --- a/nl.jssl.autounit.testclasses.FloatArguments.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - public int round(float arg1) - - - - - -2.006128E38 - - -2147483648 - - - - - \ No newline at end of file diff --git a/nl.jssl.autounit.testclasses.IntArguments.xml b/nl.jssl.autounit.testclasses.IntArguments.xml deleted file mode 100644 index 85818e6..0000000 --- a/nl.jssl.autounit.testclasses.IntArguments.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - public java.lang.String evenOrUneven(int arg1,int arg2) - - - - - -2147483648 - -2147483648 - - even - - - - -2147483648 - -1 - - uneven - - - - - - public int randomOther(int arg1) - - - - - -2147483648 - - 0 - - - - - \ No newline at end of file diff --git a/src/nl/jssl/autounit/AutoTester.java b/src/main/java/nl/jssl/autounit/AutoTester.java similarity index 88% rename from src/nl/jssl/autounit/AutoTester.java rename to src/main/java/nl/jssl/autounit/AutoTester.java index 42c1d28..c39b8bc 100644 --- a/src/nl/jssl/autounit/AutoTester.java +++ b/src/main/java/nl/jssl/autounit/AutoTester.java @@ -1,7 +1,6 @@ package nl.jssl.autounit; import java.io.FileInputStream; -import java.io.IOException; import java.io.ObjectInputStream; import java.util.Map; @@ -14,7 +13,7 @@ import java.util.Map; public class AutoTester { ResultsWriter resultsWriter = new ResultsWriter(); - public Map record(Class instance) { + public Map record(Class instance) { Map results = new Recorder(instance).record(); resultsWriter.write(instance.getName(), results); return results; @@ -35,7 +34,7 @@ public class AutoTester { Map results = (Map) objectInputStream.readObject(); objectInputStream.close(); return results; - } catch (IOException | ClassNotFoundException e) { + } catch (Exception e) { throw new RuntimeException(e); } } diff --git a/src/nl/jssl/autounit/Configuration.java b/src/main/java/nl/jssl/autounit/Configuration.java similarity index 90% rename from src/nl/jssl/autounit/Configuration.java rename to src/main/java/nl/jssl/autounit/Configuration.java index d308a99..5bccde3 100644 --- a/src/nl/jssl/autounit/Configuration.java +++ b/src/main/java/nl/jssl/autounit/Configuration.java @@ -3,6 +3,10 @@ package nl.jssl.autounit; import javassist.ClassPool; import javassist.NotFoundException; +/** + * TODO make configurable + * + */ public class Configuration { public static ClassPool getClassPool() { ClassPool classPool = new ClassPool(); diff --git a/src/nl/jssl/autounit/CoverageAnalyser.java b/src/main/java/nl/jssl/autounit/CoverageAnalyser.java similarity index 99% rename from src/nl/jssl/autounit/CoverageAnalyser.java rename to src/main/java/nl/jssl/autounit/CoverageAnalyser.java index 199eba3..debecd9 100644 --- a/src/nl/jssl/autounit/CoverageAnalyser.java +++ b/src/main/java/nl/jssl/autounit/CoverageAnalyser.java @@ -21,6 +21,7 @@ public class CoverageAnalyser { private IRuntime runtime; private RuntimeData data = new RuntimeData(); + @SuppressWarnings("unchecked") public T instrument(Class testTarget) { try { String targetName = testTarget.getName(); diff --git a/src/nl/jssl/autounit/ExecutionException.java b/src/main/java/nl/jssl/autounit/ExecutionException.java similarity index 100% rename from src/nl/jssl/autounit/ExecutionException.java rename to src/main/java/nl/jssl/autounit/ExecutionException.java diff --git a/src/nl/jssl/autounit/InAndOutput.java b/src/main/java/nl/jssl/autounit/InAndOutput.java similarity index 100% rename from src/nl/jssl/autounit/InAndOutput.java rename to src/main/java/nl/jssl/autounit/InAndOutput.java diff --git a/src/nl/jssl/autounit/MethodCallResults.java b/src/main/java/nl/jssl/autounit/MethodCallResults.java similarity index 100% rename from src/nl/jssl/autounit/MethodCallResults.java rename to src/main/java/nl/jssl/autounit/MethodCallResults.java diff --git a/src/nl/jssl/autounit/MethodcallExecutor.java b/src/main/java/nl/jssl/autounit/MethodcallExecutor.java similarity index 75% rename from src/nl/jssl/autounit/MethodcallExecutor.java rename to src/main/java/nl/jssl/autounit/MethodcallExecutor.java index 6af41b7..2d87e25 100644 --- a/src/nl/jssl/autounit/MethodcallExecutor.java +++ b/src/main/java/nl/jssl/autounit/MethodcallExecutor.java @@ -3,7 +3,6 @@ package nl.jssl.autounit; import java.lang.reflect.Method; import java.util.List; -import nl.jssl.autounit.inputs.ArgumentsForSingleCall; import nl.jssl.autounit.utils.Permuter.Tuple; /** @@ -39,16 +38,24 @@ public class MethodcallExecutor { break; } } - if (previous == null) { - result.setCoverageResult(lastInvocationResult.coverage); - } else { - result.setCoverageResult(previous.coverage); + if (lastInvocationResult != null) { + if (previous == null) { + result.setCoverageResult(lastInvocationResult.coverage); + } else { + result.setCoverageResult(previous.coverage); + } } return result; } private InvocationResult analyseMethodCall(Method m, Tuple input) { - return coverageAnalyser.analyse(instrumentedTestTarget, m, input.toArray()); + Object[] argumentarray = input.toArray(); + for (int i = 0; i < argumentarray.length; i++) { + if (argumentarray[i].toString().equals("autounit:[NULL]")) { + argumentarray[i] = null; + } + } + return coverageAnalyser.analyse(instrumentedTestTarget, m, argumentarray); } public MethodCallResults getResult() { diff --git a/src/nl/jssl/autounit/Player.java b/src/main/java/nl/jssl/autounit/Player.java similarity index 100% rename from src/nl/jssl/autounit/Player.java rename to src/main/java/nl/jssl/autounit/Player.java diff --git a/src/nl/jssl/autounit/Recorder.java b/src/main/java/nl/jssl/autounit/Recorder.java similarity index 89% rename from src/nl/jssl/autounit/Recorder.java rename to src/main/java/nl/jssl/autounit/Recorder.java index 648317c..489bcc3 100644 --- a/src/nl/jssl/autounit/Recorder.java +++ b/src/main/java/nl/jssl/autounit/Recorder.java @@ -7,8 +7,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import nl.jssl.autounit.inputs.ArgumentsForSingleCall; -import nl.jssl.autounit.inputs.CombinedInputSetFactory; +import nl.jssl.autounit.inputs.MethodcallArgumentsFactory; import nl.jssl.autounit.utils.Permuter.Tuple; public class Recorder { @@ -43,7 +42,7 @@ public class Recorder { } private MethodCallResults recordMethod(Method m) { - List inputSet = new CombinedInputSetFactory().getInputs(testTarget, m); + List inputSet = new MethodcallArgumentsFactory().getInputs(testTarget, m); MethodcallExecutor methodcallExecutor = new MethodcallExecutor(testTarget, m); methodcallExecutor.execute(inputSet); return methodcallExecutor.getResult(); diff --git a/src/nl/jssl/autounit/ResultsWriter.java b/src/main/java/nl/jssl/autounit/ResultsWriter.java similarity index 74% rename from src/nl/jssl/autounit/ResultsWriter.java rename to src/main/java/nl/jssl/autounit/ResultsWriter.java index eed21c5..93802c0 100644 --- a/src/nl/jssl/autounit/ResultsWriter.java +++ b/src/main/java/nl/jssl/autounit/ResultsWriter.java @@ -4,8 +4,8 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.util.Map; -import nl.jssl.autounit.inputs.ArgumentsForSingleCall; -import nl.jssl.autounit.utils.ArgumentsConverter; +import nl.jssl.autounit.utils.Permuter.Tuple; +import nl.jssl.autounit.utils.XStreamArgumentsConverter; import com.thoughtworks.xstream.XStream; @@ -19,8 +19,9 @@ public class ResultsWriter { private void setup() { xstream.alias("case", InAndOutput.class); xstream.alias("results", MethodCallResults.class); - xstream.alias("args", ArgumentsForSingleCall.class); - xstream.registerConverter(new ArgumentsConverter()); + xstream.alias("args", Tuple.class); + + xstream.registerConverter(new XStreamArgumentsConverter()); } public void write(String classname, Map results) { diff --git a/src/main/java/nl/jssl/autounit/inputs/ArgumentsForSingleParameter.java b/src/main/java/nl/jssl/autounit/inputs/ArgumentsForSingleParameter.java new file mode 100644 index 0000000..16ce684 --- /dev/null +++ b/src/main/java/nl/jssl/autounit/inputs/ArgumentsForSingleParameter.java @@ -0,0 +1,10 @@ +package nl.jssl.autounit.inputs; + +import java.util.ArrayList; + +/** + * Meant to keep lists apart. Not to get confused. Might loose its necessity. + */ +@SuppressWarnings("serial") +public class ArgumentsForSingleParameter extends ArrayList { +} diff --git a/src/main/java/nl/jssl/autounit/inputs/MethodcallArgumentsFactory.java b/src/main/java/nl/jssl/autounit/inputs/MethodcallArgumentsFactory.java new file mode 100644 index 0000000..c98ea6c --- /dev/null +++ b/src/main/java/nl/jssl/autounit/inputs/MethodcallArgumentsFactory.java @@ -0,0 +1,94 @@ +package nl.jssl.autounit.inputs; + +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import nl.jssl.autounit.inputs.objects.ObjectArgumentFactory; +import nl.jssl.autounit.inputs.objects.StringArgumentFactory; +import nl.jssl.autounit.inputs.primtives.ArgumentFactory; +import nl.jssl.autounit.inputs.primtives.BooleanArgumentFactory; +import nl.jssl.autounit.inputs.primtives.ByteArgumentFactory; +import nl.jssl.autounit.inputs.primtives.DoubleArgumentFactory; +import nl.jssl.autounit.inputs.primtives.FloatArgumentFactory; +import nl.jssl.autounit.inputs.primtives.IntegerArgumentFactory; +import nl.jssl.autounit.utils.Permuter; +import nl.jssl.autounit.utils.Permuter.Tuple; + +public class MethodcallArgumentsFactory { + private final Map, ArgumentFactory> primitivesFactories; + + public MethodcallArgumentsFactory() { + primitivesFactories = new HashMap, ArgumentFactory>(); + populateFactories(); + } + + public List getInputs(Class testTarget, Method m) { + return combine(getArgumentsForAllParameters(testTarget, m)); + } + + private List combine(List> inputSetsForAllArguments) { + int nrOfParameters = inputSetsForAllArguments.size(); + if (nrOfParameters == 0) { + return Collections.emptyList(); + } else if (nrOfParameters == 1) { + // simple case + return makeArgumentsForSingleParameterCall(inputSetsForAllArguments); + } else { + return Permuter.permute(inputSetsForAllArguments); + } + } + + private List makeArgumentsForSingleParameterCall(List> generatedInputSetsForAllArguments) { + List allPossibleArguments = new ArrayList(); + + List generatedInputs = generatedInputSetsForAllArguments.iterator().next(); + + for (Object variable : generatedInputs) { + Tuple argument = new Tuple(variable); + allPossibleArguments.add(argument); + } + return allPossibleArguments; + } + + List> getArgumentsForAllParameters(Class testTarget, Method m) { + List> singleInputSets = new ArrayList>(); + for (Class parametertype : m.getParameterTypes()) { + List inputs = tryPrimitives(testTarget, parametertype); + + if (inputs == null) { + inputs = new ObjectArgumentFactory().getObjectArgument(testTarget, parametertype); + } + if (inputs != null) { + singleInputSets.add(inputs); + } + } + return singleInputSets; + } + + private ArgumentsForSingleParameter tryPrimitives(Class testTarget, Class parametertype) { + ArgumentFactory inputsFactory = primitivesFactories.get(parametertype); + if (inputsFactory != null) { + return inputsFactory.getInputs(testTarget); + } else { + return null; + } + } + + private void populateFactories() { + primitivesFactories.put(int.class, new IntegerArgumentFactory()); + primitivesFactories.put(Integer.class, new IntegerArgumentFactory()); + primitivesFactories.put(double.class, new DoubleArgumentFactory()); + primitivesFactories.put(Double.class, new DoubleArgumentFactory()); + primitivesFactories.put(float.class, new FloatArgumentFactory()); + primitivesFactories.put(Float.class, new FloatArgumentFactory()); + primitivesFactories.put(byte.class, new ByteArgumentFactory()); + primitivesFactories.put(Byte.class, new ByteArgumentFactory()); + primitivesFactories.put(Boolean.class, new BooleanArgumentFactory()); + primitivesFactories.put(boolean.class, new BooleanArgumentFactory()); + primitivesFactories.put(String.class, new StringArgumentFactory()); + } +} diff --git a/src/main/java/nl/jssl/autounit/inputs/objects/ObjectArgumentFactory.java b/src/main/java/nl/jssl/autounit/inputs/objects/ObjectArgumentFactory.java new file mode 100644 index 0000000..4d688f5 --- /dev/null +++ b/src/main/java/nl/jssl/autounit/inputs/objects/ObjectArgumentFactory.java @@ -0,0 +1,55 @@ +package nl.jssl.autounit.inputs.objects; + +import java.lang.reflect.Method; + +import nl.jssl.autounit.inputs.ArgumentsForSingleParameter; +import nl.jssl.autounit.inputs.MethodcallArgumentsFactory; + +import org.mockito.Mockito; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; + +/** + * Creates arguments if they are objects. Methods that return values are populated like in regular mocking. + * + */ +public class ObjectArgumentFactory { + private MethodcallArgumentsFactory argumentsFactory; + + public ArgumentsForSingleParameter getObjectArgument(Class testTarget, Class parametertype) { + ArgumentsForSingleParameter inputs = new ArgumentsForSingleParameter(); + Object mock = createMock(parametertype); + inputs.add(mock); + return inputs; + } + + private Object createMock(Class parametertype) { + Object mock = Mockito.mock(parametertype, new DefaultAnswer()); + + return mock; + } + + static class DefaultAnswer implements Answer { + + @Override + public Object answer(InvocationOnMock invocation) throws Throwable { + Method method = invocation.getMethod(); + // necessary? + if (returnsVoid(method)) { + return Void.TYPE; + } + return null; + + } + + } + + static boolean returnsVoid(Method m) { + Class returnType = m.getReturnType(); + return returnType != Void.TYPE; + } + + public void setArgumentsFactory(MethodcallArgumentsFactory argumentsFactory) { + this.argumentsFactory = argumentsFactory; + } +} diff --git a/src/main/java/nl/jssl/autounit/inputs/objects/StringArgumentFactory.java b/src/main/java/nl/jssl/autounit/inputs/objects/StringArgumentFactory.java new file mode 100644 index 0000000..878d339 --- /dev/null +++ b/src/main/java/nl/jssl/autounit/inputs/objects/StringArgumentFactory.java @@ -0,0 +1,26 @@ +package nl.jssl.autounit.inputs.objects; + +import javassist.ClassPool; +import nl.jssl.autounit.inputs.ArgumentsForSingleParameter; +import nl.jssl.autounit.inputs.primtives.ArgumentFactory; +import nl.jssl.autounit.utils.ConstantpoolReader; + +/** + * Creates Strings as arguments for a method call. Uses bytecode analysis to scan the class-under-test for "interesting" + * strings and adds them to the argument set. + * + * Also adds null to check for NPE. //is this feasible? + */ +public class StringArgumentFactory implements ArgumentFactory { + private static ConstantpoolReader constantpoolReader = new ConstantpoolReader(ClassPool.getDefault()); + + @Override + public ArgumentsForSingleParameter getInputs(Class testTarget) { + ArgumentsForSingleParameter inputs = new ArgumentsForSingleParameter(); + inputs.add(null); + inputs.add("some"); + inputs.addAll(constantpoolReader.scanStrings(testTarget)); + return inputs; + } + +} diff --git a/src/main/java/nl/jssl/autounit/inputs/primtives/ArgumentFactory.java b/src/main/java/nl/jssl/autounit/inputs/primtives/ArgumentFactory.java new file mode 100644 index 0000000..f8c9045 --- /dev/null +++ b/src/main/java/nl/jssl/autounit/inputs/primtives/ArgumentFactory.java @@ -0,0 +1,7 @@ +package nl.jssl.autounit.inputs.primtives; + +import nl.jssl.autounit.inputs.ArgumentsForSingleParameter; + +public interface ArgumentFactory { + ArgumentsForSingleParameter getInputs(Class testTarget); +} diff --git a/src/main/java/nl/jssl/autounit/inputs/primtives/BooleanArgumentFactory.java b/src/main/java/nl/jssl/autounit/inputs/primtives/BooleanArgumentFactory.java new file mode 100644 index 0000000..9d830c6 --- /dev/null +++ b/src/main/java/nl/jssl/autounit/inputs/primtives/BooleanArgumentFactory.java @@ -0,0 +1,14 @@ +package nl.jssl.autounit.inputs.primtives; + +import nl.jssl.autounit.inputs.ArgumentsForSingleParameter; + +public class BooleanArgumentFactory implements ArgumentFactory { + + public ArgumentsForSingleParameter getInputs(Class testTarget) { + ArgumentsForSingleParameter inputs = new ArgumentsForSingleParameter(); + inputs.add(Boolean.FALSE); + inputs.add(Boolean.TRUE); + return inputs; + } + +} diff --git a/src/main/java/nl/jssl/autounit/inputs/primtives/ByteArgumentFactory.java b/src/main/java/nl/jssl/autounit/inputs/primtives/ByteArgumentFactory.java new file mode 100644 index 0000000..f2b5a9b --- /dev/null +++ b/src/main/java/nl/jssl/autounit/inputs/primtives/ByteArgumentFactory.java @@ -0,0 +1,15 @@ +package nl.jssl.autounit.inputs.primtives; + +import nl.jssl.autounit.inputs.ArgumentsForSingleParameter; + +public class ByteArgumentFactory implements ArgumentFactory { + + public ArgumentsForSingleParameter getInputs(Class testTarget) { + ArgumentsForSingleParameter inputs = new ArgumentsForSingleParameter(); + for (byte i = Byte.MIN_VALUE; i < Byte.MAX_VALUE; i++) { + inputs.add(i); + } + return inputs; + } + +} diff --git a/src/main/java/nl/jssl/autounit/inputs/primtives/DoubleArgumentFactory.java b/src/main/java/nl/jssl/autounit/inputs/primtives/DoubleArgumentFactory.java new file mode 100644 index 0000000..51083e8 --- /dev/null +++ b/src/main/java/nl/jssl/autounit/inputs/primtives/DoubleArgumentFactory.java @@ -0,0 +1,23 @@ +package nl.jssl.autounit.inputs.primtives; + +import nl.jssl.autounit.inputs.ArgumentsForSingleParameter; + + +public class DoubleArgumentFactory implements ArgumentFactory { + + public ArgumentsForSingleParameter getInputs(Class testTarget) { + ArgumentsForSingleParameter inputs = new ArgumentsForSingleParameter(); + for (int i = 0; i < 1000; i++) { + inputs.add(((2 * Math.random() - 2) * Double.MAX_VALUE)); + } + inputs.add(Double.MIN_VALUE); + inputs.add(-2D); + inputs.add(-1D); + inputs.add(0D); + inputs.add(1D); + inputs.add(2D); + inputs.add(Double.MAX_VALUE); + return inputs; + } + +} diff --git a/src/main/java/nl/jssl/autounit/inputs/primtives/FloatArgumentFactory.java b/src/main/java/nl/jssl/autounit/inputs/primtives/FloatArgumentFactory.java new file mode 100644 index 0000000..a454284 --- /dev/null +++ b/src/main/java/nl/jssl/autounit/inputs/primtives/FloatArgumentFactory.java @@ -0,0 +1,22 @@ +package nl.jssl.autounit.inputs.primtives; + +import nl.jssl.autounit.inputs.ArgumentsForSingleParameter; + + +public class FloatArgumentFactory implements ArgumentFactory { + + public ArgumentsForSingleParameter getInputs(Class testTarget) { + ArgumentsForSingleParameter inputs = new ArgumentsForSingleParameter(); + for (int i = 0; i < 1000; i++) { + inputs.add((float) ((2 * Math.random() - 2) * Float.MAX_VALUE)); + } + inputs.add(Float.MIN_VALUE); + inputs.add(-2F); + inputs.add(-1F); + inputs.add(0F); + inputs.add(1F); + inputs.add(2F); + inputs.add(Float.MAX_VALUE); + return inputs; + } +} diff --git a/src/main/java/nl/jssl/autounit/inputs/primtives/IntegerArgumentFactory.java b/src/main/java/nl/jssl/autounit/inputs/primtives/IntegerArgumentFactory.java new file mode 100644 index 0000000..f866f72 --- /dev/null +++ b/src/main/java/nl/jssl/autounit/inputs/primtives/IntegerArgumentFactory.java @@ -0,0 +1,20 @@ +package nl.jssl.autounit.inputs.primtives; + +import nl.jssl.autounit.inputs.ArgumentsForSingleParameter; + +public class IntegerArgumentFactory implements ArgumentFactory { + + public ArgumentsForSingleParameter getInputs(Class testTarget) { + ArgumentsForSingleParameter inputs = new ArgumentsForSingleParameter(); +// for (int i = 0; i < 2; i++) { +// inputs.add((int) ((2 * Math.random() - 2) * Integer.MAX_VALUE)); +// } + inputs.add(Integer.MIN_VALUE); + inputs.add(-1); + inputs.add(0); + inputs.add(1); + inputs.add(Integer.MAX_VALUE); + return inputs; + } + +} diff --git a/src/main/java/nl/jssl/autounit/inputs/primtives/LongArgumentFactory.java b/src/main/java/nl/jssl/autounit/inputs/primtives/LongArgumentFactory.java new file mode 100644 index 0000000..89d1eea --- /dev/null +++ b/src/main/java/nl/jssl/autounit/inputs/primtives/LongArgumentFactory.java @@ -0,0 +1,23 @@ +package nl.jssl.autounit.inputs.primtives; + +import nl.jssl.autounit.inputs.ArgumentsForSingleParameter; + + +public class LongArgumentFactory implements ArgumentFactory { + + public ArgumentsForSingleParameter getInputs(Class testTarget) { + ArgumentsForSingleParameter inputs = new ArgumentsForSingleParameter(); + for (int i = 0; i < 1000; i++) { + inputs.add((long) ((2 * Math.random() - 2) * Long.MAX_VALUE)); + } + inputs.add(Long.MIN_VALUE); + inputs.add(-2L); + inputs.add(-1L); + inputs.add(0L); + inputs.add(1L); + inputs.add(2L); + inputs.add(Long.MAX_VALUE); + return inputs; + } + +} diff --git a/src/nl/jssl/autounit/utils/ConstantpoolReader.java b/src/main/java/nl/jssl/autounit/utils/ConstantpoolReader.java similarity index 94% rename from src/nl/jssl/autounit/utils/ConstantpoolReader.java rename to src/main/java/nl/jssl/autounit/utils/ConstantpoolReader.java index 205a3b3..5cae9fa 100644 --- a/src/nl/jssl/autounit/utils/ConstantpoolReader.java +++ b/src/main/java/nl/jssl/autounit/utils/ConstantpoolReader.java @@ -22,7 +22,7 @@ public class ConstantpoolReader { CtClass ctClass; try { ctClass = pool.get(target.getName()); - List strings = new ArrayList<>(); + List strings = new ArrayList(); if (isScannable(ctClass)) { ConstPool constPool = ctClass.getClassFile().getConstPool(); int size = constPool.getSize(); diff --git a/src/nl/jssl/autounit/utils/MemoryClassloader.java b/src/main/java/nl/jssl/autounit/utils/MemoryClassloader.java similarity index 100% rename from src/nl/jssl/autounit/utils/MemoryClassloader.java rename to src/main/java/nl/jssl/autounit/utils/MemoryClassloader.java diff --git a/src/nl/jssl/autounit/utils/Permuter.java b/src/main/java/nl/jssl/autounit/utils/Permuter.java similarity index 90% rename from src/nl/jssl/autounit/utils/Permuter.java rename to src/main/java/nl/jssl/autounit/utils/Permuter.java index 9b2f137..4899ab9 100644 --- a/src/nl/jssl/autounit/utils/Permuter.java +++ b/src/main/java/nl/jssl/autounit/utils/Permuter.java @@ -25,7 +25,7 @@ public class Permuter { } private static List permutePairs(List list1, List list2) { - List pairs = new ArrayList<>(); + List pairs = new ArrayList(); for (Object element1 : list1) { for (Object element2 : list2) { pairs.add(new Tuple(element1, element2)); @@ -34,7 +34,7 @@ public class Permuter { return pairs; } - public static class Tuple implements Iterable { + public static class Tuple implements Iterable { public final Object element1; public final Object element2; @@ -55,9 +55,11 @@ public class Permuter { } private List asList() { - List list = new ArrayList<>(); + List list = new ArrayList(); if (element1 != null) { add(element1, list); + } else { + add("autounit:[NULL]", list); } if (element2 != null) { add(element2, list); diff --git a/src/nl/jssl/autounit/utils/SilentObjectCreator.java b/src/main/java/nl/jssl/autounit/utils/SilentObjectCreator.java similarity index 88% rename from src/nl/jssl/autounit/utils/SilentObjectCreator.java rename to src/main/java/nl/jssl/autounit/utils/SilentObjectCreator.java index 1052ae5..6686bc2 100644 --- a/src/nl/jssl/autounit/utils/SilentObjectCreator.java +++ b/src/main/java/nl/jssl/autounit/utils/SilentObjectCreator.java @@ -18,7 +18,7 @@ public class SilentObjectCreator { try { ReflectionFactory rf = ReflectionFactory.getReflectionFactory(); Constructor objDef = parent.getDeclaredConstructor(); - Constructor intConstr = rf.newConstructorForSerialization(clazz, objDef); + Constructor intConstr = (Constructor) rf.newConstructorForSerialization(clazz, objDef); return clazz.cast(intConstr.newInstance()); } catch (RuntimeException e) { throw e; diff --git a/src/nl/jssl/autounit/utils/ArgumentsConverter.java b/src/main/java/nl/jssl/autounit/utils/XStreamArgumentsConverter.java similarity index 73% rename from src/nl/jssl/autounit/utils/ArgumentsConverter.java rename to src/main/java/nl/jssl/autounit/utils/XStreamArgumentsConverter.java index 1e9b588..23c16ae 100644 --- a/src/nl/jssl/autounit/utils/ArgumentsConverter.java +++ b/src/main/java/nl/jssl/autounit/utils/XStreamArgumentsConverter.java @@ -1,6 +1,6 @@ package nl.jssl.autounit.utils; -import nl.jssl.autounit.inputs.ArgumentsForSingleCall; +import nl.jssl.autounit.utils.Permuter.Tuple; import com.thoughtworks.xstream.converters.Converter; import com.thoughtworks.xstream.converters.MarshallingContext; @@ -8,16 +8,17 @@ import com.thoughtworks.xstream.converters.UnmarshallingContext; import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; -public class ArgumentsConverter implements Converter { +public class XStreamArgumentsConverter implements Converter { + @SuppressWarnings("rawtypes") public boolean canConvert(Class clazz) { - return (clazz == ArgumentsForSingleCall.class); + return (clazz == Tuple.class); } public void marshal(Object value, HierarchicalStreamWriter writer, MarshallingContext context) { - ArgumentsForSingleCall person = (ArgumentsForSingleCall) value; + Tuple arguments = (Tuple) value; int index = 1; - for (Object arg : person) { + for (Object arg : arguments) { writer.startNode("arg" + index); writer.setValue(arg.toString()); writer.endNode(); diff --git a/src/nl/jssl/autounit/inputs/ArgumentsForSingleCall.java b/src/nl/jssl/autounit/inputs/ArgumentsForSingleCall.java deleted file mode 100644 index 73585c5..0000000 --- a/src/nl/jssl/autounit/inputs/ArgumentsForSingleCall.java +++ /dev/null @@ -1,7 +0,0 @@ -package nl.jssl.autounit.inputs; - -import java.util.ArrayList; - -public class ArgumentsForSingleCall extends ArrayList { - -} diff --git a/src/nl/jssl/autounit/inputs/BooleanInputsFactory.java b/src/nl/jssl/autounit/inputs/BooleanInputsFactory.java deleted file mode 100644 index ca79d6b..0000000 --- a/src/nl/jssl/autounit/inputs/BooleanInputsFactory.java +++ /dev/null @@ -1,12 +0,0 @@ -package nl.jssl.autounit.inputs; - -public class BooleanInputsFactory implements InputsFactory { - - public SingleTypeInputs getInputs(Class testTarget) { - SingleTypeInputs inputs = new SingleTypeInputs(); - inputs.add(Boolean.FALSE); - inputs.add(Boolean.TRUE); - return inputs; - } - -} diff --git a/src/nl/jssl/autounit/inputs/ByteInputsFactory.java b/src/nl/jssl/autounit/inputs/ByteInputsFactory.java deleted file mode 100644 index 5817557..0000000 --- a/src/nl/jssl/autounit/inputs/ByteInputsFactory.java +++ /dev/null @@ -1,13 +0,0 @@ -package nl.jssl.autounit.inputs; - -public class ByteInputsFactory implements InputsFactory { - - public SingleTypeInputs getInputs(Class testTarget) { - SingleTypeInputs inputs = new SingleTypeInputs(); - for (byte i = Byte.MIN_VALUE; i < Byte.MAX_VALUE; i++) { - inputs.add(i); - } - return inputs; - } - -} diff --git a/src/nl/jssl/autounit/inputs/CombinedInputSetFactory.java b/src/nl/jssl/autounit/inputs/CombinedInputSetFactory.java deleted file mode 100644 index 58a7f8c..0000000 --- a/src/nl/jssl/autounit/inputs/CombinedInputSetFactory.java +++ /dev/null @@ -1,84 +0,0 @@ -package nl.jssl.autounit.inputs; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import nl.jssl.autounit.utils.Permuter; -import nl.jssl.autounit.utils.Permuter.Tuple; - -public class CombinedInputSetFactory { - private final Map, InputsFactory> primitivesFactories; - - public CombinedInputSetFactory() { - primitivesFactories = new HashMap<>(); - populateFactories(); - } - - public List getInputs(Class testTarget, Method m) { - return combine(getInputSetsForAllArguments(testTarget, m)); - } - - private List combine(List> inputSetsForAllArguments) { - int nrOfParameters = inputSetsForAllArguments.size(); - if (nrOfParameters == 1) { - // simple case - return makeArgumentsForSingleParameterCall(inputSetsForAllArguments); - } else { - return Permuter.permute(inputSetsForAllArguments); - } - } - - private List makeArgumentsForSingleParameterCall( - List> generatedInputSetsForAllArguments) { - List allPossibleArguments = new ArrayList(); - - List generatedInputs = generatedInputSetsForAllArguments.iterator().next(); - - for (Object variable : generatedInputs) { - Tuple argument = new Tuple(variable); - allPossibleArguments.add(argument); - } - return allPossibleArguments; - } - - private List> getInputSetsForAllArguments(Class testTarget, Method m) { - List> singleInputSets = new ArrayList<>(); - for (Class parametertype : m.getParameterTypes()) { - List inputs = tryPrimitives(testTarget, parametertype); - - if (inputs == null) { - inputs = new MocksFactory().getMockInputs(testTarget, parametertype); - } - if (inputs != null) { - singleInputSets.add(inputs); - } - } - return singleInputSets; - } - - private SingleTypeInputs tryPrimitives(Class testTarget, Class parametertype) { - InputsFactory inputsFactory = primitivesFactories.get(parametertype); - if (inputsFactory != null) { - return inputsFactory.getInputs(testTarget); - } else { - return null; - } - } - - private void populateFactories() { - primitivesFactories.put(int.class, new IntegerInputsFactory()); - primitivesFactories.put(Integer.class, new IntegerInputsFactory()); - primitivesFactories.put(double.class, new DoubleInputsFactory()); - primitivesFactories.put(Double.class, new DoubleInputsFactory()); - primitivesFactories.put(float.class, new FloatInputsFactory()); - primitivesFactories.put(Float.class, new FloatInputsFactory()); - primitivesFactories.put(byte.class, new ByteInputsFactory()); - primitivesFactories.put(Byte.class, new ByteInputsFactory()); - primitivesFactories.put(Boolean.class, new BooleanInputsFactory()); - primitivesFactories.put(boolean.class, new BooleanInputsFactory()); - primitivesFactories.put(String.class, new StringInputsFactory()); - } -} diff --git a/src/nl/jssl/autounit/inputs/DoubleInputsFactory.java b/src/nl/jssl/autounit/inputs/DoubleInputsFactory.java deleted file mode 100644 index c6d5791..0000000 --- a/src/nl/jssl/autounit/inputs/DoubleInputsFactory.java +++ /dev/null @@ -1,21 +0,0 @@ -package nl.jssl.autounit.inputs; - - -public class DoubleInputsFactory implements InputsFactory { - - public SingleTypeInputs getInputs(Class testTarget) { - SingleTypeInputs inputs = new SingleTypeInputs(); - for (int i = 0; i < 1000; i++) { - inputs.add(((2 * Math.random() - 2) * Double.MAX_VALUE)); - } - inputs.add(Double.MIN_VALUE); - inputs.add(-2D); - inputs.add(-1D); - inputs.add(0D); - inputs.add(1D); - inputs.add(2D); - inputs.add(Double.MAX_VALUE); - return inputs; - } - -} diff --git a/src/nl/jssl/autounit/inputs/FloatInputsFactory.java b/src/nl/jssl/autounit/inputs/FloatInputsFactory.java deleted file mode 100644 index a887fb2..0000000 --- a/src/nl/jssl/autounit/inputs/FloatInputsFactory.java +++ /dev/null @@ -1,20 +0,0 @@ -package nl.jssl.autounit.inputs; - - -public class FloatInputsFactory implements InputsFactory { - - public SingleTypeInputs getInputs(Class testTarget) { - SingleTypeInputs inputs = new SingleTypeInputs(); - for (int i = 0; i < 1000; i++) { - inputs.add((float) ((2 * Math.random() - 2) * Float.MAX_VALUE)); - } - inputs.add(Float.MIN_VALUE); - inputs.add(-2F); - inputs.add(-1F); - inputs.add(0F); - inputs.add(1F); - inputs.add(2F); - inputs.add(Float.MAX_VALUE); - return inputs; - } -} diff --git a/src/nl/jssl/autounit/inputs/InputsFactory.java b/src/nl/jssl/autounit/inputs/InputsFactory.java deleted file mode 100644 index d71a581..0000000 --- a/src/nl/jssl/autounit/inputs/InputsFactory.java +++ /dev/null @@ -1,5 +0,0 @@ -package nl.jssl.autounit.inputs; - -public interface InputsFactory { - SingleTypeInputs getInputs(Class testTarget); -} diff --git a/src/nl/jssl/autounit/inputs/IntegerInputsFactory.java b/src/nl/jssl/autounit/inputs/IntegerInputsFactory.java deleted file mode 100644 index 2014b1d..0000000 --- a/src/nl/jssl/autounit/inputs/IntegerInputsFactory.java +++ /dev/null @@ -1,18 +0,0 @@ -package nl.jssl.autounit.inputs; - -public class IntegerInputsFactory implements InputsFactory { - - public SingleTypeInputs getInputs(Class testTarget) { - SingleTypeInputs inputs = new SingleTypeInputs(); -// for (int i = 0; i < 2; i++) { -// inputs.add((int) ((2 * Math.random() - 2) * Integer.MAX_VALUE)); -// } - inputs.add(Integer.MIN_VALUE); - inputs.add(-1); - inputs.add(0); - inputs.add(1); - inputs.add(Integer.MAX_VALUE); - return inputs; - } - -} diff --git a/src/nl/jssl/autounit/inputs/LongInputsFactory.java b/src/nl/jssl/autounit/inputs/LongInputsFactory.java deleted file mode 100644 index f072ad1..0000000 --- a/src/nl/jssl/autounit/inputs/LongInputsFactory.java +++ /dev/null @@ -1,21 +0,0 @@ -package nl.jssl.autounit.inputs; - - -public class LongInputsFactory implements InputsFactory { - - public SingleTypeInputs getInputs(Class testTarget) { - SingleTypeInputs inputs = new SingleTypeInputs(); - for (int i = 0; i < 1000; i++) { - inputs.add((long) ((2 * Math.random() - 2) * Long.MAX_VALUE)); - } - inputs.add(Long.MIN_VALUE); - inputs.add(-2L); - inputs.add(-1L); - inputs.add(0L); - inputs.add(1L); - inputs.add(2L); - inputs.add(Long.MAX_VALUE); - return inputs; - } - -} diff --git a/src/nl/jssl/autounit/inputs/MocksFactory.java b/src/nl/jssl/autounit/inputs/MocksFactory.java deleted file mode 100644 index 7c0aa0b..0000000 --- a/src/nl/jssl/autounit/inputs/MocksFactory.java +++ /dev/null @@ -1,25 +0,0 @@ -package nl.jssl.autounit.inputs; - -import java.lang.reflect.Method; - -import org.mockito.Mockito; - -public class MocksFactory { - CombinedInputSetFactory inputSetFactory = new CombinedInputSetFactory(); - - public SingleTypeInputs getMockInputs(Class testTarget, Class parametertype) { - SingleTypeInputs inputs = new SingleTypeInputs<>(); - setExpectations(parametertype); - // inputs.add(mock); - return inputs; - } - - private void setExpectations(Class parametertype) { - Method[] declaredMethods = parametertype.getDeclaredMethods(); - for (Method m : declaredMethods) { - // Set> inputs = - // inputSetFactory.getInputs(parametertype, m); - } - Object mock = Mockito.mock(parametertype); - } -} diff --git a/src/nl/jssl/autounit/inputs/SingleTypeInputs.java b/src/nl/jssl/autounit/inputs/SingleTypeInputs.java deleted file mode 100644 index 6f85f11..0000000 --- a/src/nl/jssl/autounit/inputs/SingleTypeInputs.java +++ /dev/null @@ -1,6 +0,0 @@ -package nl.jssl.autounit.inputs; - -import java.util.ArrayList; - -public class SingleTypeInputs extends ArrayList { -} diff --git a/src/nl/jssl/autounit/inputs/StringInputsFactory.java b/src/nl/jssl/autounit/inputs/StringInputsFactory.java deleted file mode 100644 index 7cb1642..0000000 --- a/src/nl/jssl/autounit/inputs/StringInputsFactory.java +++ /dev/null @@ -1,18 +0,0 @@ -package nl.jssl.autounit.inputs; - -import nl.jssl.autounit.Configuration; -import nl.jssl.autounit.utils.ConstantpoolReader; - -public class StringInputsFactory implements InputsFactory { - private static ConstantpoolReader constantpoolReader = new ConstantpoolReader(Configuration.getClassPool()); - - @Override - public SingleTypeInputs getInputs(Class testTarget) { - SingleTypeInputs inputs = new SingleTypeInputs(); - inputs.add(null); - inputs.add("some"); - inputs.addAll(constantpoolReader.scanStrings(testTarget)); - return inputs; - } - -} diff --git a/tst/nl/jssl/autounit/PrimtiveTypeTests.java b/src/test/java/nl/jssl/autounit/PrimtiveTypeTests.java similarity index 100% rename from tst/nl/jssl/autounit/PrimtiveTypeTests.java rename to src/test/java/nl/jssl/autounit/PrimtiveTypeTests.java diff --git a/tst/nl/jssl/autounit/StringTypeTests.java b/src/test/java/nl/jssl/autounit/StringTypeTests.java similarity index 100% rename from tst/nl/jssl/autounit/StringTypeTests.java rename to src/test/java/nl/jssl/autounit/StringTypeTests.java diff --git a/src/test/java/nl/jssl/autounit/inputs/objects/JavaBeanTests.java b/src/test/java/nl/jssl/autounit/inputs/objects/JavaBeanTests.java new file mode 100644 index 0000000..c399cc5 --- /dev/null +++ b/src/test/java/nl/jssl/autounit/inputs/objects/JavaBeanTests.java @@ -0,0 +1,23 @@ +package nl.jssl.autounit.inputs.objects; + +import java.util.Map; +import java.util.Set; + +import nl.jssl.autounit.AutoTester; +import nl.jssl.autounit.MethodCallResults; +import nl.jssl.autounit.testclasses.SomeBean; + +import org.junit.Assert; +import org.junit.Test; + +public class JavaBeanTests { + @Test + public void testJavaBeanArgument() { + Map results = new AutoTester().record(SomeBean.class); + Set keys = results.keySet(); + Assert.assertTrue(keys.contains("public void setFoo(java.lang.String arg1)")); + MethodCallResults mcr = results.values().iterator().next(); + System.out.println(mcr.getCoverageResult().getLineCounter().getMissedCount() + " missed lines"); + System.out.println(mcr.getReport()); + } +} diff --git a/src/test/java/nl/jssl/autounit/inputs/objects/ObjectArgumentFactoryTests.java b/src/test/java/nl/jssl/autounit/inputs/objects/ObjectArgumentFactoryTests.java new file mode 100644 index 0000000..ab33f3f --- /dev/null +++ b/src/test/java/nl/jssl/autounit/inputs/objects/ObjectArgumentFactoryTests.java @@ -0,0 +1,23 @@ +package nl.jssl.autounit.inputs.objects; + +import static org.junit.Assert.assertEquals; + +import java.lang.reflect.Method; + +import org.junit.Test; + +public class ObjectArgumentFactoryTests { + @Test + public void testVoidReturn() throws NoSuchMethodException, SecurityException { + ObjectArgumentFactory o = new ObjectArgumentFactory(); + Method testVoidReturnMethod = ObjectArgumentFactoryTests.class.getMethod("testVoidReturn", new Class[] {}); + assertEquals(false, o.returnsVoid(testVoidReturnMethod)); + + Method getBarMethod = ObjectArgumentFactoryTests.class.getMethod("getBar", new Class[] {}); + assertEquals(true, o.returnsVoid(getBarMethod)); + } + + public String getBar() { + return "foo"; + } +} diff --git a/tst/nl/jssl/autounit/inspect/ConstantpoolReaderTest.java b/src/test/java/nl/jssl/autounit/inspect/ConstantpoolReaderTest.java similarity index 100% rename from tst/nl/jssl/autounit/inspect/ConstantpoolReaderTest.java rename to src/test/java/nl/jssl/autounit/inspect/ConstantpoolReaderTest.java diff --git a/tst/nl/jssl/autounit/util/PermuterTests.java b/src/test/java/nl/jssl/autounit/util/PermuterTests.java similarity index 82% rename from tst/nl/jssl/autounit/util/PermuterTests.java rename to src/test/java/nl/jssl/autounit/util/PermuterTests.java index 6fb15cf..1341ec3 100644 --- a/tst/nl/jssl/autounit/util/PermuterTests.java +++ b/src/test/java/nl/jssl/autounit/util/PermuterTests.java @@ -13,13 +13,13 @@ import org.junit.Test; public class PermuterTests { @Test public void testPairs() { - List integers = new ArrayList<>(); + List integers = new ArrayList(); integers.add(1); integers.add(2); - List strings = new ArrayList<>(); + List strings = new ArrayList(); strings.add("A"); strings.add("B"); - List> outer = new ArrayList<>(); + List> outer = new ArrayList>(); outer.add(integers); outer.add(strings); List permuted = Permuter.permute(outer); @@ -31,17 +31,17 @@ public class PermuterTests { @Test public void testTriplets() { - List integers = new ArrayList<>(); + List integers = new ArrayList(); integers.add(1); integers.add(2); - List strings = new ArrayList<>(); + List strings = new ArrayList(); strings.add("A"); strings.add("B"); - List vogons = new ArrayList<>(); + List vogons = new ArrayList(); vogons.add(new Vogon("Jeltz")); vogons.add(new Vogon("Gummbah")); - List> outer = new ArrayList<>(); + List> outer = new ArrayList>(); outer.add(integers); outer.add(strings); outer.add(vogons); diff --git a/testclasses/nl/jssl/autounit/testclasses/BooleanArguments.java b/src/test/testclasses/nl/jssl/autounit/testclasses/BooleanArguments.java similarity index 100% rename from testclasses/nl/jssl/autounit/testclasses/BooleanArguments.java rename to src/test/testclasses/nl/jssl/autounit/testclasses/BooleanArguments.java diff --git a/testclasses/nl/jssl/autounit/testclasses/ByteArguments.java b/src/test/testclasses/nl/jssl/autounit/testclasses/ByteArguments.java similarity index 100% rename from testclasses/nl/jssl/autounit/testclasses/ByteArguments.java rename to src/test/testclasses/nl/jssl/autounit/testclasses/ByteArguments.java diff --git a/testclasses/nl/jssl/autounit/testclasses/FloatArguments.java b/src/test/testclasses/nl/jssl/autounit/testclasses/FloatArguments.java similarity index 100% rename from testclasses/nl/jssl/autounit/testclasses/FloatArguments.java rename to src/test/testclasses/nl/jssl/autounit/testclasses/FloatArguments.java diff --git a/testclasses/nl/jssl/autounit/testclasses/IntArguments.java b/src/test/testclasses/nl/jssl/autounit/testclasses/IntArguments.java similarity index 100% rename from testclasses/nl/jssl/autounit/testclasses/IntArguments.java rename to src/test/testclasses/nl/jssl/autounit/testclasses/IntArguments.java diff --git a/testclasses/nl/jssl/autounit/testclasses/MethodSignatureMaker.java b/src/test/testclasses/nl/jssl/autounit/testclasses/MethodSignatureMaker.java similarity index 100% rename from testclasses/nl/jssl/autounit/testclasses/MethodSignatureMaker.java rename to src/test/testclasses/nl/jssl/autounit/testclasses/MethodSignatureMaker.java diff --git a/testclasses/nl/jssl/autounit/testclasses/MyMethod.java b/src/test/testclasses/nl/jssl/autounit/testclasses/MyMethod.java similarity index 100% rename from testclasses/nl/jssl/autounit/testclasses/MyMethod.java rename to src/test/testclasses/nl/jssl/autounit/testclasses/MyMethod.java diff --git a/src/test/testclasses/nl/jssl/autounit/testclasses/SomeBean.java b/src/test/testclasses/nl/jssl/autounit/testclasses/SomeBean.java new file mode 100644 index 0000000..f5e63b1 --- /dev/null +++ b/src/test/testclasses/nl/jssl/autounit/testclasses/SomeBean.java @@ -0,0 +1,24 @@ +package nl.jssl.autounit.testclasses; + +public class SomeBean { + private String foo; + + private int bar; + + public String getFoo() { + return foo; + } + + public void setFoo(String foo) { + this.foo = foo; + } + + public int getBar() { + return bar; + } + + public void setBar(int bar) { + this.bar = bar; + } + +} diff --git a/testclasses/nl/jssl/autounit/testclasses/StringArguments.java b/src/test/testclasses/nl/jssl/autounit/testclasses/StringArguments.java similarity index 100% rename from testclasses/nl/jssl/autounit/testclasses/StringArguments.java rename to src/test/testclasses/nl/jssl/autounit/testclasses/StringArguments.java