class Test(unittest.TestCase):
    def setUp(self):
        self.gum_ball_machine = GumballMachine(50)
        self.gum_ball_machine.set_state(
            self.gum_ball_machine.get_winner_state())

    def tearDown(self):
        pass

    def test_insert_quarter(self):
        self.gum_ball_machine.insert_quarter()
        self.assertIsInstance(self.gum_ball_machine._state, WinnerState)

    def test_eject_quarter(self):
        self.gum_ball_machine.eject_quarter()
        self.assertIsInstance(self.gum_ball_machine._state, WinnerState)

    def test_turn_clank1(self):
        self.gum_ball_machine._state.turn_crank()
        self.assertIsInstance(self.gum_ball_machine._state, WinnerState)

    def test_dispense_to_no_quarter(self):
        self.gum_ball_machine._state.dispense()
        self.assertIsInstance(self.gum_ball_machine._state, NoQuarterState)

    def test_dispense_to_sold_out1(self):
        self.gum_ball_machine._count = 2
        self.gum_ball_machine._state.dispense()
        self.assertIsInstance(self.gum_ball_machine._state, SoldOutState)

    def test_dispense_to_sold_out2(self):
        self.gum_ball_machine._count = 1
        self.gum_ball_machine._state.dispense()
        self.assertIsInstance(self.gum_ball_machine._state, SoldOutState)
Exemple #2
0
class Test(unittest.TestCase):
    def setUp(self):
        self.gum_ball_machine = GumballMachine(1)

    def tearDown(self):
        del (self.gum_ball_machine)

    def test_gum_ball_sell(self):
        self.assertEqual(1, self.gum_ball_machine.count)
        self.gum_ball_machine.insert_quarter()
        self.gum_ball_machine.turn_crank()
        self.assertIsInstance(self.gum_ball_machine._state, SoldOutState)
        self.assertEqual(0, self.gum_ball_machine.count)

    def test_refill(self):
        self.gum_ball_machine.refill(10)
        self.assertEqual(self.gum_ball_machine.count, 11)
        with self.assertRaises(UserWarning):
            self.gum_ball_machine.refill(0)
        with self.assertRaises(UserWarning):
            self.gum_ball_machine.refill(-1)
Exemple #3
0
class Test(unittest.TestCase):
    def setUp(self):
        self.gum_ball_machine = GumballMachine(50)
        self.gum_ball_machine.insert_quarter()

    def tearDown(self):
        pass

    def test_insert_quarter(self):
        self.gum_ball_machine.insert_quarter()
        self.assertIsInstance(self.gum_ball_machine._state, HasQuarterState)

    def test_eject_quarter(self):
        self.gum_ball_machine.eject_quarter()
        self.assertIsInstance(self.gum_ball_machine._state, NoQuarterState)

    def test_turn_clank_to_sold(self):
        self.gum_ball_machine._state.is_winner = False
        self.gum_ball_machine._state.turn_crank()
        self.assertIsInstance(self.gum_ball_machine._state, SoldState)

    def test_turn_clank_to_winner(self):
        self.gum_ball_machine._state.is_winner = True
        self.gum_ball_machine._state.turn_crank()
        self.assertIsInstance(self.gum_ball_machine._state, WinnerState)

    def test_dispense(self):
        self.gum_ball_machine._state.dispense()
        self.assertIsInstance(self.gum_ball_machine._state, HasQuarterState)
 def setUp(self):
     self.gum_ball_machine = GumballMachine(50)
     self.gum_ball_machine.set_state(
         self.gum_ball_machine.get_winner_state())
 def setUp(self):
     self.gum_ball_machine = GumballMachine(50)
     self.gum_ball_machine.set_state(
         self.gum_ball_machine.get_sold_out_state())
Exemple #6
0
 def setUp(self):
     self.gum_ball_machine = GumballMachine(50)
Exemple #7
0
 def setUp(self):
     self.gum_ball_machine = GumballMachine(50)
     self.gum_ball_machine.insert_quarter()
Exemple #8
0
'''
Created on 2017/03/19

@author: yu-suke
'''
from state.gum_ball_machine import GumballMachine

if __name__ == '__main__':
    gum_ball_machine = GumballMachine(20)

    for i in range(20):
        gum_ball_machine.insert_quarter()
        gum_ball_machine.turn_crank()
        print(gum_ball_machine.count)
        print()