Files
python/exercises/practice/diamond/diamond_test.py

92 lines
4.5 KiB
Python
Raw Normal View History

2016-10-28 18:17:10 +02:00
import unittest
from diamond import (
rows,
)
2016-10-28 18:17:10 +02:00
# These tests are auto-generated with test data from:
# https://github.com/exercism/problem-specifications/tree/main/exercises/diamond/canonical-data.json
# File last updated on 2023-07-14
2019-10-22 14:33:01 -04:00
2018-06-13 09:12:09 -04:00
class DiamondTest(unittest.TestCase):
2019-10-22 14:33:01 -04:00
def test_degenerate_case_with_a_single_a_row(self):
result = ["A"]
self.assertEqual(rows("A"), result)
2016-10-28 18:17:10 +02:00
2019-10-22 14:33:01 -04:00
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):
2019-10-22 14:33:01 -04:00
result = [" A ", " B B ", "C C", " B B ", " A "]
self.assertEqual(rows("C"), result)
2016-10-28 18:17:10 +02:00
def test_smallest_non_degenerate_case_with_even_diamond_side_length(self):
2019-10-22 14:33:01 -04:00
result = [
" A ",
" B B ",
" C C ",
"D D",
" C C ",
" B B ",
" A ",
]
self.assertEqual(rows("D"), result)
def test_largest_possible_diamond(self):
2019-10-22 14:33:01 -04:00
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)