def test_update_resolve_int8(name):
    o = cortopy.declare_child(None, name, "int8")
    o2 = cortopy.resolve(name)
    assert o2.val == 0
    o.begin_update()
    o.val = 9
    o.end_update()
    o3 = cortopy.resolve(name)
    assert o3.val == 9
def test_resolve_line4d(Line4d, name):
    cortopy.eval("Line4d {}: {{1, 2, 3, 4}}, {{6, 7, 8, 9}}".format(name))
    o = cortopy.resolve(name)
    assert type(o.a) == cortopy.types['/Point4d']
    assert type(o.b) == cortopy.types['/Point4d']
    assert (o.a.w, o.a.x, o.a.y, o.a.z) == (4, 1, 2, 3)
    assert (o.b.w, o.b.x, o.b.y, o.b.z) == (9, 6, 7, 8)
def test_resolve_line3d(Line3d, name):
    cortopy.eval("Line3d {}: {{1, 2, 3}}, {{6, 7, 8}}".format(name))
    o = cortopy.resolve(name)
    assert type(o.a) == cortopy.types['/Point3d']
    assert type(o.b) == cortopy.types['/Point3d']
    assert (o.a.x, o.a.y, o.a.z) == (1, 2, 3)
    assert (o.b.x, o.b.y, o.b.z) == (6, 7, 8)
def test_update_resolve_point3d(Point3d, name):
    o = cortopy.declare_child(None, name, Point3d)
    o.begin_update()
    o.x = 3
    o.y = 4
    o.z = 5
    o.end_update()
    o2 = cortopy.resolve(name)
    assert (o2.x, o2.y, o2.z) == (3, 4, 5)
def test_resolve_point4d(Point4d, name):
    cortopy.eval("Point4d {}: 5, 10, 15, 20".format(name))
    o = cortopy.resolve(name)
    assert type(o) == cortopy.types['/Point4d']
    assert (o.w, o.x, o.y, o.z) == (20, 5, 10, 15)
def test_resolve_point3d(name):
    cortopy.eval("Point3d {}: 1, 10, 100".format(name))
    o = cortopy.resolve(name)
    assert type(o) == cortopy.types['/Point3d']
    assert (o.x, o.y, o.z) == (1, 10, 100)
def test_resolve_int8(name):
    cortopy.eval("int8 {}: 99".format(name))
    o = cortopy.resolve(name)
    assert o.val == 99