Ad
  • Default User Avatar

    In the random test data, when passing in a 0 value to the battle method, the test is treating that as a valid opponent level score. The instructions state only levels 1-100 are valid; therefore, the expected return value should be "Invalid level".

    Additionally on the battle(0) calls, experience points are also being awarded depending the Warrior's current level.

  • Default User Avatar

    Definitely something wring with the random tests (I failed 20 of them after passing all of the basic tests):

    Small Arrays
    arr1: [34, 38, 7, 6, 4, 46, 17, 36, 33, 45, 1, 47, 13, 14, 11, 32, 20, 9, 49, 18, 21, 35, 19, 40]
    arr2: [33, 2, 30, 46, 15, 5, 20, 11, 0, 24, 50, 6, 37, 16, 13, 29, 44, 32, 21, 1, 12, 35]
    ✘ Expected: [0, 26, 14, 12], instead got: [10, 26, 14, 12]

    The intersection of the two arrays is [6, 46, 33, 1, 13, 11, 32, 20, 21, 35] for a length of 10.

    Confirmed with minitest on my local machine:

    def test_random_example
    arr1 = [34, 38, 7, 6, 4, 46, 17, 36, 33, 45, 1, 47, 13, 14, 11, 32, 20, 9, 49, 18, 21, 35, 19, 40]
    arr2 = [33, 2, 30, 46, 15, 5, 20, 11, 0, 24, 50, 6, 37, 16, 13, 29, 44, 32, 21, 1, 12, 35]
    assert_equal(process_2arrays(arr1, arr2), [10, 26, 14, 12])
    end

    Running:

    .

    Finished in 0.001227s, 814.9959 runs/s, 814.9959 assertions/s.

    1 runs, 1 assertions, 0 failures, 0 errors, 0 skips