+
+class OptionWithBoolSelectorFieldClassTestCase(
+ _OptionWithSelectorFieldClassTestCase, unittest.TestCase
+):
+ def _create_default_field_class(self, *args, **kwargs):
+ return self._tc.create_option_with_bool_selector_field_class(
+ self._content_fc, self._tag_fc, *args, **kwargs
+ )
+
+ def _create_tag_fc(self):
+ return self._tc.create_bool_field_class()
+
+ def test_create_default(self):
+ fc = self._create_default_field_class()
+ self.assertEqual(fc.field_class.addr, self._content_fc.addr)
+ self.assertFalse(fc.selector_is_reversed)
+ self.assertEqual(len(fc.user_attributes), 0)
+
+ def test_create_selector_is_reversed_wrong_type(self):
+ with self.assertRaises(TypeError):
+ self._create_default_field_class(selector_is_reversed=23)
+
+ def test_create_invalid_selector_type(self):
+ with self.assertRaises(TypeError):
+ self._tc.create_option_with_bool_selector_field_class(self._content_fc, 17)
+
+ def test_attr_selector_is_reversed(self):
+ fc = self._create_default_field_class(selector_is_reversed=True)
+ self.assertTrue(fc.selector_is_reversed)
+
+ def test_const_attr_selector_is_reversed(self):
+ fc = self._create_default_const_field_class(selector_is_reversed=True)
+ self.assertTrue(fc.selector_is_reversed)
+
+
+class _OptionWithIntegerSelectorFieldClassTestCase(
+ _OptionWithSelectorFieldClassTestCase
+):
+ def _create_default_field_class(self, *args, **kwargs):
+ return self._tc.create_option_with_integer_selector_field_class(
+ self._content_fc, self._tag_fc, self._ranges, *args, **kwargs
+ )
+
+ def test_create_default(self):
+ fc = self._create_default_field_class()
+ self.assertEqual(fc.field_class.addr, self._content_fc.addr)
+ self.assertEqual(fc.ranges, self._ranges)
+ self.assertEqual(len(fc.user_attributes), 0)
+
+ def test_create_ranges_wrong_type(self):