コード例 #1
0
    def test_addDisk_withEmptyStack(self):
        stack = Stack()

        stack.addDisk(Disk(0))

        expected = [Disk(0)]
        self.assertEqual(expected, stack._stack)
コード例 #2
0
    def test_addDisk_withSmallerDisk(self):
        stack = Stack()
        stack.addDisk(Disk(1))

        stack.addDisk(Disk(0))
        expected = [
            Disk(1),
            Disk(0),
        ]
        self.assertEqual(expected, stack._stack)
コード例 #3
0
    def test_removeDisk(self):
        stack = Stack(1)
        actual = stack.removeDisk()

        expected = Disk(0)
        self.assertEqual(expected, actual)
コード例 #4
0
    def test_init(self):
        stack = Stack(3)

        expected = [Disk(2), Disk(1), Disk(0)]
        self.assertEqual(expected, stack._stack)
コード例 #5
0
    def test_addDisk_withLargerDisk(self):
        stack = Stack()
        stack.addDisk(Disk(0))

        self.assertRaises(HanoiException, stack.addDisk, Disk(1))
コード例 #6
0
    def test_mayAddDisk_withLargerDisk(self):
        stack = Stack()
        stack.addDisk(Disk(0))

        mayAddDisk = stack.mayAddDisk(Disk(1))
        self.assertFalse(mayAddDisk)
コード例 #7
0
    def test_mayAddDisk_withSmallerDisk(self):
        stack = Stack()
        stack.addDisk(Disk(1))

        mayAddDisk = stack.mayAddDisk(Disk(0))
        self.assertTrue(mayAddDisk)
コード例 #8
0
    def test_mayAddDisk_withEmptyStack(self):
        stack = Stack()

        mayAddDisk = stack.mayAddDisk(Disk(0))
        self.assertTrue(mayAddDisk)
コード例 #9
0
    def test_isEmpty(self):
        stack = Stack()
        self.assertTrue(stack.isEmpty())

        stack.addDisk(Disk(0))
        self.assertFalse(stack.isEmpty())
コード例 #10
0
ファイル: Stack.py プロジェクト: tagadvance/Tower-of-Hanoi
    def __init__(self, numberOfDisks=0):
        self._stack = []

        for i in reversed(range(numberOfDisks)):
            disk = Disk(i)
            self._stack.append(disk)