def test_unknown_state_variables(): # Test how setting attribute names that do not correspond to a state # variable are handled G = NeuronGroup(10, 'v : 1') assert_raises(AttributeError, lambda: setattr(G, 'unknown', 42)) # Creating a new private attribute should be fine G._unknown = 42 assert G._unknown == 42 # Explicitly create the attribute G.add_attribute('unknown') G.unknown = 42 assert G.unknown == 42