def test_join_multi_line_strings(self): string_a = "A1 \nA2 \nA3 " string_b = "B1 \nB2 " string_c = "C1 \nC2 \nC3 " expected_string = "A1 B1 C1 \nA2 B2 C2 \nA3 C3 \n" blocks = [string_a, string_b, string_c] actual_string = utils.join_multi_line_strings(blocks, 7) self.assertEqual(expected_string, actual_string) string_a = "A1 \nA2 \nA3 " string_b = "B1 \nB2 \nB3 \nB4 " string_c = "C1 \nC2 \nC3 " expected_string = "A1 B1 C1 \nA2 B2 C2 \nA3 B3 C3 \n B4 \n" blocks = [string_a, string_b, string_c] actual_string = utils.join_multi_line_strings(blocks, 7) self.assertEqual(expected_string, actual_string)
def _log_player_results(only_active, *players): """ Log the summaries of the given players. :param only_active (bool): Indicates if results should only be shown for active players :param players: List of players """ players = list(players) players.sort(key=lambda p: p.NAME) cell_width = 25 overall_summary = [] for player in players: if player.is_active() or not only_active: player_summary = player.get_summary() overall_summary.append(player_summary) print join_multi_line_strings(overall_summary, cell_width)