amidstest/src/test/java/amidst/devtools
Stefan Dollase 519d5272fd refactored the test code
* improved the code
* switched biome data storage format to protobuf (binary)
* switched back to json (see reasons below)
* switched biome data serialization strategy
* added mechanism to test specific entries for specific worlds
* squashed commits to prevent git from storing the outdated big testdata files forever

And this are the old detailed commit messages:

changed strategy for biome data storage

* it now tracks and stores all biome data requests while the other test data are created
* the same request during the running test will offer the same response as during the test data generation
* this greatly simplifies the code, makes the size of the test data much smaller and the testdata creation and loading much faster

removed the binary test data storage

* switched back to json
* did not serve a significant better result (time and space)
* protobuf documentation discourages the use for large messages
* I want to not use code generation whenever possible because
  * it contains warnings
  * it is differently formatted than the hand written code
  * it makes the build process more complicated

Here are the stats:
                  json        binary    binary packed
test time:       13,193 s     9,838 s      9,333 s
complete:         6,4 mb      6,1 mb       6,1 mb
uncompressed:   260,8 mb    212,5 mb     212,5 mb

complete is the compressed size of all zip files. uncompressed is the uncompressed size of the full-resolution biome data. We see, that the compression removes a big portion of the space advantage that would be served by the binary format. The binary packed format seems to not be any better than the default binary format. Just the few seconds are not really worth the disadvantages listed above.

fixed bugs in test data generation

* test world generation now omits unsupported entries
* creation of an empty coordinates collection throws an exception to prevent the usage of empty testdata

switched BiomeData to binary storage format

rename refactorings and adjustments to the protobuf format

added equalityChecker to TestWorldEntryDeclaration

used the method TestWorldDeclaraion.isSupported() ...

... to allow that only specific features are tested for special test worlds

enhanced readability of test world entry declaration

more refactorings for the testworld code

extracted the class TestWorld from the class TestWorldDirectory

renamed and moved classes

moved write and read methods to entry declaration

added protobuf

* library
* license
* testdata declarations
* generated code from testdata declarations

improved testdata storage

* split up the single zip file into multiple small ones to only change as few data as possible, when they need to be changed
* removed timestamp from zip files to make them reproducible

removed many usages of TestWorldDeclaration by exposing the regocnised version from the world object
2016-01-31 16:41:04 +01:00
..
DevToolRunner.java added world icon test 2016-01-25 02:05:37 +01:00
DevToolsSettings.java duplicated the class DevToolSettings 2016-01-25 02:15:43 +01:00
GenerateWorldTestData.java refactored the test code 2016-01-31 16:41:04 +01:00