def test_invalid_then_valid(self, _): expected = "Please respond with 'yes' or 'no'" # The first time, we respond "yes" self.assertTrue(query_yes_no("?", None)) output = sys.stdout.getvalue() self.assertIn(expected, output) sys.stdout = StringIO() # The second time, we respond "no" self.assertFalse(query_yes_no("?", None)) output = sys.stdout.getvalue() self.assertIn(expected, output)
def test_valid_default(self, _): for valid_default, expected in [(None, "[y/n]"), ("yes", "[Y/n]"), ("no", "[y/N]")]: self.assertTrue(query_yes_no("?", valid_default)) output = sys.stdout.getvalue() sys.stdout = StringIO() self.assertIn(expected, output)
def test_valid_yes(self, _): self.assertTrue(query_yes_no("?", None))
def test_valid_no(self, _): self.assertFalse(query_yes_no("?", None))
def test_use_valid_default(self, _): for valid_default in ["yes", "no"]: expected = (valid_default == "yes") actual = query_yes_no("?", valid_default) self.assertEqual(actual, expected)