code: def test_choice_property_invalid_values(self):
      class A(Configurable):
          choice = ChoiceProperty(
              choices={"one": 1, "two": 2, "three": 3}
          )
  
      a = A(choice="three")
      invalid_values = [2, None, "2"]
      for invalid_value in invalid_values:
          with self.assertRaises(ValueError):
              a.choice = invalid_value
  
imports: from collections import namedtuple
  import numpy
  from neupy.core.config import Configurable
  from neupy.core.properties import Property, ArrayProperty, TypedListProperty, BoundedProperty, ProperFractionProperty, NumberProperty, IntProperty, ChoiceProperty, WithdrawProperty
  from base import BaseTestCase
label_desc: Use image node_id 2 for calling the ChoicesPropertiesTestCase obj's underlying member method code with example usage: obj.test_choice_property_invalid_values() without return types