summaryrefslogtreecommitdiff
path: root/Examples/test-suite/octave/li_attribute_runme.m
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/octave/li_attribute_runme.m')
-rw-r--r--Examples/test-suite/octave/li_attribute_runme.m38
1 files changed, 33 insertions, 5 deletions
diff --git a/Examples/test-suite/octave/li_attribute_runme.m b/Examples/test-suite/octave/li_attribute_runme.m
index c66e27c5b..548e733ed 100644
--- a/Examples/test-suite/octave/li_attribute_runme.m
+++ b/Examples/test-suite/octave/li_attribute_runme.m
@@ -10,7 +10,6 @@ if (aa.a != 3)
error("aa.a = %i",aa.a)
endif
-
if (aa.b != 2)
error(aa.b)
endif
@@ -19,8 +18,6 @@ if (aa.b != 5)
error
endif
-
-
if (aa.d != aa.b)
error
endif
@@ -39,14 +36,13 @@ if (pi.value != 3)
error
endif
-
b = li_attribute.B(aa);
if (b.a.c != 3)
error
endif
-
+# class/struct attribute with get/set methods using return/pass by reference
myFoo = li_attribute.MyFoo();
myFoo.x = 8;
myClass = li_attribute.MyClass();
@@ -55,3 +51,35 @@ if (myClass.Foo.x != 8)
error
endif
+# class/struct attribute with get/set methods using return/pass by value
+myClassVal = li_attribute.MyClassVal();
+if (myClassVal.ReadWriteFoo.x != -1)
+ error
+endif
+if (myClassVal.ReadOnlyFoo.x != -1)
+ error
+endif
+myClassVal.ReadWriteFoo = myFoo;
+if (myClassVal.ReadWriteFoo.x != 8)
+ error
+endif
+if (myClassVal.ReadOnlyFoo.x != 8)
+ error
+endif
+
+# string attribute with get/set methods using return/pass by value
+myStringyClass = li_attribute.MyStringyClass("initial string");
+if (myStringyClass.ReadWriteString != "initial string")
+ error
+endif
+if (myStringyClass.ReadOnlyString != "initial string")
+ error
+endif
+myStringyClass.ReadWriteString = "changed string";
+if (myStringyClass.ReadWriteString != "changed string")
+ error
+endif
+if (myStringyClass.ReadOnlyString != "changed string")
+ error
+endif
+