>>> from topo.base.parameterizedobject import ParameterizedObject
>>> from topo.base.parameterclasses import Number,CompoundParameter

# initialize a class with a compound parameter
>>> class A(ParameterizedObject):
...    x = Number(default=0)
...    y = Number(default=0)
...    xy = CompoundParameter(attribs=['x','y'])
... 

# Make an instance and do default checks
>>> a = A()
>>> a.x
0
>>> a.y
0
>>> a.xy
[0, 0]
>>> a.x = 1

# Get the compound parameter on an instance
>>> a.xy
[1, 0]

# Set the compound parameter on an instance
>>> a.xy = (2,3)

# Check that setting updates the constituent attributes
>>> a.x
2
>>> a.y
3

# Get the compound on the class
>>> A.xy 
[0, 0]

# Set the compound default on the class
>>> A.xy = (5,6)

# make a new instance
>>> b = A()

# Check that the defaults have changed
>>> b.x
5
>>> b.y
6
>>> A.x
5
>>> A.y
6

# Check that the previous instance still has the correct defaults
>>> a.x
2
>>> a.y
3
>>> 
Test for the CompoundParameter parameter type.
Test for the CompoundParameter parameter type.

