示例#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_removeDisk_withEmptyStack(self):
        stack = Stack()

        self.assertRaises(HanoiException, stack.removeDisk)
示例#6
0
    def test_addDisk_withLargerDisk(self):
        stack = Stack()
        stack.addDisk(Disk(0))

        self.assertRaises(HanoiException, stack.addDisk, Disk(1))
示例#7
0
    def test_mayAddDisk_withLargerDisk(self):
        stack = Stack()
        stack.addDisk(Disk(0))

        mayAddDisk = stack.mayAddDisk(Disk(1))
        self.assertFalse(mayAddDisk)
示例#8
0
    def test_mayAddDisk_withSmallerDisk(self):
        stack = Stack()
        stack.addDisk(Disk(1))

        mayAddDisk = stack.mayAddDisk(Disk(0))
        self.assertTrue(mayAddDisk)
示例#9
0
    def test_mayAddDisk_withEmptyStack(self):
        stack = Stack()

        mayAddDisk = stack.mayAddDisk(Disk(0))
        self.assertTrue(mayAddDisk)
示例#10
0
    def test_isEmpty(self):
        stack = Stack()
        self.assertTrue(stack.isEmpty())

        stack.addDisk(Disk(0))
        self.assertFalse(stack.isEmpty())
示例#11
0
 def __init__(self, numberOfDisks):
     self.rods = [Stack(numberOfDisks), Stack(), Stack()]
     self.turnCount = 0