From 580feca0785bc662b36f4c664adda94cfeb279e3 Mon Sep 17 00:00:00 2001 From: Igor Rudenko Date: Mon, 23 Sep 2024 17:07:49 +0300 Subject: [PATCH] Move tests to java packages --- tests/integration_test.rs | 150 +++++++++++------- tests/test_data/Adder.class | Bin 374 -> 0 bytes tests/test_data/{Adder.java => AdderInt.java} | 4 +- tests/test_data/AdderLong.class | Bin 361 -> 0 bytes tests/test_data/AdderLong.java | 1 + tests/test_data/AdderNegativeLong.class | Bin 377 -> 0 bytes tests/test_data/AdderNegativeLong.java | 1 + tests/test_data/Array3D.java | 2 + tests/test_data/{Array.java => ArrayInt.java} | 4 +- tests/test_data/ArrayLong.java | 2 + tests/test_data/ClassA.class | Bin 279 -> 0 bytes tests/test_data/ClassB.class | Bin 280 -> 0 bytes tests/test_data/ClassC.class | Bin 442 -> 0 bytes tests/test_data/ClassD.class | Bin 360 -> 0 bytes tests/test_data/ClassE.class | Bin 342 -> 0 bytes tests/test_data/Dependable.class | Bin 294 -> 0 bytes tests/test_data/Dependable.java | 8 - tests/test_data/DependsOnDependable.class | Bin 354 -> 0 bytes tests/test_data/DependsOnDependable.java | 8 - ...emeStackTest.java => ExtremeStackInt.java} | 3 +- ...ackTestLong.java => ExtremeStackLong.java} | 3 +- tests/test_data/ExtremeStackTest.class | Bin 996 -> 0 bytes tests/test_data/ExtremeStackTestLong.class | Bin 1079 -> 0 bytes tests/test_data/FibonacciIterative.java | 2 +- tests/test_data/FibonacciRecursive.java | 2 +- tests/test_data/Helper.class | Bin 408 -> 0 bytes tests/test_data/InstanceFields.class | Bin 652 -> 0 bytes tests/test_data/InstanceFields.java | 31 ---- tests/test_data/InstanceFieldsLong.class | Bin 660 -> 0 bytes tests/test_data/InstanceFieldsLong.java | 31 ---- tests/test_data/InstanceFieldsUser.class | Bin 559 -> 0 bytes tests/test_data/InstanceFieldsUser.java | 12 -- tests/test_data/InstanceFieldsUserInts.java | 44 +++++ tests/test_data/InstanceFieldsUserLong.class | Bin 597 -> 0 bytes tests/test_data/InstanceFieldsUserLong.java | 34 +++- tests/test_data/StaticFields.class | Bin 642 -> 0 bytes tests/test_data/StaticFieldsUser.class | Bin 490 -> 0 bytes tests/test_data/StaticFieldsUser.java | 11 -- ...cFields.java => StaticFieldsUserInts.java} | 16 +- tests/test_data/StaticInitialization.class | Bin 745 -> 0 bytes .../StaticInitializationAdvanced.class | Bin 432 -> 0 bytes .../StaticInitializationAdvanced.java | 2 + ...on.java => StaticInitializationArray.java} | 3 +- .../test_data/StaticInitializationChain.java | 23 +++ .../StaticInitializationCircular.class | Bin 398 -> 0 bytes .../StaticInitializationCircular.java | 2 +- .../test_data/StaticInitializationUser.class | Bin 349 -> 0 bytes tests/test_data/StaticInitializationUser.java | 6 - .../StaticInitializationWithinOneClass.java | 2 +- tests/test_data/Sub.class | Bin 273 -> 0 bytes tests/test_data/{Sub.java => SubInts.java} | 4 +- tests/test_data/SubLong.class | Bin 416 -> 0 bytes .../test_data/{SubLong.java => SubLongs.java} | 3 +- .../arithmetics/adder/ints/AdderInt.class | Bin 0 -> 411 bytes .../arithmetics/adder/longs/AdderLong.class | Bin 0 -> 393 bytes .../addernegative/AdderNegativeLong.class | Bin 0 -> 411 bytes .../extremestack/ints/ExtremeStackInt.class | Bin 0 -> 1032 bytes .../extremestack/longs/ExtremeStackLong.class | Bin 0 -> 1110 bytes .../iterative}/FibonacciIterative.class | Bin 475 -> 515 bytes .../recursive}/FibonacciRecursive.class | Bin 418 -> 458 bytes .../arithmetics/sub/ints/SubInts.class | Bin 0 -> 310 bytes .../arithmetics/sub/longs/SubLongs.class | Bin 0 -> 448 bytes .../arrays/array/ints/ArrayInt.class} | Bin 1591 -> 1623 bytes .../arrays/array/longs}/ArrayLong.class | Bin 1734 -> 1761 bytes .../arrays/array3d}/Array3D.class | Bin 748 -> 771 bytes .../fields/instance/ints/InstanceFields.class | Bin 0 -> 689 bytes .../ints/InstanceFieldsUserInts.class | Bin 0 -> 625 bytes .../instance/longs/InstanceFields.class | Bin 0 -> 690 bytes .../longs/InstanceFieldsUserLong.class | Bin 0 -> 653 bytes .../advanced/ClassC.class | Bin 0 -> 577 bytes .../advanced/ClassD.class | Bin 0 -> 450 bytes .../advanced/ClassE.class | Bin 0 -> 477 bytes .../advanced/Helper.class | Bin 0 -> 453 bytes .../StaticInitializationAdvanced.class | Bin 0 -> 612 bytes .../array/StaticInitializationArray.class | Bin 0 -> 797 bytes .../chain/Dependable.class | Bin 0 -> 351 bytes .../chain/DependsOnDependable.class | Bin 0 -> 444 bytes .../chain/StaticInitializationChain.class | Bin 0 -> 435 bytes .../circular}/ClassACircular.class | Bin 340 -> 430 bytes .../circular}/ClassBCircular.class | Bin 341 -> 431 bytes .../StaticInitializationCircular.class | Bin 0 -> 533 bytes .../ints/StaticFields.class | Bin 0 -> 691 bytes .../ints/StaticFieldsUserInts.class | Bin 0 -> 580 bytes .../StaticInitializationWithinOneClass.class | Bin 432 -> 477 bytes vm/src/vm.rs | 5 +- 85 files changed, 242 insertions(+), 177 deletions(-) delete mode 100644 tests/test_data/Adder.class rename tests/test_data/{Adder.java => AdderInt.java} (82%) delete mode 100644 tests/test_data/AdderLong.class delete mode 100644 tests/test_data/AdderNegativeLong.class rename tests/test_data/{Array.java => ArrayInt.java} (98%) delete mode 100644 tests/test_data/ClassA.class delete mode 100644 tests/test_data/ClassB.class delete mode 100644 tests/test_data/ClassC.class delete mode 100644 tests/test_data/ClassD.class delete mode 100644 tests/test_data/ClassE.class delete mode 100644 tests/test_data/Dependable.class delete mode 100644 tests/test_data/Dependable.java delete mode 100644 tests/test_data/DependsOnDependable.class delete mode 100644 tests/test_data/DependsOnDependable.java rename tests/test_data/{ExtremeStackTest.java => ExtremeStackInt.java} (96%) rename tests/test_data/{ExtremeStackTestLong.java => ExtremeStackLong.java} (96%) delete mode 100644 tests/test_data/ExtremeStackTest.class delete mode 100644 tests/test_data/ExtremeStackTestLong.class delete mode 100644 tests/test_data/Helper.class delete mode 100644 tests/test_data/InstanceFields.class delete mode 100644 tests/test_data/InstanceFields.java delete mode 100644 tests/test_data/InstanceFieldsLong.class delete mode 100644 tests/test_data/InstanceFieldsLong.java delete mode 100644 tests/test_data/InstanceFieldsUser.class delete mode 100644 tests/test_data/InstanceFieldsUser.java create mode 100644 tests/test_data/InstanceFieldsUserInts.java delete mode 100644 tests/test_data/InstanceFieldsUserLong.class delete mode 100644 tests/test_data/StaticFields.class delete mode 100644 tests/test_data/StaticFieldsUser.class delete mode 100644 tests/test_data/StaticFieldsUser.java rename tests/test_data/{StaticFields.java => StaticFieldsUserInts.java} (57%) delete mode 100644 tests/test_data/StaticInitialization.class delete mode 100644 tests/test_data/StaticInitializationAdvanced.class rename tests/test_data/{StaticInitialization.java => StaticInitializationArray.java} (91%) create mode 100644 tests/test_data/StaticInitializationChain.java delete mode 100644 tests/test_data/StaticInitializationCircular.class delete mode 100644 tests/test_data/StaticInitializationUser.class delete mode 100644 tests/test_data/StaticInitializationUser.java delete mode 100644 tests/test_data/Sub.class rename tests/test_data/{Sub.java => SubInts.java} (70%) delete mode 100644 tests/test_data/SubLong.class rename tests/test_data/{SubLong.java => SubLongs.java} (79%) create mode 100644 tests/test_data/samples/arithmetics/adder/ints/AdderInt.class create mode 100644 tests/test_data/samples/arithmetics/adder/longs/AdderLong.class create mode 100644 tests/test_data/samples/arithmetics/addernegative/AdderNegativeLong.class create mode 100644 tests/test_data/samples/arithmetics/extremestack/ints/ExtremeStackInt.class create mode 100644 tests/test_data/samples/arithmetics/extremestack/longs/ExtremeStackLong.class rename tests/test_data/{ => samples/arithmetics/fibonacci/iterative}/FibonacciIterative.class (68%) rename tests/test_data/{ => samples/arithmetics/fibonacci/recursive}/FibonacciRecursive.class (64%) create mode 100644 tests/test_data/samples/arithmetics/sub/ints/SubInts.class create mode 100644 tests/test_data/samples/arithmetics/sub/longs/SubLongs.class rename tests/test_data/{Array.class => samples/arrays/array/ints/ArrayInt.class} (59%) rename tests/test_data/{ => samples/arrays/array/longs}/ArrayLong.class (60%) rename tests/test_data/{ => samples/arrays/array3d}/Array3D.class (59%) create mode 100644 tests/test_data/samples/fields/instance/ints/InstanceFields.class create mode 100644 tests/test_data/samples/fields/instance/ints/InstanceFieldsUserInts.class create mode 100644 tests/test_data/samples/fields/instance/longs/InstanceFields.class create mode 100644 tests/test_data/samples/fields/instance/longs/InstanceFieldsUserLong.class create mode 100644 tests/test_data/samples/fields/staticinitialization/advanced/ClassC.class create mode 100644 tests/test_data/samples/fields/staticinitialization/advanced/ClassD.class create mode 100644 tests/test_data/samples/fields/staticinitialization/advanced/ClassE.class create mode 100644 tests/test_data/samples/fields/staticinitialization/advanced/Helper.class create mode 100644 tests/test_data/samples/fields/staticinitialization/advanced/StaticInitializationAdvanced.class create mode 100644 tests/test_data/samples/fields/staticinitialization/array/StaticInitializationArray.class create mode 100644 tests/test_data/samples/fields/staticinitialization/chain/Dependable.class create mode 100644 tests/test_data/samples/fields/staticinitialization/chain/DependsOnDependable.class create mode 100644 tests/test_data/samples/fields/staticinitialization/chain/StaticInitializationChain.class rename tests/test_data/{ => samples/fields/staticinitialization/circular}/ClassACircular.class (54%) rename tests/test_data/{ => samples/fields/staticinitialization/circular}/ClassBCircular.class (54%) create mode 100644 tests/test_data/samples/fields/staticinitialization/circular/StaticInitializationCircular.class create mode 100644 tests/test_data/samples/fields/staticinitialization/ints/StaticFields.class create mode 100644 tests/test_data/samples/fields/staticinitialization/ints/StaticFieldsUserInts.class rename tests/test_data/{ => samples/fields/staticinitialization/oneclass}/StaticInitializationWithinOneClass.class (63%) diff --git a/tests/integration_test.rs b/tests/integration_test.rs index 2ed49ad8..6eeb8a54 100644 --- a/tests/integration_test.rs +++ b/tests/integration_test.rs @@ -2,44 +2,58 @@ use vm::vm::VM; #[test] fn should_do_adding() { - let vm = VM::new(vec!["tests/test_data/Adder.class"], "tests/test_data/std").unwrap(); - let last_frame_value = vm.run("Adder").unwrap(); + let vm = VM::new( + vec!["tests/test_data/samples/arithmetics/adder/ints/AdderInt.class"], + "tests/test_data/std", + ) + .unwrap(); + let last_frame_value = vm.run("samples.arithmetics.adder.ints.AdderInt").unwrap(); assert_eq!(55, get_int(last_frame_value)) } #[test] fn should_do_adding_with_longs() { let vm = VM::new( - vec!["tests/test_data/AdderLong.class"], + vec!["tests/test_data/samples/arithmetics/adder/longs/AdderLong.class"], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("AdderLong").unwrap(); + let last_frame_value = vm.run("samples.arithmetics.adder.longs.AdderLong").unwrap(); assert_eq!(171798691900, get_long(last_frame_value)) } #[test] fn should_do_adding_with_negative_longs() { let vm = VM::new( - vec!["tests/test_data/AdderNegativeLong.class"], + vec!["tests/test_data/samples/arithmetics/addernegative/AdderNegativeLong.class"], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("AdderNegativeLong").unwrap(); + let last_frame_value = vm + .run("samples.arithmetics.addernegative.AdderNegativeLong") + .unwrap(); assert_eq!(-1990000000000000, get_long(last_frame_value)) } #[test] fn should_do_subtraction() { - let vm = VM::new(vec!["tests/test_data/Sub.class"], "tests/test_data/std").unwrap(); - let last_frame_value = vm.run("Sub").unwrap(); + let vm = VM::new( + vec!["tests/test_data/samples/arithmetics/sub/ints/SubInts.class"], + "tests/test_data/std", + ) + .unwrap(); + let last_frame_value = vm.run("samples.arithmetics.sub.ints.SubInts").unwrap(); assert_eq!(-999, get_int(last_frame_value)) } #[test] fn should_do_subtraction_with_longs() { - let vm = VM::new(vec!["tests/test_data/SubLong.class"], "tests/test_data/std").unwrap(); - let last_frame_value = vm.run("SubLong").unwrap(); + let vm = VM::new( + vec!["tests/test_data/samples/arithmetics/sub/longs/SubLongs.class"], + "tests/test_data/std", + ) + .unwrap(); + let last_frame_value = vm.run("samples.arithmetics.sub.longs.SubLongs").unwrap(); assert_eq!(-1_000_000_000, get_long(last_frame_value)) } @@ -47,13 +61,15 @@ fn should_do_subtraction_with_longs() { fn should_write_read_instance_fields() { let vm = VM::new( vec![ - "tests/test_data/InstanceFieldsUser.class", - "tests/test_data/InstanceFields.class", + "tests/test_data/samples/fields/instance/ints/InstanceFieldsUserInts.class", + "tests/test_data/samples/fields/instance/ints/InstanceFields.class", ], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("InstanceFieldsUser").unwrap(); + let last_frame_value = vm + .run("samples.fields.instance.ints.InstanceFieldsUserInts") + .unwrap(); assert_eq!(110022, get_int(last_frame_value)) } @@ -61,13 +77,15 @@ fn should_write_read_instance_fields() { fn should_write_read_instance_fields_with_longs() { let vm = VM::new( vec![ - "tests/test_data/InstanceFieldsUserLong.class", - "tests/test_data/InstanceFieldsLong.class", + "tests/test_data/samples/fields/instance/longs/InstanceFieldsUserLong.class", + "tests/test_data/samples/fields/instance/longs/InstanceFields.class", ], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("InstanceFieldsUserLong").unwrap(); + let last_frame_value = vm + .run("samples.fields.instance.longs.InstanceFieldsUserLong") + .unwrap(); assert_eq!(4_380_866_642_760, get_long(last_frame_value)) } @@ -75,93 +93,113 @@ fn should_write_read_instance_fields_with_longs() { fn should_write_read_static_fields() { let vm = VM::new( vec![ - "tests/test_data/StaticFieldsUser.class", - "tests/test_data/StaticFields.class", + "tests/test_data/samples/fields/staticinitialization/ints/StaticFieldsUserInts.class", + "tests/test_data/samples/fields/staticinitialization/ints/StaticFields.class", ], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("StaticFieldsUser").unwrap(); + let last_frame_value = vm + .run("samples.fields.staticinitialization.ints.StaticFieldsUserInts") + .unwrap(); assert_eq!(110022, get_int(last_frame_value)) } #[test] fn should_do_extreme_stack_operations() { let vm = VM::new( - vec!["tests/test_data/ExtremeStackTest.class"], + vec!["tests/test_data/samples/arithmetics/extremestack/ints/ExtremeStackInt.class"], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("ExtremeStackTest").unwrap(); + let last_frame_value = vm + .run("samples.arithmetics.extremestack.ints.ExtremeStackInt") + .unwrap(); assert_eq!(454, get_int(last_frame_value)) } #[test] fn should_do_extreme_stack_operations_with_longs() { let vm = VM::new( - vec!["tests/test_data/ExtremeStackTestLong.class"], + vec!["tests/test_data/samples/arithmetics/extremestack/longs/ExtremeStackLong.class"], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("ExtremeStackTestLong").unwrap(); + let last_frame_value = vm + .run("samples.arithmetics.extremestack.longs.ExtremeStackLong") + .unwrap(); assert_eq!(454, get_long(last_frame_value)) } #[test] fn should_do_calculate_fibonacci_iteratively() { let vm = VM::new( - vec!["tests/test_data/FibonacciIterative.class"], + vec!["tests/test_data/samples/arithmetics/fibonacci/iterative/FibonacciIterative.class"], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("FibonacciIterative").unwrap(); + let last_frame_value = vm + .run("samples.arithmetics.fibonacci.iterative.FibonacciIterative") + .unwrap(); assert_eq!(55, get_int(last_frame_value)) } #[test] fn should_do_calculate_fibonacci_recursively() { let vm = VM::new( - vec!["tests/test_data/FibonacciRecursive.class"], + vec!["tests/test_data/samples/arithmetics/fibonacci/recursive/FibonacciRecursive.class"], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("FibonacciRecursive").unwrap(); + let last_frame_value = vm + .run("samples.arithmetics.fibonacci.recursive.FibonacciRecursive") + .unwrap(); assert_eq!(55, get_int(last_frame_value)) } #[test] fn should_do_arrays() { - let vm = VM::new(vec!["tests/test_data/Array.class"], "tests/test_data/std").unwrap(); - let last_frame_value = vm.run("Array").unwrap(); + let vm = VM::new( + vec!["tests/test_data/samples/arrays/array/ints/ArrayInt.class"], + "tests/test_data/std", + ) + .unwrap(); + let last_frame_value = vm.run("samples.arrays.array.ints.ArrayInt").unwrap(); assert_eq!(740, get_int(last_frame_value)) } #[test] fn should_do_arrays_with_longs() { let vm = VM::new( - vec!["tests/test_data/ArrayLong.class"], + vec!["tests/test_data/samples/arrays/array/longs/ArrayLong.class"], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("ArrayLong").unwrap(); + let last_frame_value = vm.run("samples.arrays.array.longs.ArrayLong").unwrap(); assert_eq!(233646220932000, get_long(last_frame_value)) } #[test] fn should_do_3d_arrays() { - let vm = VM::new(vec!["tests/test_data/Array3D.class"], "tests/test_data/std").unwrap(); - let last_frame_value = vm.run("Array3D").unwrap(); + let vm = VM::new( + vec!["tests/test_data/samples/arrays/array3d/Array3D.class"], + "tests/test_data/std", + ) + .unwrap(); + let last_frame_value = vm.run("samples.arrays.array3d.Array3D").unwrap(); assert_eq!(780, get_int(last_frame_value)) } #[test] fn should_do_class_static_initialization() { let vm = VM::new( - vec!["tests/test_data/StaticInitialization.class"], + vec!["tests/test_data/samples/fields/staticinitialization/array/StaticInitializationArray.class"], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("StaticInitialization").unwrap(); + let last_frame_value = vm + .run("samples.fields.staticinitialization.array.StaticInitializationArray") + .unwrap(); assert_eq!(257, get_int(last_frame_value)) } @@ -169,25 +207,29 @@ fn should_do_class_static_initialization() { fn should_do_class_static_initialization_multiple_classes() { let vm = VM::new( vec![ - "tests/test_data/Dependable.class", - "tests/test_data/DependsOnDependable.class", - "tests/test_data/StaticInitializationUser.class", + "tests/test_data/samples/fields/staticinitialization/chain/Dependable.class", + "tests/test_data/samples/fields/staticinitialization/chain/DependsOnDependable.class", + "tests/test_data/samples/fields/staticinitialization/chain/StaticInitializationChain.class", ], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("StaticInitializationUser").unwrap(); + let last_frame_value = vm + .run("samples.fields.staticinitialization.chain.StaticInitializationChain") + .unwrap(); assert_eq!(350, get_int(last_frame_value)) } #[test] fn should_do_class_static_initialization_within_one_class() { let vm = VM::new( - vec!["tests/test_data/StaticInitializationWithinOneClass.class"], + vec!["tests/test_data/samples/fields/staticinitialization/oneclass/StaticInitializationWithinOneClass.class"], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("StaticInitializationWithinOneClass").unwrap(); + let last_frame_value = vm + .run("samples.fields.staticinitialization.oneclass.StaticInitializationWithinOneClass") + .unwrap(); assert_eq!(100, get_int(last_frame_value)) } @@ -195,18 +237,18 @@ fn should_do_class_static_initialization_within_one_class() { fn should_do_class_static_initialization_advanced() { let vm = VM::new( vec![ - "tests/test_data/StaticInitializationAdvanced.class", - "tests/test_data/ClassA.class", - "tests/test_data/ClassB.class", - "tests/test_data/ClassC.class", - "tests/test_data/ClassD.class", - "tests/test_data/ClassE.class", - "tests/test_data/Helper.class", + "tests/test_data/samples/fields/staticinitialization/advanced/StaticInitializationAdvanced.class", + "tests/test_data/samples/fields/staticinitialization/advanced/ClassC.class", + "tests/test_data/samples/fields/staticinitialization/advanced/ClassD.class", + "tests/test_data/samples/fields/staticinitialization/advanced/ClassE.class", + "tests/test_data/samples/fields/staticinitialization/advanced/Helper.class", ], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("StaticInitializationAdvanced").unwrap(); + let last_frame_value = vm + .run("samples.fields.staticinitialization.advanced.StaticInitializationAdvanced") + .unwrap(); assert_eq!(826, get_int(last_frame_value)) } @@ -214,14 +256,16 @@ fn should_do_class_static_initialization_advanced() { fn should_do_class_static_initialization_circular() { let vm = VM::new( vec![ - "tests/test_data/StaticInitializationCircular.class", - "tests/test_data/ClassACircular.class", - "tests/test_data/ClassBCircular.class", + "tests/test_data/samples/fields/staticinitialization/circular/StaticInitializationCircular.class", + "tests/test_data/samples/fields/staticinitialization/circular/ClassACircular.class", + "tests/test_data/samples/fields/staticinitialization/circular/ClassBCircular.class", ], "tests/test_data/std", ) .unwrap(); - let last_frame_value = vm.run("StaticInitializationCircular").unwrap(); + let last_frame_value = vm + .run("samples.fields.staticinitialization.circular.StaticInitializationCircular") + .unwrap(); assert_eq!(700, get_int(last_frame_value)) } diff --git a/tests/test_data/Adder.class b/tests/test_data/Adder.class deleted file mode 100644 index e17ddac823c68431e28fb6d27f6ea82e6646c7d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 374 zcmYjMy-ve07(D04PE1M-B@BfQYzYHJtW-#VgjA`5p{NUslP0QMwW$=PJQWKQh=B*- zp%9+|Q9OKqcc=4xe7?N{xI#z5fh*ue@WC0>JbTRgi>#XU@A7#$Z5a5#RHnILaFcW* z5g-(h5w;L9_?Jad)&ylm!O%*Ee=i*}c-O0G&|RI~GR!XU@1bv-R_j3vu&j}uG85!pNRali$+gHvtM)}zj-`^PU}&onS>Q?;t>QPYj9p-jj$EhL2cRxVs=T=)P! zl<_Aq*2TG>@0>aF_5JY);0F5vEZ81o2nVjfaG{>nWT~oh@{lj|ycKXSOl8_j0Xt4+ z4yk|=bIZCz-AL1rp_zh33Kc~tq5 z8M#uX5*Wo#*=GB+ZA?|3Co_RyTCbbAzB65O|8M?T*NkJXxA+dg26w@w-ez=2D`=h5 zH;7j{0z1@Q83cUnBBI~5o@14-0uCY6q0*((r8&Zt_5va8;-VkJk09va zq&WBi{7j-g0ilA!J@3Eg?p%JN#IQ;P7JP?{l(M#*xEK~*Z9A9aTe-k_M5V|l6S;_%;`gBrpv ztz*z>fC-ujn`E23ZPJXiwf_S4Oa{Xm$vO=JT&yD?yDr@WCm3i1a00lmXq+yA`oE|P doo&;jlYgNtf;eUPPDebE{@dOqZ-Zh6!XI^!LeBsI diff --git a/tests/test_data/AdderNegativeLong.java b/tests/test_data/AdderNegativeLong.java index 0f9f2b4c..27354e1d 100644 --- a/tests/test_data/AdderNegativeLong.java +++ b/tests/test_data/AdderNegativeLong.java @@ -1,3 +1,4 @@ +package samples.arithmetics.addernegative; public class AdderNegativeLong { diff --git a/tests/test_data/Array3D.java b/tests/test_data/Array3D.java index 148c1d7c..9d933985 100644 --- a/tests/test_data/Array3D.java +++ b/tests/test_data/Array3D.java @@ -1,3 +1,5 @@ +package samples.arrays.array3d; + public class Array3D { public static void main(String[] args) { int[][][] array = new int[][][]{ diff --git a/tests/test_data/Array.java b/tests/test_data/ArrayInt.java similarity index 98% rename from tests/test_data/Array.java rename to tests/test_data/ArrayInt.java index 672ff496..586863ea 100644 --- a/tests/test_data/Array.java +++ b/tests/test_data/ArrayInt.java @@ -1,4 +1,6 @@ -public class Array { +package samples.arrays.array.ints; + +public class ArrayInt { public static void main(String[] args) { // 1. Initialize two arrays with different sizes diff --git a/tests/test_data/ArrayLong.java b/tests/test_data/ArrayLong.java index 91a108b4..a0f70c6d 100644 --- a/tests/test_data/ArrayLong.java +++ b/tests/test_data/ArrayLong.java @@ -1,3 +1,5 @@ +package samples.arrays.array.longs; + public class ArrayLong { public static void main(String[] args) { diff --git a/tests/test_data/ClassA.class b/tests/test_data/ClassA.class deleted file mode 100644 index be418d6fd32a3f6ea2ce073419430789d160a0bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmYLEO>4qH6r2}7Vq&bR^wL71^rRm24~S3$LZP*XmfknXQdZUoCiZ_74}~831Nx)H zSrL1AJ3BM)&3k|QpI-no^g?*3`KU)|pecx#>QjxaDn7<9=~8EvpgA#xsiuNjfAAil zg}_G`p^b=IVpUl_2-;<(DwEBPwz)ta1@&Z|YeDzP6ne2;rF!$GQcI>a$?R!j_`2S1 zGCenr51y4NMlK(BO!2rM%`S(?{kR~R4$&=Nam?@=@YlB@u})AUP-qf{6#k`|LV|k;yLXkMAWO0y+2qK9txk zl3ZqLsy@1U&X?a4fC;(*9MoLYLp-2CXz$csjjT$)M$34olakOFo79x=gxbsN#)k*r zMG&Hikh7^(MKK{Xi&B*)nHg=j1ez1-(`>5=(ZZzqv-*y8zE-hi#~Ua1J~3EjRi5aX z5#Rq%CVi8BJaLP|`!Os%tmMTDveRPK4OAHz9byka%<0o#>Ep*T60ZKg9n~5=k`i z1NjyDk-iMi z7?O?V$bd=6rBIJzYQcb|bvcGq!)cDP*ubWNyo~~iMC&R(n{_F9&m> zlo)C*S8k+uCVckejV349p?#Zr~9y-h?eX<05p@gAIul@!JP1OFWZ6pZ;svj_JitKxd>;iTX&#$oGuywmY WdEH<$CYNZ6GWk@fU7e%}9Q*>Z=21Za diff --git a/tests/test_data/ClassD.class b/tests/test_data/ClassD.class deleted file mode 100644 index 9a5c55fac75de6c7437ac14063050a1fadcf2b94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360 zcmYLF%Sr=55Uk$BY_eHRd_TY!Uets6fgorkxFC9nQTw1QA49`GG<%pnJ;Q#2^}BZ5X)E*-@tNFToKyE zTuz{fP#B_*4nAZQLM>7ua-{HSvaV~Zr P3G9h*UnCoXJ#78}noB~y diff --git a/tests/test_data/ClassE.class b/tests/test_data/ClassE.class deleted file mode 100644 index bc3fe574035d65a59da4912598c9e4c5fd8ed123..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmYLF%T5A85UgI1WgiNHuZxL#5cD8FKulzngv96pQ0bmM z2B;(O5yprRb1gBVC=xj2x1XswAGLN&=VMQGe=tL|nm zshU2B)G$-;OSAF}$N6k3)lfVBc)T7cMsmIl==fASVa&-4=ufKlBFcXSj6~WrH6uto~0jEoJ7&f z%-gp!^XBjW_zU0#4=xOtHY^V{)CEDR4r-XG{A0KdQyuLE^-+>1`?0|6KfX8Mpkc%H z(1a&&XZlm;u?jOy;X!4Eo(NbWd|9#0u8DP$hwWN>CnVvDaXS;)1)59F&7wu$9;DRtoAq)*ij@Phaob_XZo-O+|g Ohgn58VN)Aa37s=Gfi64% diff --git a/tests/test_data/Dependable.java b/tests/test_data/Dependable.java deleted file mode 100644 index 93046ad5..00000000 --- a/tests/test_data/Dependable.java +++ /dev/null @@ -1,8 +0,0 @@ - -public class Dependable { - static int valueA = 100; - - static { - valueA = 200; - } -} diff --git a/tests/test_data/DependsOnDependable.class b/tests/test_data/DependsOnDependable.class deleted file mode 100644 index 53681bda9e8aab4288c8927af905f7ce5f3736e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmZvXPfx-?5XIlLz_ztOrTFLK!JB%JM6Sd{AS5OR4jRvH+l?uyi$Tiw0uCk|_yB$= z!)!5f(96th_V?bK`TAaO0CaKU!GbMN@=->G5RBzqwlb+-Tcc>K;u)dRNp(8ACD<32 z&n_Ie0-lcp_yn)7-jz;dlqm-1GRxH+f$m+@P!|Y%92zX#VIL#?m+ulvy-C9Q`a`PK zFn^2G^l9hlbmHtM+YpVzs|T5_wv;z vXirm1nhM-)#$ID?t>rHw2XO;-QWK4CbI47=l6hqtkZFZ}|Id$9;X^pHMy) zG5FrL6S|$yX$Nt1BA}Lc7k6cD-oS`V9CG7EGxSgQ;-%x1<@!5; zOrHGrI+i5^*J&cd>joq3BFk}xs~JYYs4abj_`r$4HIDK#m@tT0%yBNIn_O#*rGnl? zt}@WY@H&UWhGkc0s`u4?_Ee(FlA`mC@+e>wMT{paBc;873Wc;;rJ}6c=6j4=wrP7^ zj8`jX8F6v-&C=?ocbV9bmU_@4O_XSBnz#~2i8@H)Y3UqgTWh|9ZrSz91#&F2V%b^lVAmB-?WYefiwjP%dGmR*=SnkPv*HLBle>!8#NO(^9`$B(QK%6=N8Pn2;(a5H_w}+mQ@TXKI-m{2#=H zku@t8u54VmHvSR+gNfpK(?UsfCiC9B`_4P}oO|DoKVQEASjUoq1d?e86FO2Ft{upC za>bXy{>paaz->kvQjfjBi=JpmR;qhCPpQW+U|=i_)5JJ(8uCw%qORL^cOuz*v+Ev4 z^)T4iFct9EZEZ-u+4E)Og~6c)QQ4|)T@dMtXv)NO#WL0m+a2FMs)u1m#c!CfRNQ(k zn^D;Hr2o?I9d3G!Fp$lrryvCrGnmzoYxn%f>-g`Tpyjk$8uZH6l{ATqd`WevWMV<_ zW-obF^rnehgXl#9YTXE1u7-)a7q~Ba?S|Xkl?|T}(Ux97WtCU;QOS0qt{3dDR`)cF z$CY?4J43v&6ZX1IchggcXZ}~MWyM2Xsw3*jfF_XQc$=$v&KhTZ@e8!i{LyfSquK@! zWN{Z2{wwG+2(E!*9_c=^Yk5rcF}WU3`I=r_kd`iM=@E&=Jc=sK+&R7$CSkK9hU)E* zR8mihsA|^9)`TVO<4-7*I9tN)V_G_vFl0@fp8qW6G3VLt8NrEI?`y09tzqmG3Cx_`uOeVOWu}hv^a;0Ls>bOKSugnnrfoLUe-EfS7xD(VYK_PFm z#~(39ot|@w3}@+Z$YVaBJI(qQvB)d3gc@UOSdJac zA{9HB5!>RNCz3)4B$Oj{r+9sb8q4&f8f(~n6#13^@pPYfUdti=5gjS~q-`9ZKsU~8 z+hC=O-bi8&Ndg`a_>f{(V>wA^8S?NV4|$v+Phr4gpT#s~o5dmBK*gX>1G+Wh9nx)# L=rr0^&Aj&)`O~6i diff --git a/tests/test_data/FibonacciIterative.java b/tests/test_data/FibonacciIterative.java index 18d53a42..8839d611 100644 --- a/tests/test_data/FibonacciIterative.java +++ b/tests/test_data/FibonacciIterative.java @@ -1,4 +1,4 @@ - +package samples.arithmetics.fibonacci.iterative; public class FibonacciIterative { diff --git a/tests/test_data/FibonacciRecursive.java b/tests/test_data/FibonacciRecursive.java index 8faaee51..8fa55833 100644 --- a/tests/test_data/FibonacciRecursive.java +++ b/tests/test_data/FibonacciRecursive.java @@ -1,4 +1,4 @@ - +package samples.arithmetics.fibonacci.recursive; public class FibonacciRecursive { diff --git a/tests/test_data/Helper.class b/tests/test_data/Helper.class deleted file mode 100644 index 756f2d846773a18435f909b888587eac1947a28f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 408 zcmZWk%}T>S7@TeMV`8jr)q_|;Z*9N^Ja`g8g#LTAMoW$AyCKhBDItOmMNJFM^_J!)z6BNemsJXy#zR!P77 z4i0F##_tNWOWUmKyf!vCX|M{3mbf3jL4DiVJ?r= h!q*dXwc#wM$BgY2bDv$wwZj*l?rojtwYKHDpX=krOCS?N__++rgy&Fq*pKNFaCa1zvO^ zpmw@L9eL;)3==yr1&US>Ms_fEZ#>s`LIHi@hOr+F;*o%`B)Vv#B%$k@OUIGjiiv8X zdl&lxnd`aZ3Y2cWz`c)WBX{v+k9>C2P>#!XEUPa#^xm zZ7~M(cp(ML$+iFb&!l^tP@lrrQ5oryCq-IVWr}9jKsm@U)>yTf1#`Cd3GvQ@z%HY_ zmQ;Z{_82AfltWeKe6QJZme4k6`4523(FU>msf_0(3fqhV8AUPa3cn(84yfL1-%#THc1rm2GZPaP$XNTUb;8 diff --git a/tests/test_data/InstanceFields.java b/tests/test_data/InstanceFields.java deleted file mode 100644 index a9327c3b..00000000 --- a/tests/test_data/InstanceFields.java +++ /dev/null @@ -1,31 +0,0 @@ - -public class InstanceFields { - - private int resultSub; - private int resultAdd; - private int resultMul; - - public void sub(int first, int second) { - resultSub = first - second; - } - - public void add(int first, int second) { - resultAdd = first + second; - } - - public void mul(int first, int second) { - resultMul = first * second; - } - - public int getResultSub() { - return resultSub; - } - - public int getResultAdd() { - return resultAdd; - } - - public int getResultMul() { - return resultMul; - } -} diff --git a/tests/test_data/InstanceFieldsLong.class b/tests/test_data/InstanceFieldsLong.class deleted file mode 100644 index a3c1354be56a4788702a88e0ff082df591f9ff22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 zcmZvZ-A=+l5QWc{pF%CaiinDY#0%g;Uci{BiHQwrB8K~xZb(Tf32l8VFH9sRUibh$ zl<_PffnaZDIzX2G24eL}qR zL*Rf>9V=9zhC@arJtvl7&h=VtxrDw^tN#Jyd9^`pJ&~}NDC`mi5=9b6iG;UAd6%e= tsFG;lclTrV^?^s(1Za+nhXcWAPK{`$)FXg)nZ-Z!yHzEJFS+?M>s~4yc2se zALqznf`PY1bS}c!i)`6|=2ay<#WCGaAAI$h;h60wPGZl%Ji|!;hL@oT7}TR~OE3)A zTwk2Vou&vboTf*J+HqW;Ay>Gr{he<|f$O(-iggCl?#6+0qk|Lp{bO1|O{+2#anMPd0%Is#>tv&q}Mnica^MnDrq5ekN zPjp&VHuEz*m}NEbLuD=TS;Bi5BeaLf8v=XC-)yOWq_H56#m9!5?jaX)=RzLO=VG75J5$}fMTf%Rtw@Er*vA0hq{5LhA0G?!+uiZ#Mq`iI(j z$?F{4gB&tP&J+4>t^Z^m(OIk5_U>I!aaQm0WXzWcmt=-Y?}Z8 diff --git a/tests/test_data/InstanceFieldsUserLong.java b/tests/test_data/InstanceFieldsUserLong.java index 2c0f45d9..3f97636d 100644 --- a/tests/test_data/InstanceFieldsUserLong.java +++ b/tests/test_data/InstanceFieldsUserLong.java @@ -1,12 +1,44 @@ +package samples.fields.instance.longs; public class InstanceFieldsUserLong { public static void main(String[] args) { long first = 42_949_672_980L/*h=10,l=20*/; long second = 128_849_018_920L/*h=30,l=40*/; - InstanceFieldsLong[] instances = new InstanceFieldsLong[] { new InstanceFieldsLong(), new InstanceFieldsLong(), new InstanceFieldsLong() }; + InstanceFields[] instances = new InstanceFields[] { new InstanceFields(), new InstanceFields(), new InstanceFields() }; instances[0].sub(first, second); instances[1].add(first, second); instances[2].mul(first, second); long result = instances[0].getResultSub() + instances[1].getResultAdd() + instances[2].getResultMul(); } } + +class InstanceFields { + + private long resultSub; + private long resultAdd; + private long resultMul; + + public void sub(long first, long second) { + resultSub = first - second; + } + + public void add(long first, long second) { + resultAdd = first + second; + } + + public void mul(long first, long second) { + resultMul = first * second; + } + + public long getResultSub() { + return resultSub; + } + + public long getResultAdd() { + return resultAdd; + } + + public long getResultMul() { + return resultMul; + } +} \ No newline at end of file diff --git a/tests/test_data/StaticFields.class b/tests/test_data/StaticFields.class deleted file mode 100644 index e7255b5d4d506946cc286656a2b3ab0448fa1041..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 642 zcmZva%SyvQ7=_O?ZDL|-TkpM!xM^M37Z5>(Lcj}H>Dr_jYD(HdoA^|2v~OoQl3 zKx=mfCbnQ2uxxC@7O?w~8wJB&AVYs4V9w?XSR zaVU_#o%vFrbQetJLp<^1{Mq$FcI=Uio;JQr;Ut^1OdeNW+Cn8Lv>m52U~X3-+C;r# z^=I*XD0_i&t|Zf6sL654bUA(*4VIdaJ4+3)s*KEPfX>jl?(x)Q6|9BxFNhCr1opYA zYtYEV0S>uWXk*m_@}Dr?Q>01qD2ptn$s)<)EV7&?D-KOK(U?DM=sxmn$0=et;ik zoC^!YyErp*=ggVM_s{1SfLomDNI}t{a-@-AFs9a<)%GlZ(tfn3VjMAKIPOKDFvueU#9mt4%X8*OPw-DWj%2pdm3sq|KEXLLJ=^icXLNDRpWm4I?!$+BApW>F9*_4@6;we!4V?Y6r-pLU-Jh=fuyFefR-q`u>O!Qn$$J8xj& zW@1xkV$r}7OaV=5Oe9*o>RT$GPX8b2HyRpI-p3PW#Aq|ga-Hl8$$-y zpRX2y=t)hk{bzEf_ff+R{eyl6nEnZhCF-h_8Rf+32iO}G;OgrDTQAt;AO67&dK~u*fn+b(UfgE~$ESQihZdX>Q=? E7c;q19smFU diff --git a/tests/test_data/StaticInitializationAdvanced.java b/tests/test_data/StaticInitializationAdvanced.java index a8dbc0d1..66af1e81 100644 --- a/tests/test_data/StaticInitializationAdvanced.java +++ b/tests/test_data/StaticInitializationAdvanced.java @@ -1,3 +1,5 @@ +package samples.fields.staticinitialization.advanced; + public class StaticInitializationAdvanced { public static void main(String[] args) { int classCWithHelperNonStaticGetter = ClassC.staticField; diff --git a/tests/test_data/StaticInitialization.java b/tests/test_data/StaticInitializationArray.java similarity index 91% rename from tests/test_data/StaticInitialization.java rename to tests/test_data/StaticInitializationArray.java index 9620e06f..2e74bb69 100644 --- a/tests/test_data/StaticInitialization.java +++ b/tests/test_data/StaticInitializationArray.java @@ -1,5 +1,6 @@ +package samples.fields.staticinitialization.array; -public class StaticInitialization { +public class StaticInitializationArray { private static final int STATIC_FINAL_FIELD = init(); private static int staticField1; private static int staticField2; diff --git a/tests/test_data/StaticInitializationChain.java b/tests/test_data/StaticInitializationChain.java new file mode 100644 index 00000000..8c325a4e --- /dev/null +++ b/tests/test_data/StaticInitializationChain.java @@ -0,0 +1,23 @@ +package samples.fields.staticinitialization.chain; + +public class StaticInitializationChain { + public static void main(String[] args) { + int result = DependsOnDependable.valueB; + } +} + +class DependsOnDependable { + static int valueB = Dependable.valueA + 50; + + static { + valueB += 100; + } +} + +class Dependable { + static int valueA = 100; + + static { + valueA = 200; + } +} diff --git a/tests/test_data/StaticInitializationCircular.class b/tests/test_data/StaticInitializationCircular.class deleted file mode 100644 index 801a4aa06d5eb4eb8fefe2ba67797a3960b50dba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398 zcmaKoO;5r=5Qg9Br!D0}{7l3HH{c-gERskQ5)z_^8ZKVkmWC`TZPFGG{wukdc<=}K zql~j84LA4j&g{ADj?QSXCL&;ouZ!oGbK}tp>;X4)$n= b`u$bsb$qb2_eGP{;tAUDSos5N&~Whw&YMwU diff --git a/tests/test_data/StaticInitializationCircular.java b/tests/test_data/StaticInitializationCircular.java index 6f301dcd..6c04955c 100644 --- a/tests/test_data/StaticInitializationCircular.java +++ b/tests/test_data/StaticInitializationCircular.java @@ -1,4 +1,4 @@ - +package samples.fields.staticinitialization.circular; public class StaticInitializationCircular { public static void main(String[] args) { diff --git a/tests/test_data/StaticInitializationUser.class b/tests/test_data/StaticInitializationUser.class deleted file mode 100644 index 0a44b20e0d9914b35c6f546dfbf65c6815daaa62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 349 zcmZ`#u}%U(5Pbu8oOhn0qQ-`T4lLvYBo=5)NQe}tG*)}Zh739O%&|w|Uuk1P!3X$J z##t$-+)3uW$-XzUv)@0PEr1~|BGgb1;KlIKAe=1JTJ>{f=KV>!(3vGP25i{g5$fIE zG{gbI08xxX#Dvy^e$!^QnwT9?X|BbwR(Yj|1R4c6CR`;}Sk*QWWN8rAvZ$ zU(CeO9JA3+)iTxP^R9=tRBQ;B-PiH{Nr^4l%x`;BLX;F$ndwJ%1Ka-%xN%-|a3ov0 zQv(Ou_Xy*I6T$*?5;gne~ z9>Wt7?&41X@!POA_4}M PA~A2mkd$K`;sI_h(#=WOxBGQ6T=}RSx zD}veX3_ZB;9QXlt5D=WGOa_@6Gixr=OpOTipgGk5HBGQzWj-%#_G;ZPe%OOS@O=V; zb(@U@p*E08JeIRWT50b&_s)|rk=rKG2kuX vED?(9EnWX2c)E*_*Z%+X^Yu9pHc(&by1Rn2l~vdC9HzT0_SolO?RxkJ-D^F@ diff --git a/tests/test_data/SubLong.java b/tests/test_data/SubLongs.java similarity index 79% rename from tests/test_data/SubLong.java rename to tests/test_data/SubLongs.java index 571de9ce..da32dda2 100644 --- a/tests/test_data/SubLong.java +++ b/tests/test_data/SubLongs.java @@ -1,5 +1,6 @@ +package samples.arithmetics.sub.longs; -public class SubLong { +public class SubLongs { private static long first; private static long second; diff --git a/tests/test_data/samples/arithmetics/adder/ints/AdderInt.class b/tests/test_data/samples/arithmetics/adder/ints/AdderInt.class new file mode 100644 index 0000000000000000000000000000000000000000..e2af02164876db47804551dd2bf7d8e441b4b91e GIT binary patch literal 411 zcmYjNyG}wu5IxI%uOO>(8!NO~7B_?WOLPE5_(Aew(8(hO(%;n-&*;r{T`~W}7 zI2#|h#mt$Rb9NpdpKtE~&e7ngz>DBl5g=p`_v%q)Gi9gQ_2^!YONOv(tSL_!ymn{E z5hIDft5`#oVSl0WhnZevsxakUu1hl}JelYsGqzl0XAbr({o+xUq1NvGy-tt8znD)n zL%naTzFOuZUEHYAj52<%jAhtv-}YA%4a&mU=}BkEzz6eXG1iyHk!!zg4jmVJG-HLf z13WOd7TFp_E%JSf+`5qU!(doT3fNRj~O5YP?0J literal 0 HcmV?d00001 diff --git a/tests/test_data/samples/arithmetics/adder/longs/AdderLong.class b/tests/test_data/samples/arithmetics/adder/longs/AdderLong.class new file mode 100644 index 0000000000000000000000000000000000000000..409699e8085aa109b6e35569d3b4f01de1540da3 GIT binary patch literal 393 zcmYjNyH3ME5S)w8vEn!nz=Q@OsIV#U2Y?U{i6V-i2ueeBNlxJ++d;O&Ur|tjDEI(A z3NeQeL8slF-JRK6?dR9~2Y^fL_^840AOpCl3v?IiNhPVu=gIA4p{JEV{nX^9IumfB zcBb5Pf@};Wz~q&qfVa9u!_-Wi-Z*#NtA*z|c@FusN69E#^3AZ1iXN6HK(Q z(pdNd{7pukO-L}Y*qJvo@6F84=lA;ufHQ1(Fkrf{eAsXpsv|z*QOZ>kUG_&}P%t=0 zQpw_&!3-N+`{yga?;YHM!0p51Qym_BEV)?rQ9+eqf5NkyR7@hC%i=l{g&Ytb4n?j+ z!V5VQ(W#Ew^Qbje3AH8$gB`|kBWAG9$3wwTX-Os8)2uJ@E8b5jV`W?_h9K;<7JGJz zT&m=-(Pi*D<7qw+7gCdhe{=S<2s^Z}L7xXq&`daFS18&d&&b=&SFjfX469^ySyM|` zLyfSe?!uxBP_DtPq4b9G$wHtns%0KrdUTYzXp=-1Rjlngec literal 0 HcmV?d00001 diff --git a/tests/test_data/samples/arithmetics/extremestack/ints/ExtremeStackInt.class b/tests/test_data/samples/arithmetics/extremestack/ints/ExtremeStackInt.class new file mode 100644 index 0000000000000000000000000000000000000000..78fcf5255eb903e7d284ec69b6e3314066b3deca GIT binary patch literal 1032 zcmZXS%Wl(95QhH~+ew?cZF+BQmtH_L0nxAkq(WNJ7Ah5$i&Rt=Y~t9aadGS@aZuU! zDOl1)H{GxzV!;FO2D}6hfCS|~jv)vX#m8qn^UXh(FF!wh2C#)Id1RpEpz6?&6(}6p zZ|rhlhlk~-wIk1o1+o=C^y3WyrC2)1V*rCWh)%eRAPL8rar*P_sN9ACOj>X^c`z(}JL#C|h)yBWHht}CDw zcT@VTjyXvg{6mp}rVguT{f(ob?a1{6M)&;Cd(vstyw-EO7SN(LY(J!q;>*2$zxLyn zA0FN-9S963l|HtcsegVy>a-kh$CtsA|8!$jBCtda8IA-zsTNs2=XsmwDR^qvK0T!=GSJ2FIv<4%)2hx_@2LIg>BKKb$`F5}D6p?H zm_%MqHKo0PNBn>^f@LTm(^9`$P`fc{L}Hktn2;(a7&fk6rz1X`&eV2l@P7~& zM%JuYxUzBK+W1HO4f7szkLVL#2pO@B-3CzRHPJK+2`+h z-R0h1eY?Hy*nxu7n(##MNI|k%+g0h6{4@<3a%t!~CXiRq81Qb-bq00b7r~pZ69{`y zcMgKS({%;`x8K%X-`gA1pG2-5>1vTj!L&yJr?bIbd+72&_})MPt8Ue{&SI%D*0heR zGEmO;WuSwW@AssCMu#E&#%pc|eqV6+g*zN#71^MpK4MflVV0j&@ z(@~&Sw=RT9oW)DZM`ayLk~e$KE4|ls+=#qq0Z8kH-*FU7wuI+AA9mYL|0Qp`se6)xG|7g^F9S*dDOzvR zX_2f#R$cxIglM8Ja>vEiG|F<&E^1 z#Gp7pntnOtF-i5FhKT|xq1MNwob;p!Rm)o01~Zs>_!-4AS%Wzv%yP?M8gH=U(_iHR z7KG`X5I7NPjOdGWnuCsc6v-~(8ft`~WdA^A>^Bx@PhE_|l_?mb`;1u@X4&DA?PA8V zOf)Vr`XiyGxTa=lk+>r?3`RoUWe-0gM>>Udj0{Ix+c z(x0Hp>QviV(p$m`jmKRy$hVGqn87?!VFq(-o1M~&Bx4K-nUS0)8r@i9h4PV&)yxq} z^sijX=|16UBxC$4WhC)argnG)RXZ_FjVfIdV~KfcJn(>kt0Zxy?MmgHdQ>;Uq=?8yN%! diff --git a/tests/test_data/FibonacciRecursive.class b/tests/test_data/samples/arithmetics/fibonacci/recursive/FibonacciRecursive.class similarity index 64% rename from tests/test_data/FibonacciRecursive.class rename to tests/test_data/samples/arithmetics/fibonacci/recursive/FibonacciRecursive.class index c867991212415dc549983409f276f3b5acc2201d..fb42612b97a3cb8cbe5d269230ef0933166875ea 100644 GIT binary patch delta 52 zcmZ3)e2RI3ho)6=Vs1fBYO#J|QD#X-ZfZ$paS7$Vsdh(eo<<2X;E=zS*rd< H&qzi94e=Ak delta 12 TcmX@byoh;%2cyu&!bnB{8@2=5 diff --git a/tests/test_data/samples/arithmetics/sub/ints/SubInts.class b/tests/test_data/samples/arithmetics/sub/ints/SubInts.class new file mode 100644 index 0000000000000000000000000000000000000000..6af2a88296d12586f4dc860d44cacb5843c6ffc6 GIT binary patch literal 310 zcmYL@u};G<5QhItoTRjY0s{*$AThKI_yH&#Kte*QU65`Q# zo}ouLZ&m$TnO3UC`j^^xTeh<8w6xB*vgq_ZD?!|@7ltsLS!W))TASuc>55-Ot*j#) zjh<)Q?+V{ox4at93H@T-HKn<;0nY#DT?Q0q$avv!B2ZYF^A6umS&22dcn58`;3=F# r8;BVhAm=)ulC6SuASMU#_x16~V!AaP{(o1}EEXI~_Nfd9D%2J12%3x>u(DsfvTp~&ue7*oVbxKs@7?!#cEby#Fl zO-_3whH5{Ge+7HPw9F!LC3RozPt1vK!#=4nXq*90OCjXxmB^bkoo+$4MZaD0jJ$pH z3id*PVS}tr>rxkObO`Ix16ULR+&P>%YT|rVuCEN#^yc(7|Jje1amuvNTxh$#fU|0= SFZrre?vgZ*=4=s-f$bkrlS+*M literal 0 HcmV?d00001 diff --git a/tests/test_data/Array.class b/tests/test_data/samples/arrays/array/ints/ArrayInt.class similarity index 59% rename from tests/test_data/Array.class rename to tests/test_data/samples/arrays/array/ints/ArrayInt.class index e0f91b31f2f3dc9d18a3ddb53f5cd0641e1ed96d..c273d245112ab272be8eb8ee4579987331a2869a 100644 GIT binary patch delta 336 zcmXw!+e!jq6otQWOgl`GQPCOG#AphWqL{?aNKt495Xuft2TB?xXTLJza3KJ{E^6+dejtkWghM@E_c``8vb+d|C> zEhn@c#@Jcj8E3ivo8$gwa^gnmjdMM`KV9%z^oFu9HXD z9Mh!zJWi#b(Z#tMF6gJEmVhBHO(Xm=c_p)~$%>|`YO3fLH;i&iTIo|K%e~|}dpwww GJMjl)-Y}T} diff --git a/tests/test_data/ArrayLong.class b/tests/test_data/samples/arrays/array/longs/ArrayLong.class similarity index 60% rename from tests/test_data/ArrayLong.class rename to tests/test_data/samples/arrays/array/longs/ArrayLong.class index d3045d43db3cbc783aa7241ff0093442f443ed34..6680665127fb59eba93c26dde25f38fd8f23eaf0 100644 GIT binary patch delta 321 zcmXYs%Ps?P6o9KzC$nhaI|4p>dr|cX}hj{`;VkktDZKJ?}cBVPg5)Y zc)&m>s9gVBqKz;nv-FacD#swJ470@u`@&;JIU|n4BrYj6uX&Ma3}$F0Ll<*0lMye= z1dF7F3*^+7RyHkK$cs^60E;L^RnphYb;;eJof4hG9yZm7?!|VbyDR=45lJ26KoSp0 zaU}a}mZfh|R@(t5c8;G5f?UcDhYl)qQ>Bj@{nQ!aO73>mPv9wWjmC|bO|kAIsVR5d V%QqfV!ZZ&o@kmiv;#s{K<9|p7J6r$& delta 294 zcmWNLT`R+39EPv|E0e_}v_^)1)|iNzgVCs&kZA|DuqjsFHngZYphcW1^&I;UPJ9Gs zK7?<P*vQ#+00Pd>)?#x=7Qne=+448NDy*meH9tzfLWZqmwl?@{EvUf(_Gf z3z2Pc3v{zXpK^$z`F7huNz=0Wd!p`(c0f|}S*mh6WJU8lN2cl3gA;7|ba18}=k#*H xfZU=q#*pi7jQ3XY=V#{R5hbFf0H7 diff --git a/tests/test_data/Array3D.class b/tests/test_data/samples/arrays/array3d/Array3D.class similarity index 59% rename from tests/test_data/Array3D.class rename to tests/test_data/samples/arrays/array3d/Array3D.class index 842303dbab1bb87bbec7a6f84d73cb45ede93763..806b8334f78f0f6fd807256b7755dc920b81be1e 100644 GIT binary patch delta 92 zcmaFE+RQc~QbMjcF}ENmwOBu~s3@@#N*Sld&4>*l97F4;T}fD$$E_QIGGuW88{d!7&s?iW$aMoVPIn5We{WFV=!RgXYgVW VVDJahp+J5#P&|=AbaEY2D*y-?47C6N diff --git a/tests/test_data/samples/fields/instance/ints/InstanceFields.class b/tests/test_data/samples/fields/instance/ints/InstanceFields.class new file mode 100644 index 0000000000000000000000000000000000000000..14ba2f2a3c53bde495e46ff0f3d18d71b7bd1f6c GIT binary patch literal 689 zcmZuu+e!ja6kW&BMr};HT3#a})S&r+2r3W;xr>^gYX98NS z-cBKjl#aB4RTu)tfjxNfWMDqI(sKgS^@Gs%yOKc|nAS9FP96nPBN;?q*ory=!cwi) z3}jWG>C3s}sOq|bjk)S|P*9A&?`BYn`YQVV^o2-d*DFikdmFb15G(I8T83=6As%MZWu#FvB1wCX_jXv2ZmYgy48Cv};5T_$gY5O4vj#o~);do7VPN|X2(evB_IDEa|@ zlsGqT^wIk;Gv}PSlesf_|9E}_u#ZI(2`C0s4h=d(`qp`HEYI=l)@kKdR6_=R+x6XW zmqE$pO9r|aRsyGS?}@;=afMe4EY}Z0$FB+s!oae>(P1o_FrY}2^@jTQ`B`+yo~Qwx_F!O{@ESF<36p-TBra*+4D*zez``dMGJxX% literal 0 HcmV?d00001 diff --git a/tests/test_data/samples/fields/instance/longs/InstanceFields.class b/tests/test_data/samples/fields/instance/longs/InstanceFields.class new file mode 100644 index 0000000000000000000000000000000000000000..09e6fa9f9aa0eee2805b11ef42adc6c13d4828d3 GIT binary patch literal 690 zcmZuu+e!ja6kW$rM{P{ITAErBp%TpxL{Nc{SV5NWqjQpxaSUgszv>}Kf*$&SJ}O$r z1WkOHeLHLIz4o5(pU*DPQ(_fgy0>TZ3m;`sR}(UE4Pu&kroGD@}Lk^?dVsn${<;0?Co|LpNxJ9Rbl$ zy;comRHNz3g>9?qnt}DX>P_ehM6ZUn6v#9kPu_-ujvPH$9hVi&SM6ezMx)whX4y9F zKv9gI4DM$WslPE_}5os~{M6G-v$IxeJ^|wHrjvTSM zr3`C~^dciqMuCi-r3`0`>>{H?MwyIVq|m|x(KSz#$Oy$C%fbZ;p% Ny9lijTI8e%O26c!~KL! zqX&jIy#jscr^aDiVc<@okT2`}pg<@zXn>0T3%4!$d?(?rDoi!s(nvy9`78_NBbpRNrI>8hV+*L%?K9R8Hy&z zGxB`l4(yfy!z@`%0|vS=hk3$!>kXB4k(U|R+ZlB4T94>CHy+5`;YaD*{6zc%t@A85 zmUB~W{LFGQ0Rvgi6ELKyHbynk#xJS!ZRF&d^(A9EIgrC7L0z!1NOqM(ZPDX7pey`NhHz4 z5Ab_D8+#U_@u-*So}QYns_ysCmp1@s*o`58poWlvFd_`80iSVGa_82(=naJBF+^&% zV|ynI!E&XmL1#E}`EV?SYu?yG_FdEUxMy1mWpioY(`DqCyg%cPCHm&MkYh24K|@TD z#2G^6W~Cd&8WI|k22x1>wP#&&*R7MbJHI)@aqAzNs!G(lfemaj6fG{TspOt$kDQM0 zsG;n2xtt2$d{arz8pt8f5MP@1Aq=cZuIi&c0h2A;5$)-)CnlG?C#j;>EV&wCtTUQU zEYYx4eSgW){57}J)z}WzBCtn{0a{c5x*8K@x}x_hP#XioHr+}T8O89y0_>3zh60`H z8OYG5;y1L4Ak~1vE3~UL`&b}4hmpp^6O3nMuIJeLX^`;2SyGWBo;Y5Ph4(Tyi;0{8msf*rF!fu;l3Lkph3Sw@qoQJMdsm5DMx%PH5=>NOet#6c4K6wN4>D)O(DnW|J^SCWy1 zpx}mK7M3}A pg?MHlu)(K&2KG2<^GAAEa)9#&=LO5ZV*5qlPIYuyvcYA>mtLF3T{R6-`c6>OfxTuC$LXFTI$cYq2W{=_~9;l=w)H*uT2oMrZ3ORf-st^xanY0i^DNCK$el3lD<|5C8OeZo+R4O7Piy|TfKW$yB zAyCi5iXGZmXx@c~RjXcGNPS7DMtQ0TjVqn0>+vvFqgxppX6l{9%&q(Vd^}22S6hC+ zKXcjp=kjcB^4JE5J>JRTfO&`wijl22VP@7D?ea~QIeG)VFd%I3X`g`u7H$5v9?qmd aFoiqC^8G8Ce**h^Knp(FEZt)4VEY?#$Z=i( literal 0 HcmV?d00001 diff --git a/tests/test_data/samples/fields/staticinitialization/advanced/Helper.class b/tests/test_data/samples/fields/staticinitialization/advanced/Helper.class new file mode 100644 index 0000000000000000000000000000000000000000..998825b2cc4fe25827e3e542bdac01061e302fcf GIT binary patch literal 453 zcmZWl%SyvQ6g|@4`sN+PPP->6vj^6^kk@5E43Wjho)%(cj5f2Q3v4-Mx1G!QAYmW*B! z|0j9{MLwYh_xv|7f9DnM zGi5Y7+1iZDVdD@L9FbBTjYVIJyg7CQUr*%c9pzc|glu!k+@;KL9sdRHU+O7A8w8fH F`2!oqTn_*M literal 0 HcmV?d00001 diff --git a/tests/test_data/samples/fields/staticinitialization/advanced/StaticInitializationAdvanced.class b/tests/test_data/samples/fields/staticinitialization/advanced/StaticInitializationAdvanced.class new file mode 100644 index 0000000000000000000000000000000000000000..ff6e212e5a8c1ebf780557e739f3c73dfa390c21 GIT binary patch literal 612 zcmbVK%TB^T6g>kiwWab>d?6;d0vC2+!bT)fl!Sz6B8Hf_acD;zQi`F4g?}Y3OkDT@ zew6W!nh-Z8GK>3|x#!$DbLaiz^$oxY3Kn9B8_;a%NHAmue99f42Yu(FHxO>bkf_N( zMs>$*2*{S`6G9tu?+f$l`ezT8BNBnXi8OF`m4#l!lQ&0nw?rPFf~20 zdCH398F_v01?-6e>Pc1|196yG#|Fi!^pf%f`P~_e+6>D_+1T|n49e;=WU5+WyLg}1 j{M)KN=h=Zl2pt-E`U^BV3pv=tnxZSEiFuRGW7zrxS|pkp literal 0 HcmV?d00001 diff --git a/tests/test_data/samples/fields/staticinitialization/array/StaticInitializationArray.class b/tests/test_data/samples/fields/staticinitialization/array/StaticInitializationArray.class new file mode 100644 index 0000000000000000000000000000000000000000..19114a15599c8c5e1c9fbcc8a229a77a226b4c84 GIT binary patch literal 797 zcmZuvO-~b16g_XIpTiXT1%+t^frPZgFpG@On|JSh_uPBWx$k}X_30YGLu_hLphgkW5k^EHd2YS1 zOwaO9&BN}wV~+$PW!HB{`vPjQbQDJn@hCJMbI=89L#ub;IYaZA>v$(ab2zd_t}XGd z<+-mI^nKGB46K)CD@Zl|NmXS=U~XDAi+6!keObGxW9fEcS7TyX#|jLAkfazWYA~qvPaJ`Trt3Qgm%XktXj@&6 zH=&;8`T|SE+o`*<&nj_T%YU@* z$i7%7GlkC)f+022)1L5tChkS(d#!zJyC zN-)>pWFW_AnPgXxr8Sr-vi%w}{AxcD65=}+DfsSR8Luf^GT#4)+ysf(1S$6atW6MA z_lzlp42?lQb#{0KlK4tDx!ajS!)Fs@Z+L7`kX&Yje^eurG!kSnk1g7JT=oNOpn}bS SQyj_rj4;p3VKsKs)&2>SOl#I1<^yr`)0H1mhGlANe})j@gR8cEdD5Q zwu<6qKHj`HZ|39k^$oxo1~CGJ5n2h>&?cl)xs<|6cQ3BqrR4m7LA3uEd?uwx~o^%i1W$!G?%&q2?OKBT@N}w^J zH7X0n`j^J(t7ew##mzUXGgS7+I-ZoxLg@?R)jN}w%lMzm$eSGb>#@r>2K*gy<}11K z9lyuO23Omh$s-3ZpeHT}J&t}1WGw3cQV&-ckfg;kq73gG{}erhtQhd>O*YzMZpwXt F>9wD)@M!L=oRgp|T<_N?yv;%uBB10~NWB(|ay;d?qGBXFO4YBxhVz z;*^2)U4&>lhG!^I4 zc-kH=y!U^3?-}a{CKK$CQHwHTlmJ;JWGV`cI;(`X=w_y~{|xp>fT2aFc?L{uYu}@X j3o6i>!-?8APYC7+qRfCFVhEdv9#I3*4@qX7Y6}}5vg=}9 literal 0 HcmV?d00001 diff --git a/tests/test_data/samples/fields/staticinitialization/chain/StaticInitializationChain.class b/tests/test_data/samples/fields/staticinitialization/chain/StaticInitializationChain.class new file mode 100644 index 0000000000000000000000000000000000000000..19b5891c9ff5a3ca6cdd68cc436fb44a052ac6e2 GIT binary patch literal 435 zcma)3yH3ME5S;TP#>Nod9Z2aC3j6^H6fr`I6p_Lx4b|B`!bSEu@*@R*1q~7fAHYW; z_M9T3K;nws+1uTjy}hsRk52$&oO&=|I5o)x4I8u9rNMFBB9iNS?V=!L3*cl~yyg0X)tG zaj$vSh%p13IM`x8 zF&xYpyr^i(MBGU|+r^&>SGpNJ?9uM@F~Icp$aX0@C(p>+m+xS&1Zb;dbs8|?;t)rK ab!m^hrm)}OjJBovPv{a>+jLCWz{w8;Y-m9M literal 0 HcmV?d00001 diff --git a/tests/test_data/ClassACircular.class b/tests/test_data/samples/fields/staticinitialization/circular/ClassACircular.class similarity index 54% rename from tests/test_data/ClassACircular.class rename to tests/test_data/samples/fields/staticinitialization/circular/ClassACircular.class index 03d534e86857e298ffb257dda99298fc2c77bc50..b1d65cb9ca4a5910227f72004059f60cded46975 100644 GIT binary patch delta 106 zcmcb@w2pa#hn{tDVs1fBYO#J=W@=7Kv3_w$Vo7FlW?p7VW@1ie6_Askr=Ofzlw6vV OSfoGEQ;Sp`B@Y0Wn<@1G delta 16 WcmZ3-e1&O(2P5CaGA$r+?g0QUSq1I@ diff --git a/tests/test_data/ClassBCircular.class b/tests/test_data/samples/fields/staticinitialization/circular/ClassBCircular.class similarity index 54% rename from tests/test_data/ClassBCircular.class rename to tests/test_data/samples/fields/staticinitialization/circular/ClassBCircular.class index 492f3df5b60d3b6208ee43602042210661c84006..401907bb853d1f75e20cd38506149e2542911139 100644 GIT binary patch delta 106 zcmcc0w4Ql_hn{tDVs1fBYO#J=W@=7Kv3_w$Vo7FlW?p7VW@1ie6_Askr=Ofzlw6vV OSfoGEQ;Sp`B@Y3YZYlTx delta 16 WcmZ3_e3fZ}2P5CaGA$r+?jZm!cm?qQ diff --git a/tests/test_data/samples/fields/staticinitialization/circular/StaticInitializationCircular.class b/tests/test_data/samples/fields/staticinitialization/circular/StaticInitializationCircular.class new file mode 100644 index 0000000000000000000000000000000000000000..0fec4d5ec2cb7873b336309b703e2178fa571a70 GIT binary patch literal 533 zcmbVJJx>Bb5Pbs&=N*S2ekN)`2NYhcK@z!ygoJ2;p|No}RWk_F+9nMg=5+1(^M?F5dw|g#Ci~$es z=DK9piWf;TevPygUpmM%EUVe20c{CUMzV|E8HbZTZwskhj=O*G`NX1;j^(PbODU#oN zBIM>GWG;y;6LM=2vY15H30X#E*8PCSl7p$0sxyT;w<`Y_V2>>C6QR0@@Hj;-NjN0J Y5fN&O2+va#lY}M_T4bh9-BQ^82OfrMHUIzs literal 0 HcmV?d00001 diff --git a/tests/test_data/samples/fields/staticinitialization/ints/StaticFieldsUserInts.class b/tests/test_data/samples/fields/staticinitialization/ints/StaticFieldsUserInts.class new file mode 100644 index 0000000000000000000000000000000000000000..96234ca58217ceb2461dd6ef5309998bf6eff059 GIT binary patch literal 580 zcmbV}%T59@6o&tD8yTvA7Zka8K_j?uR;~mRH6bBEO&n$8h60t841-~2T=-V5Brbda zAIf+NG0N61&ZYl3U)$5qulElC7dSK#LfAlrBZ?S9YABwC