示例#1
0
 def test_undetermined_options(self):
     menu = Menu(1).append_options(Option(1, 'repeated'))
     options = [Option(1, 'a'), Option(1, 'b'), Option(1, 'c')]
     for opt in options:
         try:
             self.assertRaises(UndeterminedOption, menu.append_options(opt))
         except UndeterminedOption:
             pass
示例#2
0
    def test_options_management(self):
        menu = Menu('main')
        self.assertFalse(menu.options)
        opt = Option(1, 'unpinned')
        menu.append_options(opt)
        self.assertEqual(1, len(menu.options))
        self.assertEqual(opt, menu.options.get('1'))

        menu.options.clear()
        options = [Option(1, 'one'), Option(2, 'two'), Option(3, 'three')]
        menu.append_options(*options)
        for opt in options:
            inp = opt.inp
            self.assertEqual(opt, menu.options.get(inp))
        self.assertEqual(len(options), len(menu.options))

        for opt in options:
            menu.remove_options(opt)
            self.assertTrue(menu.options.get(opt.inp, True))
        self.assertEqual(0, len(menu.options))
        menu.append_options(*options)
        for opt in options:
            menu.remove_options(opt.inp)
            self.assertTrue(menu.options.get(opt.inp, True))
        self.assertEqual(0, len(menu.options))