def test_one_line_string_to_34_array(self): initial_string = '789m456p555s11222z' tiles = TilesConverter.one_line_string_to_34_array(initial_string) self.assertEqual(len(tiles), 34) tiles = TilesConverter.to_136_array(tiles) new_string = TilesConverter.to_one_line_string(tiles) self.assertEqual(initial_string, new_string)
def shanten(): shanten = Shanten() req = flask.request.get_json() try: tiles = TilesConverter.one_line_string_to_34_array(req["hands"]) except KeyError: return flask.jsonify({"error": "hands required"}), 400 result = shanten.calculate_shanten(tiles) if result == -2: return flask.jsonify({"error": "hands over 14 tiles"}), 400 return flask.jsonify({"shanten": result, "error": None})
def shanten_calculator(tiles): shanten = Shanten() tiles = TilesConverter.one_line_string_to_34_array(str(tiles), has_aka_dora=True) result = shanten.calculate_shanten(tiles) return result