Ad
  • Custom User Avatar
    • The tests will check for objects' exact equality so if you return copies of objects your test results will fail

    This is not true ( anymore ) and should be taken out.

  • Custom User Avatar

    Tests are vulnerable to input modification.

    If you like your object equality, the pieces should be ( individually ) frozen. Object equality is actually unnecessary, and deepcopied pieces could be passed, but that's probably more work.

  • Custom User Avatar
  • Default User Avatar
  • Default User Avatar

    suggested tags: promises, asynchronous

  • Custom User Avatar

    Random tests are not actually random; they pick from a small bag of fixed test cases.

    This also prevents the kata from having more random tests; currently there are only 15 per submission, which is definitely too few.

  • Custom User Avatar

    I find the design of Process nonsensical: start/stop and paused/resume are independent of each other. However you can't pause something that's not started, and if you stop something paused it should not be considered paused anymore.

    These should be handled by Process itself, not SuperphoreMaster.

  • Custom User Avatar

    The last two test groups (From Maya: 0 through 20 and To Maya: bounds & random) are bugged: they contain elements that are MayaPieces.chunkZero instead of [MayaPieces.chunkZero].

  • Custom User Avatar
    this.getData = function (id) {
      return data[id] ? data[id].concat([]) : false;
    };
    

    Returning false when no data is present is a terrible design choice, and it really should be changed to return an empty array instead.

  • Custom User Avatar

    The last sentence of the kata description reads: 'To uncomplicate things, there will be no punctuation in the phrases.'
    However, the sample tests include punctuation.

  • Default User Avatar

    @Austin Haws, translations for C, C++, Java, & NASM are ready for review.

  • Custom User Avatar

    What's the expected result of bittyWords('So long, and thanks for all the fish', 64)? long or long,?

  • Custom User Avatar

    Currently passing 722 tests but failing 2. It may have something to do with the note for the startUsing method.

    Note: A process CAN relock the same resource. If the process is currently using that resource, it should have its start method called again. It will then take an extra call to the stopUsing method by that process before the process is done with the resource. If the process is not currently using the resource then it gets placed in to the queue again so that the process will need to be started another time before the queue is empty.

    To be clear, does this means that if the process object is currently Process {started:['resource1'], paused:[]}, it should then be Process {started:['resource1','resource1'], paused:[]} when superphoreMaster.startUsing('resource1', number, process) is called?
    Then, after calling superphoreMaster.stopUsing('resource1',process), the process object should revert back to Process {started:['resource1'], paused:[]}?

    EDIT: the failed tests are part of the test group multi lock same resource -> lower priority queueing several times.