code: def test_basic_properties(self):
      class A(Configurable):
          int_property = Property(expected_type=int)
  
      a = A()
      a.int_property = 1
      a.int_property = -10
      with self.assertRaises(TypeError):
          a.int_property = "1"
  
      class B(Configurable):
          int_property = Property(expected_type=(str, set))
  
      b = B()
      b.int_property = {1, 2, 3}
      b.int_property = "hello"
      with self.assertRaises(TypeError):
          b.int_property = [5, 4]
  
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 1 for calling the PropertiesBasicsTestCase obj's underlying member method code with example usage: obj.test_basic_properties() without return types