• Just added a simple static test.

  • If there're only 3 possible colors, then color should be an enum. If you really want it to be String, then tests must ensure that solutions like this do not pass.

  • All the preloaded tests-related stuff should be moved to the fixture.

  • No fixed tests.

  • The reference solution must be private.

  • The category variable will be null for all Item instances. Please use setCategory(..) to set the appropriate Category

    What is this supposed to mean? My solution doesn't do that and it passes all the tests without any problems.

  • class Item {Integer categoryID; Category category; ...}

    Having both category and its index in the enum at once is nonsensical design.

  • There are some troubles with tests
    Test Results:
    CountingSpiralTests
    smallRandomValidTests
    Log
    784 729
    26 26
    arrays first differed at element [0]; expected:<26> but was:<27>
    Stack Trace
    Completed in 27ms
    largeRandomTests
    Log
    999871 465510
    212982 89955
    80 126
    216690 76319
    236 94
    830340 793933
    602686 982
    186184 92211
    962331 536770
    210222 52171
    301 115
    603729 549496
    344 758
    arrays first differed at element [1]; expected:<758> but was:<759>
    Stack Trace
    Completed in 1ms
    smallRandomTests
    Log
    189 135
    102 24
    154 72
    182 170
    12 13
    97 82
    72 64
    0 0
    arrays first differed at element [1]; expected:<0> but was:<1>
    Stack Trace
    Completed in 1ms
    largeRandomValidTests
    Log
    6885376 6483838
    1760 38
    2089470 1242094
    1262 165
    816312 294342
    722 215
    1304164 1214028
    20 396
    8826841 5914272
    269 621
    arrays first differed at element [1]; expected:<621> but was:<622>

  • The "random" tests are same numbers every time (??)