예제 #1
0
 def test_smallest_non_degenerate_case_with_odd_diamond_side_length(self):
     result = ['  A  ',
               ' B B ',
               'C   C',
               ' B B ',
               '  A  ']
     self.assertEqual(rows('C'), result)
예제 #2
0
 def test_largest_possible_diamond(self):
     result = [
         "                         A                         ",
         "                        B B                        ",
         "                       C   C                       ",
         "                      D     D                      ",
         "                     E       E                     ",
         "                    F         F                    ",
         "                   G           G                   ",
         "                  H             H                  ",
         "                 I               I                 ",
         "                J                 J                ",
         "               K                   K               ",
         "              L                     L              ",
         "             M                       M             ",
         "            N                         N            ",
         "           O                           O           ",
         "          P                             P          ",
         "         Q                               Q         ",
         "        R                                 R        ",
         "       S                                   S       ",
         "      T                                     T      ",
         "     U                                       U     ",
         "    V                                         V    ",
         "   W                                           W   ",
         "  X                                             X  ",
         " Y                                               Y ",
         "Z                                                 Z",
         " Y                                               Y ",
         "  X                                             X  ",
         "   W                                           W   ",
         "    V                                         V    ",
         "     U                                       U     ",
         "      T                                     T      ",
         "       S                                   S       ",
         "        R                                 R        ",
         "         Q                               Q         ",
         "          P                             P          ",
         "           O                           O           ",
         "            N                         N            ",
         "             M                       M             ",
         "              L                     L              ",
         "               K                   K               ",
         "                J                 J                ",
         "                 I               I                 ",
         "                  H             H                  ",
         "                   G           G                   ",
         "                    F         F                    ",
         "                     E       E                     ",
         "                      D     D                      ",
         "                       C   C                       ",
         "                        B B                        ",
         "                         A                         ",
     ]
     self.assertEqual(rows("Z"), result)
예제 #3
0
 def test_largest_possible_diamond(self):
     result = [
         '                         A                         ',
         '                        B B                        ',
         '                       C   C                       ',
         '                      D     D                      ',
         '                     E       E                     ',
         '                    F         F                    ',
         '                   G           G                   ',
         '                  H             H                  ',
         '                 I               I                 ',
         '                J                 J                ',
         '               K                   K               ',
         '              L                     L              ',
         '             M                       M             ',
         '            N                         N            ',
         '           O                           O           ',
         '          P                             P          ',
         '         Q                               Q         ',
         '        R                                 R        ',
         '       S                                   S       ',
         '      T                                     T      ',
         '     U                                       U     ',
         '    V                                         V    ',
         '   W                                           W   ',
         '  X                                             X  ',
         ' Y                                               Y ',
         'Z                                                 Z',
         ' Y                                               Y ',
         '  X                                             X  ',
         '   W                                           W   ',
         '    V                                         V    ',
         '     U                                       U     ',
         '      T                                     T      ',
         '       S                                   S       ',
         '        R                                 R        ',
         '         Q                               Q         ',
         '          P                             P          ',
         '           O                           O           ',
         '            N                         N            ',
         '             M                       M             ',
         '              L                     L              ',
         '               K                   K               ',
         '                J                 J                ',
         '                 I               I                 ',
         '                  H             H                  ',
         '                   G           G                   ',
         '                    F         F                    ',
         '                     E       E                     ',
         '                      D     D                      ',
         '                       C   C                       ',
         '                        B B                        ',
         '                         A                         '
     ]
     self.assertEqual(rows('Z'), result)
예제 #4
0
 def test_smallest_non_degenerate_case_with_even_diamond_side_length(self):
     result = [
         "   A   ",
         "  B B  ",
         " C   C ",
         "D     D",
         " C   C ",
         "  B B  ",
         "   A   ",
     ]
     self.assertEqual(rows("D"), result)
예제 #5
0
 def test_largest_possible_diamond(self):
     result = ['                         A                         ',
               '                        B B                        ',
               '                       C   C                       ',
               '                      D     D                      ',
               '                     E       E                     ',
               '                    F         F                    ',
               '                   G           G                   ',
               '                  H             H                  ',
               '                 I               I                 ',
               '                J                 J                ',
               '               K                   K               ',
               '              L                     L              ',
               '             M                       M             ',
               '            N                         N            ',
               '           O                           O           ',
               '          P                             P          ',
               '         Q                               Q         ',
               '        R                                 R        ',
               '       S                                   S       ',
               '      T                                     T      ',
               '     U                                       U     ',
               '    V                                         V    ',
               '   W                                           W   ',
               '  X                                             X  ',
               ' Y                                               Y ',
               'Z                                                 Z',
               ' Y                                               Y ',
               '  X                                             X  ',
               '   W                                           W   ',
               '    V                                         V    ',
               '     U                                       U     ',
               '      T                                     T      ',
               '       S                                   S       ',
               '        R                                 R        ',
               '         Q                               Q         ',
               '          P                             P          ',
               '           O                           O           ',
               '            N                         N            ',
               '             M                       M             ',
               '              L                     L              ',
               '               K                   K               ',
               '                J                 J                ',
               '                 I               I                 ',
               '                  H             H                  ',
               '                   G           G                   ',
               '                    F         F                    ',
               '                     E       E                     ',
               '                      D     D                      ',
               '                       C   C                       ',
               '                        B B                        ',
               '                         A                         ']
     self.assertEqual(rows('Z'), result)
예제 #6
0
 def test_degenerate_case_with_a_single_a_row(self):
     result = ["A"]
     self.assertEqual(rows("A"), result)
예제 #7
0
 def test_degenerate_case_with_no_row_containing_3_distinct_groups_of_spaces(
         self):
     result = [" A ", "B B", " A "]
     self.assertEqual(rows("B"), result)
예제 #8
0
 def test_degenerate_case_with_a_single_row(self):
     self.assertEqual(rows('A'), ['A'])
예제 #9
0
 def test_smallest_non_degenerate_case_with_even_diamond_side_length(self):
     result = [
         '   A   ', '  B B  ', ' C   C ', 'D     D', ' C   C ', '  B B  ',
         '   A   '
     ]
     self.assertEqual(rows('D'), result)
예제 #10
0
 def test_degenerate_case_with_two_rows(self):
     result = [' A ', 'B B', ' A ']
     self.assertEqual(rows('B'), result)
예제 #11
0
 def test_degenerate_case_with_a_single_row(self):
     self.assertEqual(rows('A'), ['A'])
예제 #12
0
 def test_degenerate_case_with_two_rows(self):
     result = [' A ',
               'B B',
               ' A ']
     self.assertEqual(rows('B'), result)