aboutsummaryrefslogtreecommitdiff
path: root/Tests
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2013-09-13 11:42:52 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2013-09-13 11:42:52 +0200
commit9347b58f09437c0c9e0ff86249f693c85a1212dd (patch)
treeb7b23650cb14a08ae4b003638c5f9dd337beda59 /Tests
parent03496443003f6d1f9645b6dfe1d0baccb0fbd6b9 (diff)
Add new Object package
Currently performs no error checking, but this can be added later. The plan is to also add a schema for each class.
Diffstat (limited to 'Tests')
-rw-r--r--Tests/Object.mt71
1 files changed, 71 insertions, 0 deletions
diff --git a/Tests/Object.mt b/Tests/Object.mt
new file mode 100644
index 0000000..3345fb2
--- /dev/null
+++ b/Tests/Object.mt
@@ -0,0 +1,71 @@
+
+(* Mathematica Test File *)
+
+
+(****************************************************************)
+(* NewObject *)
+(****************************************************************)
+
+Test[
+ NewObject[Obj, {}]
+ ,
+ Obj[]
+ ,
+ TestID->"NewObject-Empty"
+]
+
+Test[
+ NewObject[Obj, {"Key" -> 1}]
+ ,
+ Obj["Key" -> 1]
+ ,
+ TestID->"NewObject-OneKey"
+]
+
+Test[
+ NewObject[Obj, {"Key1" -> 1, "Key2" -> 2}]
+ ,
+ Obj["Key1" -> 1, "Key2" -> 2]
+ ,
+ TestID->"NewObject-TwoKeys"
+]
+
+Test[
+ SetObjectField[NewObject[Obj, {"Key1" -> 1, "Key2" -> 2}], "Key1", 3]
+ ,
+ Obj["Key1" -> 3, "Key2" -> 2]
+ ,
+ TestID->"SetObjectField-Existing"
+]
+
+Test[
+ SetObjectField[NewObject[Obj, {"Key1" -> 1, "Key2" -> 2}], "Key3", 3]
+ ,
+ Obj["Key1" -> 1, "Key2" -> 2, "Key3" -> 3]
+ ,
+ TestID->"SetObjectField-New"
+]
+
+Test[
+ GetObjectField[NewObject[Obj, {"Key1" -> 1, "Key2" -> 2}], "Key1"]
+ ,
+ 1
+ ,
+ TestID->"GetObjectField-Exists"
+]
+
+Test[
+ AppendObjectField[NewObject[Obj, {"Key1" -> {}, "Key2" -> 2}], "Key1", 1]
+ ,
+ Obj["Key1" -> {1}, "Key2" -> 2]
+ ,
+ TestID->"AppendObjectField-Exists"
+]
+
+Test[
+ JoinObjectField[NewObject[Obj, {"Key1" -> {}, "Key2" -> 2}], "Key1", {1}]
+ ,
+ Obj["Key1" -> {1}, "Key2" -> 2]
+ ,
+ TestID->"JoinObjectField-Exists"
+]