# game/ai tests: the task vocabulary, the priority table read off the original, and the ranking. add_executable(game_ai_test_tasks test_tasks.cpp) target_link_libraries(game_ai_test_tasks PRIVATE sots_game_ai) target_include_directories(game_ai_test_tasks PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_options(game_ai_test_tasks PRIVATE -Wall -Wextra -pedantic) add_test(NAME game_ai_tasks COMMAND game_ai_test_tasks) # The AI stepping order and the two-pass model: which AI players run, in what order, and which # pass may write commands. Pure data -- the ModCount sequence, computed offline. add_executable(game_ai_test_turn_order test_turn_order.cpp) target_link_libraries(game_ai_test_turn_order PRIVATE sots_game_ai) target_include_directories(game_ai_test_turn_order PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_options(game_ai_test_turn_order PRIVATE -Wall -Wextra -pedantic) add_test(NAME game_ai_turn_order COMMAND game_ai_test_turn_order) # The command block, the order API and the modification counter's arithmetic: what an order costs, # which lists cost nothing, and the two reconstructions of the reference turn. add_executable(game_ai_test_orders test_orders.cpp) target_link_libraries(game_ai_test_orders PRIVATE sots_game_ai) target_include_directories(game_ai_test_orders PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_options(game_ai_test_orders PRIVATE -Wall -Wextra -pedantic) add_test(NAME game_ai_orders COMMAND game_ai_test_orders) # The turn's phase list and the two-pass task walk: the dead tail after the submit, the one # species-restricted phase, and the first pass writing nothing. add_executable(game_ai_test_agent test_agent.cpp) target_link_libraries(game_ai_test_agent PRIVATE sots_game_ai) target_include_directories(game_ai_test_agent PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_options(game_ai_test_agent PRIVATE -Wall -Wextra -pedantic) add_test(NAME game_ai_agent COMMAND game_ai_test_agent) # The order the server applies a turn's commands in: twenty-seven per-list steps with three # per-player gate loops spliced in, which is neither list order nor member order. add_executable(game_ai_test_apply_order test_apply_order.cpp) target_link_libraries(game_ai_test_apply_order PRIVATE sots_game_ai) target_include_directories(game_ai_test_apply_order PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_options(game_ai_test_apply_order PRIVATE -Wall -Wextra -pedantic) add_test(NAME game_ai_apply_order COMMAND game_ai_test_apply_order) # The recorded-turn capture format and the two real turns that exist in it. add_executable(game_ai_test_command_capture test_command_capture.cpp) target_link_libraries(game_ai_test_command_capture PRIVATE sots_game_ai) target_include_directories(game_ai_test_command_capture PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_options(game_ai_test_command_capture PRIVATE -Wall -Wextra -pedantic) add_test(NAME game_ai_command_capture COMMAND game_ai_test_command_capture)