def test_prompt_first_attempt_ok(self, m_vi, m_gi):
     p = Prompter()
     player = Mock(name='name')
     m_gi.return_value = 'get_input'
     m_vi.side_effect = [None, (0, 0)]
     self.assertEqual((0, 0), p.prompt(player))
     self.assertEqual(2, len(m_vi.call_args_list))
 def test_prompt_first_attempt_ok(self, m_vi, m_gi):
     p = Prompter()
     player = Mock(name='name')
     m_gi.return_value = 'a1'
     m_vi.return_value = (0, 0)
     self.assertEqual((0, 0), p.prompt(player))
     m_gi.assert_called_once_with(player)
     m_vi.assert_called_once_with('a1')
 def test_validate_input_good4(self):
     p = Prompter()
     self.assertEqual((1,2), p.validate_input('B3'))
 def test_validate_input_good6(self):
     p = Prompter()
     self.assertEqual((2,2), p.validate_input('C3'))
 def test_validate_input_good3(self):
     p = Prompter()
     self.assertEqual((1,0), p.validate_input('B1'))
 def test_validate_input_good2(self):
     p = Prompter()
     self.assertEqual((0,2), p.validate_input('A3'))
 def test_validate_input_good1(self):
     p = Prompter()
     self.assertEqual((0,0), p.validate_input('A1'))
 def test_validate_input_bad2(self):
     p = Prompter()
     self.assertEqual(None, p.validate_input('D1'))
 def test_get_input(self):
     p = Prompter()
     player = Mock(name='Fred')
     got = p.get_input(player)
     self.assertEqual('users_input', got)