示例#1
0
    def test_select(self):
        """
        DialogHelper.select() behaves properly
        """
        dialog = DialogHelper()

        helper_set = HelperSet([FormatterHelper()])
        dialog.set_helper_set(helper_set)

        heroes = ['Superman', 'Batman', 'Spiderman']

        dialog.set_input_stream(self.get_input_stream('\n1\nSebastien\n1\nSebastien\nSebastien\n'))
        self.assertEqual('2',
                         dialog.select(self.get_output_stream(),
                                       'What is your favorite superhero?', heroes, '2'))
        self.assertEqual('1',
                         dialog.select(self.get_output_stream(),
                                       'What is your favorite superhero?', heroes))

        output = self.get_output_stream()
        self.assertEqual('1',
                         dialog.select(output,
                                       'What is your favorite superhero?', heroes, None,
                                       False, 'Input "%s" is not a superhero!'))

        output.get_stream().seek(0)
        self.assertTrue(re.match('.*Input "Sebastien" is not a superhero!.*',
                                 output.get_stream().read().decode()) is not None)

        output = self.get_output_stream()
        self.assertRaises(Exception, dialog.select, output, 'What is your favorite superhero?', heroes, None, 1)
示例#2
0
    def test_select(self):
        """
        DialogHelper.select() behaves properly
        """
        dialog = DialogHelper()

        helper_set = HelperSet([FormatterHelper()])
        dialog.set_helper_set(helper_set)

        heroes = ['Superman', 'Batman', 'Spiderman']

        dialog.set_input_stream(
            self.get_input_stream('\n1\nSebastien\n1\nSebastien\nSebastien\n'))
        self.assertEqual(
            2,
            dialog.select(self.get_output_stream(),
                          'What is your favorite superhero?', heroes, '2'))
        self.assertEqual(
            1,
            dialog.select(self.get_output_stream(),
                          'What is your favorite superhero?', heroes))

        output = self.get_output_stream()
        self.assertEqual(
            1,
            dialog.select(output, 'What is your favorite superhero?', heroes,
                          None, False, 'Input "%s" is not a superhero!'))

        output.get_stream().seek(0)
        self.assertTrue(
            re.match('.*Input "Sebastien" is not a superhero!.*',
                     output.get_stream().read().decode()) is not None)

        output = self.get_output_stream()
        self.assertRaises(Exception, dialog.select, output,
                          'What is your favorite superhero?', heroes, None, 1)