update swig on windows
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
# Ported to C# li_attribute_runme.cs
|
||||
|
||||
import li_attribute
|
||||
|
||||
aa = li_attribute.A(1, 2, 3)
|
||||
|
||||
if aa.a != 1:
|
||||
raise RuntimeError
|
||||
aa.a = 3
|
||||
if aa.a != 3:
|
||||
print aa.a
|
||||
raise RuntimeError
|
||||
|
||||
if aa.b != 2:
|
||||
print aa.b
|
||||
raise RuntimeError
|
||||
aa.b = 5
|
||||
if aa.b != 5:
|
||||
raise RuntimeError
|
||||
|
||||
if aa.d != aa.b:
|
||||
raise RuntimeError
|
||||
|
||||
if aa.c != 3:
|
||||
raise RuntimeError
|
||||
#aa.c = 5
|
||||
# if aa.c != 3:
|
||||
# raise RuntimeError
|
||||
|
||||
pi = li_attribute.Param_i(7)
|
||||
if pi.value != 7:
|
||||
raise RuntimeError
|
||||
|
||||
pi.value = 3
|
||||
if pi.value != 3:
|
||||
raise RuntimeError
|
||||
|
||||
b = li_attribute.B(aa)
|
||||
|
||||
if b.a.c != 3:
|
||||
raise RuntimeError
|
||||
|
||||
# class/struct attribute with get/set methods using return/pass by reference
|
||||
myFoo = li_attribute.MyFoo()
|
||||
myFoo.x = 8
|
||||
myClass = li_attribute.MyClass()
|
||||
myClass.Foo = myFoo
|
||||
if myClass.Foo.x != 8:
|
||||
raise RuntimeError
|
||||
|
||||
# class/struct attribute with get/set methods using return/pass by value
|
||||
myClassVal = li_attribute.MyClassVal()
|
||||
if myClassVal.ReadWriteFoo.x != -1:
|
||||
raise RuntimeError
|
||||
if myClassVal.ReadOnlyFoo.x != -1:
|
||||
raise RuntimeError
|
||||
myClassVal.ReadWriteFoo = myFoo
|
||||
if myClassVal.ReadWriteFoo.x != 8:
|
||||
raise RuntimeError
|
||||
if myClassVal.ReadOnlyFoo.x != 8:
|
||||
raise RuntimeError
|
||||
|
||||
# string attribute with get/set methods using return/pass by value
|
||||
myStringyClass = li_attribute.MyStringyClass("initial string")
|
||||
if myStringyClass.ReadWriteString != "initial string":
|
||||
raise RuntimeError
|
||||
if myStringyClass.ReadOnlyString != "initial string":
|
||||
raise RuntimeError
|
||||
myStringyClass.ReadWriteString = "changed string"
|
||||
if myStringyClass.ReadWriteString != "changed string":
|
||||
raise RuntimeError
|
||||
if myStringyClass.ReadOnlyString != "changed string":
|
||||
raise RuntimeError
|
||||
|
||||
# Check a proper AttributeError is raised for non-existent attributes, old versions used to raise unhelpful error:
|
||||
# AttributeError: type object 'object' has no attribute '__getattr__'
|
||||
try:
|
||||
x = myFoo.does_not_exist
|
||||
raise RuntimeError
|
||||
except AttributeError, e:
|
||||
if str(e).find("does_not_exist") == -1:
|
||||
raise RuntimeError
|
||||
|
||||
Reference in New Issue
Block a user