Ad
  • Custom User Avatar

    There are no sample tests or random tests.

  • Custom User Avatar

    This comment is hidden because it contains spoiler information about the solution

  • Custom User Avatar

    There are no exact duplicates, the closest is this (since you need the optimal strategy to determine who wins anyway).

  • Custom User Avatar

    isn't the kata just a duplicate? If so, we can unpublish it.

  • Custom User Avatar

    Random tests only report XCTAssertTrue failed -, which is unacceptable (what is the expected and actual value?)

  • Custom User Avatar

    Tests are missing key components:

    main.swift:50:35: error: cannot find 'result' in scope
                 ["#", "#", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:55:35: error: cannot find 'result' in scope
                 ["#", "#", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:60:35: error: cannot find 'result' in scope
                 ["#", "O", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:65:35: error: cannot find 'result' in scope
                 ["#", "#", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:72:35: error: cannot find 'result' in scope
                 ["#", "#", "#"]]) == result(.draw))
                                      ^~~~~~
    main.swift:77:35: error: cannot find 'result' in scope
                 ["#", "#", "#"]]) == result(.draw))
                                      ^~~~~~
    main.swift:82:35: error: cannot find 'result' in scope
                 ["#", "#", "O"]]) == result(.draw))
                                      ^~~~~~
    main.swift:87:35: error: cannot find 'result' in scope
                 ["O", "#", "#"]]) == result(.draw))
                                      ^~~~~~
    main.swift:94:35: error: cannot find 'result' in scope
                 ["#", "#", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:99:35: error: cannot find 'result' in scope
                 ["#", "#", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:104:35: error: cannot find 'result' in scope
                 ["#", "#", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:109:35: error: cannot find 'result' in scope
                 ["#", "#", "X"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:114:35: error: cannot find 'result' in scope
                 ["#", "O", "X"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:119:35: error: cannot find 'result' in scope
                 ["X", "O", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:124:35: error: cannot find 'result' in scope
                 ["X", "#", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:129:35: error: cannot find 'result' in scope
                 ["#", "#", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:136:35: error: cannot find 'result' in scope
                 ["#", "#", "#"]]) == result(.draw))
                                      ^~~~~~
    main.swift:146:35: error: cannot find 'result' in scope
                 ["O", "#", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:152:35: error: cannot find 'result' in scope
                 ["O", "#", "X"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:158:35: error: cannot find 'result' in scope
                 ["#", "#", "X"]]) == result(.wonO))
                                      ^~~~~~
    main.swift:164:35: error: cannot find 'result' in scope
                 ["X", "#", "#"]]) == result(.draw))
                                      ^~~~~~
    main.swift:170:35: error: cannot find 'result' in scope
                 ["O", "#", "X"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:176:35: error: cannot find 'result' in scope
                 ["O", "X", "#"]]) == result(.draw))
                                      ^~~~~~
    main.swift:186:35: error: cannot find 'result' in scope
                 ["O", "#", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:192:35: error: cannot find 'result' in scope
                 ["O", "#", "X"]]) == result(.wonO))
                                      ^~~~~~
    main.swift:198:35: error: cannot find 'result' in scope
                 ["X", "#", "#"]]) == result(.wonX))
                                      ^~~~~~
    main.swift:204:35: error: cannot find 'result' in scope
                 ["X", "#", "#"]]) == result(.wonO))
                                      ^~~~~~
    main.swift:215:35: error: cannot find 'result' in scope
                 ["O", "X", "X"]]) == result(.draw))
                                      ^~~~~~
    main.swift:229:35: error: cannot find 'result' in scope
                 ["#", "#", "X"]]) == result(.wonX))
                                      ^~~~~~
    
  • Custom User Avatar
  • Custom User Avatar

    Sample tests missing

  • Custom User Avatar

    Please update the description and sample tests.

    • How do you define the optimal strategy? Monte Carlo simulation of the outcome, then pick the move with the best score?
    • Why do we get a list of the first states? Why not just the current state? TicTacToe state has the Markov Property if i am not mistaken
  • Custom User Avatar

    In addition to adding sample test cases, you should add some random tests to the main test suite to keep people from just submitting special case solutions for the fixed inputs.

    Also, adding a variant for Swift 4 would be very welcome.

  • Custom User Avatar

    You have no sample tests at the moment, all you have is the default test that always passes if the submitted code compiles. You should really add your current test cases to the sample tests so people attempting the problem have something to work with (though you may want to save the empty input string for the hidden tests).

  • Custom User Avatar

    Prime sieve is a duplicate to many existing katas.

  • Custom User Avatar

    Needs random tests

  • Custom User Avatar

    This comment is hidden because it contains spoiler information about the solution