Files
python/exercises/practice/diamond/diamond_test.py
2021-02-01 19:08:02 -08:00

94 lines
4.4 KiB
Python

import unittest
from diamond import (
rows,
)
# Tests adapted from `problem-specifications//canonical-data.json`
class DiamondTest(unittest.TestCase):
def test_degenerate_case_with_a_single_a_row(self):
result = ["A"]
self.assertEqual(rows("A"), result)
def test_degenerate_case_with_no_row_containing_3_distinct_groups_of_spaces(self):
result = [" A ", "B B", " A "]
self.assertEqual(rows("B"), result)
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)
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)
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)
if __name__ == "__main__":
unittest.main()