From 6fcff28bcc54b68448310b226c9234d39af21b32 Mon Sep 17 00:00:00 2001 From: eries2 Date: Sun, 2 Jan 2022 10:50:22 -0800 Subject: [PATCH] added a beter pretty print for each tower. helped my 7yo visualize what was going on --- 90_Tower/python/tower_test.py | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 90_Tower/python/tower_test.py diff --git a/90_Tower/python/tower_test.py b/90_Tower/python/tower_test.py new file mode 100644 index 00000000..a7023a0f --- /dev/null +++ b/90_Tower/python/tower_test.py @@ -0,0 +1,49 @@ +import unittest +import tower + +class MyTestCase(unittest.TestCase): + def test_something(self): + t = tower.Tower() + self.assertTrue(t.empty()) + + d = tower.Disk(3) + t.add(d) + self.assertFalse(t.empty()) + + d5 = tower.Disk(5) + self.assertRaises(Exception, t.add, d5) + self.assertFalse(t.empty()) + + def test_oksize(self): + t = tower.Tower() + self.assertTrue(t.empty()) + + d5 = tower.Disk(5) + t.add(d5) + self.assertFalse(t.empty()) + + d3 = tower.Disk(3) + t.add(d3) + self.assertFalse(t.empty()) + + self.assertEqual(t.top(), d3) + self.assertEqual(t.pop(), d3) + self.assertEqual(t.pop(), d5) + + def test_game(self): + g = tower.Game() + self.assertEqual(g.moves(), 0) + self.assertFalse(g.winner()) + + def test_format(self): + t = tower.Tower() + d3 = tower.Disk(3) + d5 = tower.Disk(5) + t.add(d5) + t.add(d3) + + f = t.vertical_format(6, 3) + self.assertEqual(f, [' ', '[ 3 ] ', '[ 5 ] ']) + +if __name__ == '__main__': + unittest.main()