From 9c4444694cfadf1e4b1521246e6534bb6c6643cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Thu, 3 Mar 2022 11:12:49 +0100
Subject: [PATCH 01/17] Add integration test for #191

---
 .../disabled.txt                                          | 1 +
 .../expected.json                                         | 3 +++
 .../input.json                                            | 3 +++
 .../test.fix                                              | 4 ++++
 .../test.flux                                             | 8 ++++++++
 5 files changed, 19 insertions(+)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/disabled.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/test.flux

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/disabled.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/disabled.txt
new file mode 100644
index 00000000..efdfa174
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/disabled.txt
@@ -0,0 +1 @@
+See issue #191
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/expected.json
new file mode 100644
index 00000000..52327acb
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/expected.json
@@ -0,0 +1,3 @@
+{
+  "colors" : [ "Red is a nice color", "Green is a nice color", "Blue is a nice color" ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/input.json
new file mode 100644
index 00000000..b70a3f5f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/input.json
@@ -0,0 +1,3 @@
+{
+  "colors" : [ "red", "green", "blue" ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/test.fix
new file mode 100644
index 00000000..9cdf212b
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/test.fix
@@ -0,0 +1,4 @@
+do list(path:"colors[]")
+  upcase(".")
+  append(".", " is a nice color")
+end
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;

From eb8c807d02c0f73a8e3c46952f65e7bf5e6065b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Fri, 4 Mar 2022 11:55:56 +0100
Subject: [PATCH 02/17] Add integration test for #193

---
 .../remove_fieldArrayOfObjects/expected.json   |  3 +++
 .../remove_fieldArrayOfObjects/input.json      |  8 ++++++++
 .../toJson/remove_fieldArrayOfObjects/test.fix |  1 +
 .../remove_fieldArrayOfObjects/test.flux       |  8 ++++++++
 .../expected.json                              |  8 ++++++++
 .../input.json                                 | 18 ++++++++++++++++++
 .../test.fix                                   |  2 ++
 .../test.flux                                  |  8 ++++++++
 .../todo.txt                                   |  1 +
 .../remove_fieldArrayOfStrings/expected.json   |  3 +++
 .../remove_fieldArrayOfStrings/input.json      |  4 ++++
 .../toJson/remove_fieldArrayOfStrings/test.fix |  1 +
 .../remove_fieldArrayOfStrings/test.flux       |  8 ++++++++
 .../expected.json                              | 11 +++++++++++
 .../input.json                                 | 12 ++++++++++++
 .../test.fix                                   |  1 +
 .../test.flux                                  |  8 ++++++++
 .../todo.txt                                   |  1 +
 .../toJson/remove_fieldSimple/expected.json    |  3 +++
 .../toJson/remove_fieldSimple/input.json       |  4 ++++
 .../toJson/remove_fieldSimple/test.fix         |  1 +
 .../toJson/remove_fieldSimple/test.flux        |  8 ++++++++
 22 files changed, 122 insertions(+)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/test.flux

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/expected.json
new file mode 100644
index 00000000..7aa914c1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/expected.json
@@ -0,0 +1,3 @@
+{
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/input.json
new file mode 100644
index 00000000..3d59dd33
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/input.json
@@ -0,0 +1,8 @@
+{
+  "arrayOfObjects" : [{
+    "key" : "value"
+  }, {
+    "key" : "more_value"
+  } ],
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/test.fix
new file mode 100644
index 00000000..f261aeb9
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/test.fix
@@ -0,0 +1 @@
+remove_field("arrayOfObjects[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/expected.json
new file mode 100644
index 00000000..d2784f8f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/expected.json
@@ -0,0 +1,8 @@
+{
+  "arrayOfObjects_1": [ {
+    "test" : "test"
+    }, {
+    "test" : "test"
+    } ],
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/input.json
new file mode 100644
index 00000000..bbe5cc76
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/input.json
@@ -0,0 +1,18 @@
+{
+  "arrayOfObjects_1": [ {
+    "arrayOfObjects_2" : [ {
+      "key" : "value"
+    }, {
+      "key" : "more_value"
+    } ],
+    "test" : "test"
+    }, {
+    "arrayOfObjects_2" : [ {
+      "key" : "even_more_value"
+    }, {
+      "key" : "so_much_value"
+    } ],
+    "test" : "test"
+    } ],
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/test.fix
new file mode 100644
index 00000000..df0c43da
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/test.fix
@@ -0,0 +1,2 @@
+remove_field("arrayOfObject_1[].*.arrayOfObject_2[]")
+
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/todo.txt
new file mode 100644
index 00000000..760ffe30
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See issue #193
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/expected.json
new file mode 100644
index 00000000..7aa914c1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/expected.json
@@ -0,0 +1,3 @@
+{
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/input.json
new file mode 100644
index 00000000..b9757d23
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/input.json
@@ -0,0 +1,4 @@
+{
+  "test" : "test",
+  "key" : [ "value", "more_value" ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/test.fix
new file mode 100644
index 00000000..540de48c
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/test.fix
@@ -0,0 +1 @@
+remove_field("key[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfStrings/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/expected.json
new file mode 100644
index 00000000..85437605
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/expected.json
@@ -0,0 +1,11 @@
+{
+  "key" : "value",
+  "animals" : [
+    {
+      "name": "Jake"
+    },
+    {
+      "name": "Blacky"
+    }
+  ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/input.json
new file mode 100644
index 00000000..1053f894
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/input.json
@@ -0,0 +1,12 @@
+{
+  "animals" : [
+    {
+      "name": "Jake",
+      "type": "dog"
+    },
+    {
+      "name": "Blacky",
+      "type": "bird"
+    }
+  ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/test.fix
new file mode 100644
index 00000000..3f9c2f16
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/test.fix
@@ -0,0 +1 @@
+remove_field("animals[].*.type")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/todo.txt
new file mode 100644
index 00000000..760ffe30
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See issue #193
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/expected.json
new file mode 100644
index 00000000..7aa914c1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/expected.json
@@ -0,0 +1,3 @@
+{
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/input.json
new file mode 100644
index 00000000..ea78985c
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/input.json
@@ -0,0 +1,4 @@
+{
+  "test" : "test",
+  "key" : "value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/test.fix
new file mode 100644
index 00000000..ef95ac0d
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/test.fix
@@ -0,0 +1 @@
+remove_field("key")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimple/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;

From b0b403f28b7782bc53a4b222f75baae2206be09c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Fri, 4 Mar 2022 12:02:47 +0100
Subject: [PATCH 03/17] Change file name tp todo.txt for #191

---
 .../{disabled.txt => todo.txt}                                    | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/{disabled.txt => todo.txt} (100%)

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/disabled.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/todo.txt
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/disabled.txt
rename to metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfStringsWithoutVariableAndAppend/todo.txt

From 604aeb6ed7d462d44c36ceb81997ba4df3af5ffb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Fri, 4 Mar 2022 12:11:26 +0100
Subject: [PATCH 04/17] Add a lot more integration tests #160

---
 .../expected.json                             | 23 +++++++++++++++++++
 .../input.json                                | 23 +++++++++++++++++++
 .../test.fix                                  |  3 +++
 .../test.flux                                 |  8 +++++++
 .../expected.json                             | 15 ++++++++++++
 .../input.json                                | 12 ++++++++++
 .../test.fix                                  |  5 ++++
 .../test.flux                                 |  8 +++++++
 .../expected.json                             | 13 +++++++++++
 .../input.json                                | 13 +++++++++++
 .../test.fix                                  |  3 +++
 .../test.flux                                 |  8 +++++++
 .../expected.json                             | 15 ++++++++++++
 .../input.json                                | 13 +++++++++++
 .../test.fix                                  |  3 +++
 .../test.flux                                 |  8 +++++++
 16 files changed, 173 insertions(+)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/test.flux

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/expected.json
new file mode 100644
index 00000000..f982c1e1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/expected.json
@@ -0,0 +1,23 @@
+{
+  "arrayOfObjects_1" : [ {
+    "name" : "red",
+    "type" : "color"
+  }, {
+    "name" : "green",
+    "type" : "color"
+  }, {
+    "name" : "blue",
+    "type" : "color"
+  } ],
+  "arrayOfObjects_2" : [ {
+    "name" : "purple",
+    "type" : "color"
+  }, {
+    "name" : "orange",
+    "type" : "color"
+  }, {
+    "name" : "yellow",
+    "type" : "color"
+  } ],
+  "test" : [ "red", "green", "blue", "purple", "orange", "yellow" ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/input.json
new file mode 100644
index 00000000..e5c6533a
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/input.json
@@ -0,0 +1,23 @@
+{
+  "arrayOfObjects_1" : [ {
+    "name": "red",
+    "type" : "color"
+  }, {
+    "name":"green",
+    "type" : "color"
+  }, {
+    "name":"blue",
+    "type" : "color"
+  } ],
+  "arrayOfObjects_2" : [ {
+    "name": "purple",
+    "type" : "color"
+  }, {
+    "name":"orange",
+    "type" : "color"
+  }, {
+    "name":"yellow",
+    "type" : "color"
+  } ],
+  "test" : [ ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/test.fix
new file mode 100644
index 00000000..93e06d79
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/test.fix
@@ -0,0 +1,3 @@
+do list(path: "arrayOfObjects??[]", "var": "$i")
+  copy_field("$i.name", "test[].$append")
+end
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableAndPathWildcards/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/expected.json
new file mode 100644
index 00000000..650336ca
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/expected.json
@@ -0,0 +1,15 @@
+{
+  "arrayOfObjects" : [ {
+    "name" : "red",
+    "type" : "color"
+  }, {
+    "name" : "green",
+    "type" : "color"
+  }, {
+    "name" : "blue",
+    "type" : "color"
+  } ],
+  "test" : {
+    "key" : "red"
+  }
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/input.json
new file mode 100644
index 00000000..963e2b41
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/input.json
@@ -0,0 +1,12 @@
+{
+  "arrayOfObjects" : [ {
+    "name": "red",
+    "type" : "color"
+    }, {
+    "name":"green",
+    "type" : "color"
+    }, {
+    "name":"blue",
+    "type" : "color"
+    } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/test.fix
new file mode 100644
index 00000000..e1556ba2
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/test.fix
@@ -0,0 +1,5 @@
+do list(path: "arrayOfObjects[]", "var": "$i")
+  unless exists("test.key")
+    copy_field("$i.name", "test.key")
+  end
+end
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/expected.json
new file mode 100644
index 00000000..cc1e4b91
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/expected.json
@@ -0,0 +1,13 @@
+{
+  "arrayOfObjects" : [ {
+    "name" : "red",
+    "type" : "color"
+  }, {
+    "name" : "green",
+    "type" : "color"
+  }, {
+    "name" : "blue",
+    "type" : "color"
+  } ],
+  "array" : [ "red", "green", "blue" ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/input.json
new file mode 100644
index 00000000..c3665704
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/input.json
@@ -0,0 +1,13 @@
+{
+  "arrayOfObjects" : [ {
+    "name": "red",
+    "type" : "color"
+    }, {
+    "name":"green",
+    "type" : "color"
+    }, {
+    "name":"blue",
+    "type" : "color"
+    } ],
+  "array" : [ ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/test.fix
new file mode 100644
index 00000000..8021bf18
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/test.fix
@@ -0,0 +1,3 @@
+do list(path: "arrayOfObjects[]", "var": "$i")
+  copy_field("$i.name", "array[].$append")
+end
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherArrayOfStrings/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/expected.json
new file mode 100644
index 00000000..5a63ebfb
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/expected.json
@@ -0,0 +1,15 @@
+{
+  "arrayOfObjects" : [ {
+    "name" : "red",
+    "type" : "color"
+  }, {
+    "name" : "green",
+    "type" : "color"
+  }, {
+    "name" : "blue",
+    "type" : "color"
+  } ],
+  "test" : {
+    "array" : [ "red", "green", "blue" ]
+  }
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/input.json
new file mode 100644
index 00000000..5bd10ca2
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/input.json
@@ -0,0 +1,13 @@
+{
+  "arrayOfObjects" : [ {
+    "name": "red",
+    "type" : "color"
+    }, {
+    "name":"green",
+    "type" : "color"
+    }, {
+    "name":"blue",
+    "type" : "color"
+    } ],
+  "test" : { "array" : [ ] }
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/test.fix
new file mode 100644
index 00000000..6ba0c501
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/test.fix
@@ -0,0 +1,3 @@
+do list(path: "arrayOfObjects[]", "var": "$i")
+  copy_field("$i.name", "test.array[].$append")
+end
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listSimpleArrayOfObjectsWithVariableAndCopy_fieldListValueToAnotherNestedArrayOfStrings/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;

From 6263a6cfff6f5dbc8c991a1223bbc87ac2e7fc96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Fri, 4 Mar 2022 12:30:16 +0100
Subject: [PATCH 05/17] Add integration test for #164

---
 .../fromJson/toJson/IfWithElse/expected.json  | 30 +++++++++++++++++++
 .../fromJson/toJson/IfWithElse/input.json     | 24 +++++++++++++++
 .../fromJson/toJson/IfWithElse/test.fix       |  5 ++++
 .../fromJson/toJson/IfWithElse/test.flux      |  8 +++++
 .../toJson/IfWithElsifAndElse/expected.json   | 30 +++++++++++++++++++
 .../toJson/IfWithElsifAndElse/input.json      | 24 +++++++++++++++
 .../toJson/IfWithElsifAndElse/test.fix        |  7 +++++
 .../toJson/IfWithElsifAndElse/test.flux       |  8 +++++
 .../IfWithMultipleElsifAndElse/expected.json  | 30 +++++++++++++++++++
 .../IfWithMultipleElsifAndElse/input.json     | 24 +++++++++++++++
 .../IfWithMultipleElsifAndElse/test.fix       | 11 +++++++
 .../IfWithMultipleElsifAndElse/test.flux      |  8 +++++
 .../IfWithMultipleElsifAndElse/todo.txt       |  1 +
 13 files changed, 210 insertions(+)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/todo.txt

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/expected.json
new file mode 100644
index 00000000..85d2c023
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/expected.json
@@ -0,0 +1,30 @@
+{
+  "name" : "red",
+  "type" : "color",
+  "test" : "false"
+}
+{
+  "name" : "green",
+  "type" : "color",
+  "test" : "false"
+}
+{
+  "name" : "blue",
+  "type" : "color",
+  "test" : "true"
+}
+{
+  "name" : "purple",
+  "type" : "color",
+  "test" : "false"
+}
+{
+  "name" : "orange",
+  "type" : "color",
+  "test" : "false"
+}
+{
+  "name" : "yellow",
+  "type" : "color",
+  "test" : "false"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/input.json
new file mode 100644
index 00000000..0ca0c305
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/input.json
@@ -0,0 +1,24 @@
+{
+  "name": "red",
+  "type": "color"
+}
+{
+  "name": "green",
+  "type": "color"
+}
+{
+  "name": "blue",
+  "type": "color"
+}
+{
+  "name": "purple",
+  "type": "color"
+}
+{
+  "name": "orange",
+  "type": "color"
+}
+{
+  "name": "yellow",
+  "type": "color"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.fix
new file mode 100644
index 00000000..c140a51e
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.fix
@@ -0,0 +1,5 @@
+if all_equals("name", "blue")
+  add_field("test", "true")
+else
+  add_field("test", "false")
+end
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/expected.json
new file mode 100644
index 00000000..294155be
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/expected.json
@@ -0,0 +1,30 @@
+{
+  "name" : "red",
+  "type" : "color",
+  "test_2" : "true"
+}
+{
+  "name" : "green",
+  "type" : "color",
+  "test" : "false"
+}
+{
+  "name" : "blue",
+  "type" : "color",
+  "test" : "true"
+}
+{
+  "name" : "purple",
+  "type" : "color",
+  "test" : "false"
+}
+{
+  "name" : "orange",
+  "type" : "color",
+  "test" : "false"
+}
+{
+  "name" : "yellow",
+  "type" : "color",
+  "test" : "false"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/input.json
new file mode 100644
index 00000000..0ca0c305
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/input.json
@@ -0,0 +1,24 @@
+{
+  "name": "red",
+  "type": "color"
+}
+{
+  "name": "green",
+  "type": "color"
+}
+{
+  "name": "blue",
+  "type": "color"
+}
+{
+  "name": "purple",
+  "type": "color"
+}
+{
+  "name": "orange",
+  "type": "color"
+}
+{
+  "name": "yellow",
+  "type": "color"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix
new file mode 100644
index 00000000..f30a6b0d
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix
@@ -0,0 +1,7 @@
+if all_equals("name", "blue")
+  add_field("test", "true")
+elsif all_equals("name", "red")
+   add_field("test_2", "true")
+else
+  add_field("test", "false")
+end
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/expected.json
new file mode 100644
index 00000000..d92d2ff3
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/expected.json
@@ -0,0 +1,30 @@
+{
+  "name" : "red",
+  "type" : "color",
+  "test_2" : "true"
+}
+{
+  "name" : "green",
+  "type" : "color",
+  "test_4" : "true"
+}
+{
+  "name" : "blue",
+  "type" : "color",
+  "test" : "true"
+}
+{
+  "name" : "purple",
+  "type" : "color",
+  "test" : "false"
+}
+{
+  "name" : "orange",
+  "type" : "color",
+  "test" : "false"
+}
+{
+  "name" : "yellow",
+  "type" : "color",
+  "test_3" : "true"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/input.json
new file mode 100644
index 00000000..0ca0c305
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/input.json
@@ -0,0 +1,24 @@
+{
+  "name": "red",
+  "type": "color"
+}
+{
+  "name": "green",
+  "type": "color"
+}
+{
+  "name": "blue",
+  "type": "color"
+}
+{
+  "name": "purple",
+  "type": "color"
+}
+{
+  "name": "orange",
+  "type": "color"
+}
+{
+  "name": "yellow",
+  "type": "color"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix
new file mode 100644
index 00000000..a9d1fdc4
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix
@@ -0,0 +1,11 @@
+if all_equals("name", "blue")
+  add_field("test", "true")
+elsif all_equals("name", "red")
+   add_field("test_2", "true")
+elsif all_equals("name", "yellow")
+   add_field("test_3", "true")
+elsif all_equals("name", "greem")
+   add_field("test_4", "true")
+else
+  add_field("test", "false")
+end
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/todo.txt
new file mode 100644
index 00000000..e26d2d38
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/todo.txt
@@ -0,0 +1 @@
+See issue #164

From 5a82f86dddec3bcc51ef210c6cff9977a4fcda68 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Fri, 4 Mar 2022 12:31:02 +0100
Subject: [PATCH 06/17] Add additional integration tests #160

---
 .../expected.json                               |  8 ++++++++
 .../input.json                                  |  0
 .../test.fix                                    |  2 ++
 .../test.flux                                   |  0
 .../todo.txt                                    |  0
 .../expected.json                               | 14 ++++++++++++++
 .../input.json                                  |  3 +++
 .../test.fix                                    |  4 ++++
 .../test.flux                                   |  0
 .../todo.txt                                    |  0
 .../expected.json                               |  0
 .../input.json                                  |  3 +++
 .../test.fix                                    |  0
 .../test.flux                                   |  0
 .../todo.txt                                    |  0
 .../expected.json                               |  8 ++++++++
 .../input.json                                  |  3 +++
 .../test.fix                                    |  4 ++++
 .../test.flux                                   |  0
 .../todo.txt                                    |  1 +
 .../expected.json                               |  9 +++++++++
 .../input.json                                  |  0
 .../test.fix                                    |  2 ++
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               |  6 ++++++
 .../input.json                                  |  3 +++
 .../test.fix                                    |  2 ++
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               |  9 +++++++++
 .../input.json                                  |  0
 .../test.fix                                    |  2 ++
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               | 17 +++++++++++++++++
 .../input.json                                  |  6 ++++++
 .../test.fix                                    |  4 ++++
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               |  0
 .../input.json                                  |  4 ++++
 .../test.fix                                    |  0
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               | 11 +++++++++++
 .../input.json                                  |  6 ++++++
 .../test.fix                                    |  4 ++++
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               |  9 +++++++++
 .../input.json                                  |  4 ++++
 .../test.fix                                    |  2 ++
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               |  7 +++++++
 .../input.json                                  |  4 ++++
 .../test.fix                                    |  2 ++
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               |  0
 .../input.json                                  |  0
 .../test.fix                                    |  0
 .../test.flux                                   |  8 ++++++++
 .../expected.json                               |  6 ++++++
 .../input.json                                  |  7 +++++++
 .../copy_fieldArrayOfStringsIntoObject/test.fix |  1 +
 .../test.flux                                   |  8 ++++++++
 .../expected.json                               |  7 +++++++
 .../input.json                                  |  4 ++++
 .../test.fix                                    |  2 ++
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               | 13 +++++++++++++
 .../input.json                                  |  6 ++++++
 .../test.fix                                    |  4 ++++
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               |  0
 .../input.json                                  |  4 ++++
 .../test.fix                                    |  0
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               | 11 +++++++++++
 .../input.json                                  |  6 ++++++
 .../test.fix                                    |  4 ++++
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               |  7 +++++++
 .../input.json                                  |  4 ++++
 .../test.fix                                    |  2 ++
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               |  5 +++++
 .../input.json                                  |  4 ++++
 .../test.fix                                    |  2 ++
 .../test.flux                                   |  8 ++++++++
 .../todo.txt                                    |  1 +
 .../expected.json                               |  5 +++++
 .../input.json                                  |  7 +++++++
 .../move_fieldArrayOfStringsIntoObject/test.fix |  1 +
 .../test.flux                                   |  8 ++++++++
 .../remove_fieldSimpleNested/expected.json      |  5 +++++
 .../toJson/remove_fieldSimpleNested/input.json  |  6 ++++++
 .../toJson/remove_fieldSimpleNested/test.fix    |  1 +
 .../toJson/remove_fieldSimpleNested/test.flux   |  8 ++++++++
 .../toJson/set_arrayNestedSimple/expected.json  | 10 ++++++++++
 .../toJson/set_arrayNestedSimple/input.json     |  3 +++
 .../toJson/set_arrayNestedSimple/test.fix       |  2 ++
 .../toJson/set_arrayNestedSimple/test.flux      |  8 ++++++++
 .../toJson/set_arrayNestedSimple/todo.txt       |  1 +
 111 files changed, 469 insertions(+)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/expected.json
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{add_fieldAppendAndCreateArray => add_fieldAppendAndCreateArrayOfObjects}/input.json (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/test.fix
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{add_fieldAppendAndCreateArray => add_fieldAppendAndCreateArrayOfObjects}/test.flux (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{add_fieldAppendAndCreateArray => add_fieldAppendAndCreateArrayOfObjects}/todo.txt (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.fix
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldAppendAndCreateArray => add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects}/test.flux (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldAppendAndCreateArray => add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects}/todo.txt (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{add_fieldAppendAndCreateArray => add_fieldAppendAndCreateArrayOfStrings}/expected.json (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStrings/input.json
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{add_fieldAppendAndCreateArray => add_fieldAppendAndCreateArrayOfStrings}/test.fix (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldAppendAndCreateArrayWithTrailingAsteriskPathWildcard => add_fieldAppendAndCreateArrayOfStrings}/test.flux (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{move_fieldAppendAndCreateArray => add_fieldAppendAndCreateArrayOfStrings}/todo.txt (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.fix
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{move_fieldAppendAndCreateArray => add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects}/test.flux (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/expected.json
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldAppendAndCreateArray => add_fieldAppendAndCreateNestedArrayOfObjects}/input.json (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/expected.json
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{move_fieldAppendAndCreateArray => copy_fieldAppendAndCreateArrayOfObjects}/input.json (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/todo.txt
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldAppendAndCreateArray => copy_fieldAppendAndCreateArrayOfStrings}/expected.json (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/input.json
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldAppendAndCreateArray => copy_fieldAppendAndCreateArrayOfStrings}/test.fix (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/todo.txt
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldAppendAndCreateArrayWithTrailingAsteriskPathWildcard => copy_fieldAppendWithTrailingAsteriskPathWildcard}/expected.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldAppendAndCreateArrayWithTrailingAsteriskPathWildcard => copy_fieldAppendWithTrailingAsteriskPathWildcard}/input.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldAppendAndCreateArrayWithTrailingAsteriskPathWildcard => copy_fieldAppendWithTrailingAsteriskPathWildcard}/test.fix (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendWithTrailingAsteriskPathWildcard/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/todo.txt
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{move_fieldAppendAndCreateArray => move_fieldAppendAndCreateArrayOfStrings}/expected.json (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/input.json
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{move_fieldAppendAndCreateArray => move_fieldAppendAndCreateArrayOfStrings}/test.fix (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/todo.txt

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/expected.json
new file mode 100644
index 00000000..3d59dd33
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/expected.json
@@ -0,0 +1,8 @@
+{
+  "arrayOfObjects" : [{
+    "key" : "value"
+  }, {
+    "key" : "more_value"
+  } ],
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArray/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArray/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/test.fix
new file mode 100644
index 00000000..4f461d49
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/test.fix
@@ -0,0 +1,2 @@
+copy_field("arrayOfObjects[].$append.key", "value")
+copy_field("arrayOfObjects[].$append.key", "more_value")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArray/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArray/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArray/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/todo.txt
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArray/todo.txt
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/todo.txt
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
new file mode 100644
index 00000000..0224ef36
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
@@ -0,0 +1,14 @@
+{
+  "arrayOfObjects_1": [ {
+    "arrayOfObjects_2" : [ {
+      "key" : "value"
+    }, {
+      "key" : "more_value"
+    } ] }, {
+    "arrayOfObjects_3" : [ {
+      "key" : "even_more_value"
+    }, {
+      "key" : "so_much_value"
+    } ] } ],
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/input.json
new file mode 100644
index 00000000..7aa914c1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/input.json
@@ -0,0 +1,3 @@
+{
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.fix
new file mode 100644
index 00000000..2c07e499
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.fix
@@ -0,0 +1,4 @@
+add_field("arrayOfObjects_1[].$append.arrayOfObjects_2[].$append.key","value")
+add_field("arrayOfObjects_1[].$last.arrayOfObjects_2[].$append.key","more_value",)
+add_field("arrayOfObjects_1[].$append.arrayOfObjects_3[].$append.key","even_more_value")
+add_field("arrayOfObjects_1[].$last.arrayOfObjects_3[].$append.key","so_much_value")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArray/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArray/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArray/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/todo.txt
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArray/todo.txt
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/todo.txt
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArray/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStrings/expected.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArray/expected.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStrings/expected.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStrings/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStrings/input.json
new file mode 100644
index 00000000..7aa914c1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStrings/input.json
@@ -0,0 +1,3 @@
+{
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArray/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStrings/test.fix
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArray/test.fix
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStrings/test.fix
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayWithTrailingAsteriskPathWildcard/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStrings/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayWithTrailingAsteriskPathWildcard/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStrings/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArray/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStrings/todo.txt
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArray/todo.txt
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStrings/todo.txt
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
new file mode 100644
index 00000000..cff2f00c
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
@@ -0,0 +1,8 @@
+{
+  "test" : "test",
+  "arrayOfObjects" :[ {
+    "test" : [ "value", "more_value" ]
+  }, {
+    "test" : [ "even_more_value", "so_much_value" ]
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/input.json
new file mode 100644
index 00000000..7aa914c1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/input.json
@@ -0,0 +1,3 @@
+{
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.fix
new file mode 100644
index 00000000..c4ae9e02
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.fix
@@ -0,0 +1,4 @@
+add_field("arrayOfObjects[].$append.test[].$append","value")
+add_field("arrayOfObjects[].$last.test[].$append","more_value")
+add_field("arrayOfObjects[].$append.test[].$append","even_more_value")
+add_field("arrayOfObjects[].$last.test[].$append","so_much_value")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArray/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArray/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/expected.json
new file mode 100644
index 00000000..e3971c47
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/expected.json
@@ -0,0 +1,9 @@
+{
+  "arrayOfObjects" : [{
+    "key" : "value"
+  }, {
+    "key" : "more_value"
+  } ],
+  "key" : "value",
+  "key_2" : "more_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArray/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArray/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/test.fix
new file mode 100644
index 00000000..3eb4d470
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/test.fix
@@ -0,0 +1,2 @@
+copy_field("key", "object.arrayOfObject[].$append.key")
+copy_field("key_2", "object.arrayOfObject[].$append.key")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/expected.json
new file mode 100644
index 00000000..880aa462
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/expected.json
@@ -0,0 +1,6 @@
+{
+  "object" : {
+    "test" : [ "value", "more_value" ]
+  },
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/input.json
new file mode 100644
index 00000000..7aa914c1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/input.json
@@ -0,0 +1,3 @@
+{
+  "test" : "test"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/test.fix
new file mode 100644
index 00000000..f543553f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/test.fix
@@ -0,0 +1,2 @@
+add_field("object.test[].$append","value")
+add_field("object.test[].$append","more_value")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/expected.json
new file mode 100644
index 00000000..e3971c47
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/expected.json
@@ -0,0 +1,9 @@
+{
+  "arrayOfObjects" : [{
+    "key" : "value"
+  }, {
+    "key" : "more_value"
+  } ],
+  "key" : "value",
+  "key_2" : "more_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArray/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArray/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/test.fix
new file mode 100644
index 00000000..ea97d7c1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/test.fix
@@ -0,0 +1,2 @@
+copy_field("key", "arrayOfObject[].$append.key")
+copy_field("key_2", "arrayOfObject[].$append.key")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
new file mode 100644
index 00000000..c7050efd
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
@@ -0,0 +1,17 @@
+{
+  "arrayOfObjects_1": [ {
+    "arrayOfObjects_2" : [ {
+      "key" : "value"
+    }, {
+      "key" : "more_value"
+    } ] }, {
+    "arrayOfObjects_3" : [ {
+      "key" : "even_more_value"
+    }, {
+      "key" : "so_much_value"
+    } ] } ],
+  "key" : "value",
+  "key_2" : "more_value",
+  "key_3" : "even_more_value",
+  "key_4" : "so_much_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/input.json
new file mode 100644
index 00000000..c12af96f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/input.json
@@ -0,0 +1,6 @@
+{
+  "key" : "value",
+  "key_2" : "more_value",
+  "key_3" : "even_more_value",
+  "key_4" : "so_much_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.fix
new file mode 100644
index 00000000..281e1094
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.fix
@@ -0,0 +1,4 @@
+copy_field("key", "arrayOfObject_1[].$append.arrayOfObject_2[].$append.key")
+copy_field("key_2", "arrayOfObject_1[].$last.arrayOfObject_2[].$append.key")
+copy_field("key_3", "arrayOfObject_1[].$append.arrayOfObject_3[].$append.key")
+copy_field("key_4", "arrayOfObject_1[].$last.arrayOfObject_3[].$append.key")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArray/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/expected.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArray/expected.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/expected.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/input.json
new file mode 100644
index 00000000..acae6449
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/input.json
@@ -0,0 +1,4 @@
+{
+  "key" : "value",
+  "key_2" : "more_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArray/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/test.fix
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArray/test.fix
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/test.fix
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStrings/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
new file mode 100644
index 00000000..89041d28
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
@@ -0,0 +1,11 @@
+{
+  "key" : "value",
+  "key_2" : "more_value",
+  "key_3" : "even_more_value",
+  "key_4" : "so_much_value",
+  "arrayOfObjects" :[ {
+    "test" : [ "value", "more_value" ]
+  }, {
+    "test" : [ "even_more_value", "so_much_value" ]
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/input.json
new file mode 100644
index 00000000..c12af96f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/input.json
@@ -0,0 +1,6 @@
+{
+  "key" : "value",
+  "key_2" : "more_value",
+  "key_3" : "even_more_value",
+  "key_4" : "so_much_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.fix
new file mode 100644
index 00000000..5bc47ede
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.fix
@@ -0,0 +1,4 @@
+copy_field("key", "arrayOfObjects[].$append.test[].$append")
+copy_field("key_2", "arrayOfObjects[].$last.test[].$append")
+copy_field("key_3", "arrayOfObjects[].$append.test[].$append")
+copy_field("key_4", "arrayOfObjects[].$last.test[].$append")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/expected.json
new file mode 100644
index 00000000..e3971c47
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/expected.json
@@ -0,0 +1,9 @@
+{
+  "arrayOfObjects" : [{
+    "key" : "value"
+  }, {
+    "key" : "more_value"
+  } ],
+  "key" : "value",
+  "key_2" : "more_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/input.json
new file mode 100644
index 00000000..acae6449
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/input.json
@@ -0,0 +1,4 @@
+{
+  "key" : "value",
+  "key_2" : "more_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/test.fix
new file mode 100644
index 00000000..3eb4d470
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/test.fix
@@ -0,0 +1,2 @@
+copy_field("key", "object.arrayOfObject[].$append.key")
+copy_field("key_2", "object.arrayOfObject[].$append.key")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/expected.json
new file mode 100644
index 00000000..34d83a66
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/expected.json
@@ -0,0 +1,7 @@
+{
+  "object" : {
+    "test" : [ "value", "more_value" ]
+  },
+  "key" : "value",
+  "key_2" : "more_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/input.json
new file mode 100644
index 00000000..acae6449
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/input.json
@@ -0,0 +1,4 @@
+{
+  "key" : "value",
+  "key_2" : "more_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/test.fix
new file mode 100644
index 00000000..19090a0e
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/test.fix
@@ -0,0 +1,2 @@
+copy_field("key", "object.test[].$append")
+copy_field("key_2", "object.test[].$append")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfStrings/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayWithTrailingAsteriskPathWildcard/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendWithTrailingAsteriskPathWildcard/expected.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayWithTrailingAsteriskPathWildcard/expected.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendWithTrailingAsteriskPathWildcard/expected.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayWithTrailingAsteriskPathWildcard/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendWithTrailingAsteriskPathWildcard/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayWithTrailingAsteriskPathWildcard/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendWithTrailingAsteriskPathWildcard/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayWithTrailingAsteriskPathWildcard/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendWithTrailingAsteriskPathWildcard/test.fix
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayWithTrailingAsteriskPathWildcard/test.fix
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendWithTrailingAsteriskPathWildcard/test.fix
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendWithTrailingAsteriskPathWildcard/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendWithTrailingAsteriskPathWildcard/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendWithTrailingAsteriskPathWildcard/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/expected.json
new file mode 100644
index 00000000..1d138130
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/expected.json
@@ -0,0 +1,6 @@
+{
+  "animal_string_Array" : [ "dog", "elefant", "shark" ],
+  "object" : {
+    "test" : [ "dog", "elefant", "shark" ]
+  }
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/input.json
new file mode 100644
index 00000000..be72ba9c
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/input.json
@@ -0,0 +1,7 @@
+{
+  "animal_string_Array" : [
+      "dog",
+      "elefant",
+      "shark"
+  ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/test.fix
new file mode 100644
index 00000000..fca16584
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/test.fix
@@ -0,0 +1 @@
+copy_field("animal_string_Array[]", "object.test[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoObject/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/expected.json
new file mode 100644
index 00000000..fcbf1c82
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/expected.json
@@ -0,0 +1,7 @@
+{
+  "arrayOfObjects" : [{
+    "key" : "value"
+  }, {
+    "key" : "more_value"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/input.json
new file mode 100644
index 00000000..acae6449
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/input.json
@@ -0,0 +1,4 @@
+{
+  "key" : "value",
+  "key_2" : "more_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/test.fix
new file mode 100644
index 00000000..52fac374
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/test.fix
@@ -0,0 +1,2 @@
+move_field("key", "arrayOfObject[].$append.key")
+move_field("key_2", "arrayOfObject[].$append.key")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
new file mode 100644
index 00000000..9847f5c9
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
@@ -0,0 +1,13 @@
+{
+  "arrayOfObjects_1": [ {
+    "arrayOfObjects_2" : [ {
+      "key" : "value"
+    }, {
+      "key" : "more_value"
+    } ] }, {
+    "arrayOfObjects_3" : [ {
+      "key" : "even_more_value"
+    }, {
+      "key" : "so_much_value"
+    } ] } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/input.json
new file mode 100644
index 00000000..c12af96f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/input.json
@@ -0,0 +1,6 @@
+{
+  "key" : "value",
+  "key_2" : "more_value",
+  "key_3" : "even_more_value",
+  "key_4" : "so_much_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.fix
new file mode 100644
index 00000000..4dee6b44
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.fix
@@ -0,0 +1,4 @@
+move_field("key", "arrayOfObject_1[].$append.arrayOfObject_2[].$append.key")
+move_field("key_2", "arrayOfObject_1[].$last.arrayOfObject_2[].$append.key")
+move_field("key_3", "arrayOfObject_1[].$append.arrayOfObject_3[].$append.key")
+move_field("key_4", "arrayOfObject_1[].$last.arrayOfObject_3[].$append.key")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArray/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/expected.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArray/expected.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/expected.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/input.json
new file mode 100644
index 00000000..acae6449
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/input.json
@@ -0,0 +1,4 @@
+{
+  "key" : "value",
+  "key_2" : "more_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArray/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/test.fix
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArray/test.fix
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/test.fix
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStrings/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
new file mode 100644
index 00000000..89041d28
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
@@ -0,0 +1,11 @@
+{
+  "key" : "value",
+  "key_2" : "more_value",
+  "key_3" : "even_more_value",
+  "key_4" : "so_much_value",
+  "arrayOfObjects" :[ {
+    "test" : [ "value", "more_value" ]
+  }, {
+    "test" : [ "even_more_value", "so_much_value" ]
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/input.json
new file mode 100644
index 00000000..c12af96f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/input.json
@@ -0,0 +1,6 @@
+{
+  "key" : "value",
+  "key_2" : "more_value",
+  "key_3" : "even_more_value",
+  "key_4" : "so_much_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.fix
new file mode 100644
index 00000000..5bc47ede
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.fix
@@ -0,0 +1,4 @@
+copy_field("key", "arrayOfObjects[].$append.test[].$append")
+copy_field("key_2", "arrayOfObjects[].$last.test[].$append")
+copy_field("key_3", "arrayOfObjects[].$append.test[].$append")
+copy_field("key_4", "arrayOfObjects[].$last.test[].$append")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/expected.json
new file mode 100644
index 00000000..fcbf1c82
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/expected.json
@@ -0,0 +1,7 @@
+{
+  "arrayOfObjects" : [{
+    "key" : "value"
+  }, {
+    "key" : "more_value"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/input.json
new file mode 100644
index 00000000..acae6449
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/input.json
@@ -0,0 +1,4 @@
+{
+  "key" : "value",
+  "key_2" : "more_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/test.fix
new file mode 100644
index 00000000..25eb7292
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/test.fix
@@ -0,0 +1,2 @@
+move_field("key", "object.arrayOfObject[].$append.key")
+move_field("key_2", "object.arrayOfObject[].$append.key")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/expected.json
new file mode 100644
index 00000000..070d91fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/expected.json
@@ -0,0 +1,5 @@
+{
+  "object" : {
+    "test" : [ "value", "more_value" ]
+  }
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/input.json
new file mode 100644
index 00000000..acae6449
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/input.json
@@ -0,0 +1,4 @@
+{
+  "key" : "value",
+  "key_2" : "more_value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/test.fix
new file mode 100644
index 00000000..6b9da6e5
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/test.fix
@@ -0,0 +1,2 @@
+move_field("key", "object.test[].$append")
+move_field("key_2", "object.test[].$append")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/todo.txt
new file mode 100644
index 00000000..636eae9f
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfStrings/todo.txt
@@ -0,0 +1 @@
+See issue #127
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/expected.json
new file mode 100644
index 00000000..39bac410
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/expected.json
@@ -0,0 +1,5 @@
+{
+  "object" : {
+    "test" : [ "dog", "elefant", "shark" ]
+  }
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/input.json
new file mode 100644
index 00000000..be72ba9c
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/input.json
@@ -0,0 +1,7 @@
+{
+  "animal_string_Array" : [
+      "dog",
+      "elefant",
+      "shark"
+  ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/test.fix
new file mode 100644
index 00000000..b7ced66d
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/test.fix
@@ -0,0 +1 @@
+move_field("animal_string_Array[]", "object.test[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsIntoObject/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/expected.json
new file mode 100644
index 00000000..1e661e4c
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/expected.json
@@ -0,0 +1,5 @@
+{
+  "object" : {
+    "test" : "test"
+  }
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/input.json
new file mode 100644
index 00000000..f60cc051
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/input.json
@@ -0,0 +1,6 @@
+{
+  "object" : {
+    "test" : "test",
+    "key" : "value"
+  }
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/test.fix
new file mode 100644
index 00000000..9c5d42d5
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/test.fix
@@ -0,0 +1 @@
+remove_field("object.key")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldSimpleNested/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/expected.json
new file mode 100644
index 00000000..d11d0e95
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/expected.json
@@ -0,0 +1,10 @@
+{
+  "key":"value",
+  "object" : {
+    "test" : [ ]
+  },
+  "object_2" : {
+    "test_2" : [ "dog", "cat", "bird" ]
+  }
+}
+
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/input.json
new file mode 100644
index 00000000..2bb48220
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/input.json
@@ -0,0 +1,3 @@
+{
+  "key":"value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.fix
new file mode 100644
index 00000000..ba13d01c
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.fix
@@ -0,0 +1,2 @@
+set_array("object.test[]")
+set_array("object_2.test_2[]", "dog", "cat", "bird")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/todo.txt
new file mode 100644
index 00000000..2c638e8e
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/todo.txt
@@ -0,0 +1 @@
+See issue #130

From b7c4b7ef45395d44e389edb1a6da92da64de96bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Fri, 4 Mar 2022 12:38:30 +0100
Subject: [PATCH 07/17] Adjust integration tests to editorconfig demands

---
 .../conditional/fromJson/toJson/IfWithElsifAndElse/test.fix | 2 +-
 .../fromJson/toJson/IfWithMultipleElsifAndElse/test.fix     | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix
index f30a6b0d..12cc7fe2 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix
@@ -1,7 +1,7 @@
 if all_equals("name", "blue")
   add_field("test", "true")
 elsif all_equals("name", "red")
-   add_field("test_2", "true")
+  add_field("test_2", "true")
 else
   add_field("test", "false")
 end
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix
index a9d1fdc4..c909e642 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix
@@ -1,11 +1,11 @@
 if all_equals("name", "blue")
   add_field("test", "true")
 elsif all_equals("name", "red")
-   add_field("test_2", "true")
+  add_field("test_2", "true")
 elsif all_equals("name", "yellow")
-   add_field("test_3", "true")
+  add_field("test_3", "true")
 elsif all_equals("name", "greem")
-   add_field("test_4", "true")
+  add_field("test_4", "true")
 else
   add_field("test", "false")
 end

From 323f40d1db9f3dea2dd0c275e78b1d49ab3d79cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Fri, 4 Mar 2022 12:48:51 +0100
Subject: [PATCH 08/17] Fix broken integration tests

---
 .../conditional/fromJson/toJson/IfWithElse/test.fix       | 2 +-
 .../fromJson/toJson/IfWithElsifAndElse/test.fix           | 4 ++--
 .../fromJson/toJson/IfWithMultipleElsifAndElse/test.fix   | 8 ++++----
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.fix
index c140a51e..c5cd3c5d 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.fix
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.fix
@@ -1,4 +1,4 @@
-if all_equals("name", "blue")
+if all_equal("name", "blue")
   add_field("test", "true")
 else
   add_field("test", "false")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix
index 12cc7fe2..a3f2ee5e 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix
@@ -1,6 +1,6 @@
-if all_equals("name", "blue")
+if all_equal("name", "blue")
   add_field("test", "true")
-elsif all_equals("name", "red")
+elsif all_equal("name", "red")
   add_field("test_2", "true")
 else
   add_field("test", "false")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix
index c909e642..f71f4eb5 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix
@@ -1,10 +1,10 @@
-if all_equals("name", "blue")
+if all_equal("name", "blue")
   add_field("test", "true")
-elsif all_equals("name", "red")
+elsif all_equal("name", "red")
   add_field("test_2", "true")
-elsif all_equals("name", "yellow")
+elsif all_equal("name", "yellow")
   add_field("test_3", "true")
-elsif all_equals("name", "greem")
+elsif all_equal("name", "greem")
   add_field("test_4", "true")
 else
   add_field("test", "false")

From 2b13763ad37e4807cbcf0d33f89acc700d0b660e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Fri, 4 Mar 2022 12:54:15 +0100
Subject: [PATCH 09/17] Adjust folder names

---
 .../toJson/{IfAny_equalSimple => ifAny_equalSimple}/expected.json | 0
 .../toJson/{IfAny_equalSimple => ifAny_equalSimple}/input.json    | 0
 .../toJson/{IfAny_equalSimple => ifAny_equalSimple}/test.fix      | 0
 .../toJson/{IfAny_equalSimple => ifAny_equalSimple}/test.flux     | 0
 .../fromJson/toJson/{IfWithElse => ifWithElse}/expected.json      | 0
 .../fromJson/toJson/{IfWithElse => ifWithElse}/input.json         | 0
 .../fromJson/toJson/{IfWithElse => ifWithElse}/test.fix           | 0
 .../fromJson/toJson/{IfWithElse => ifWithElse}/test.flux          | 0
 .../{IfWithElsifAndElse => ifWithElsifAndElse}/expected.json      | 0
 .../toJson/{IfWithElsifAndElse => ifWithElsifAndElse}/input.json  | 0
 .../toJson/{IfWithElsifAndElse => ifWithElsifAndElse}/test.fix    | 0
 .../toJson/{IfWithElsifAndElse => ifWithElsifAndElse}/test.flux   | 0
 .../expected.json                                                 | 0
 .../input.json                                                    | 0
 .../test.fix                                                      | 0
 .../test.flux                                                     | 0
 .../todo.txt                                                      | 0
 17 files changed, 0 insertions(+), 0 deletions(-)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfAny_equalSimple => ifAny_equalSimple}/expected.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfAny_equalSimple => ifAny_equalSimple}/input.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfAny_equalSimple => ifAny_equalSimple}/test.fix (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfAny_equalSimple => ifAny_equalSimple}/test.flux (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithElse => ifWithElse}/expected.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithElse => ifWithElse}/input.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithElse => ifWithElse}/test.fix (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithElse => ifWithElse}/test.flux (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithElsifAndElse => ifWithElsifAndElse}/expected.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithElsifAndElse => ifWithElsifAndElse}/input.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithElsifAndElse => ifWithElsifAndElse}/test.fix (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithElsifAndElse => ifWithElsifAndElse}/test.flux (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithMultipleElsifAndElse => ifWithMultipleElsifAndElse}/expected.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithMultipleElsifAndElse => ifWithMultipleElsifAndElse}/input.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithMultipleElsifAndElse => ifWithMultipleElsifAndElse}/test.fix (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithMultipleElsifAndElse => ifWithMultipleElsifAndElse}/test.flux (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/{IfWithMultipleElsifAndElse => ifWithMultipleElsifAndElse}/todo.txt (100%)

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfAny_equalSimple/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifAny_equalSimple/expected.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfAny_equalSimple/expected.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifAny_equalSimple/expected.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfAny_equalSimple/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifAny_equalSimple/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfAny_equalSimple/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifAny_equalSimple/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfAny_equalSimple/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifAny_equalSimple/test.fix
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfAny_equalSimple/test.fix
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifAny_equalSimple/test.fix
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfAny_equalSimple/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifAny_equalSimple/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfAny_equalSimple/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifAny_equalSimple/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElse/expected.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/expected.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElse/expected.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElse/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElse/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElse/test.fix
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.fix
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElse/test.fix
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElse/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElse/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElse/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElsifAndElse/expected.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/expected.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElsifAndElse/expected.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElsifAndElse/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElsifAndElse/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElsifAndElse/test.fix
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.fix
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElsifAndElse/test.fix
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElsifAndElse/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithElsifAndElse/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithElsifAndElse/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/expected.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/expected.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/expected.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/test.fix
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.fix
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/test.fix
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/todo.txt
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/IfWithMultipleElsifAndElse/todo.txt
rename to metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/todo.txt

From 417d37c9eaa6c142c43189c5baaf99408e4cfa8d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Mon, 7 Mar 2022 09:46:33 +0100
Subject: [PATCH 10/17] Fix formatting and wrong in integration tests

---
 .../ifWithMultipleElsifAndElse/test.fix       |  2 +-
 .../expected.json                             | 18 +++++++-------
 .../expected.json                             | 24 +++++++++----------
 .../sumSubfieldInArrayOfObjects/expected.json |  2 +-
 .../expected.json                             |  6 ++---
 .../test.fix                                  |  4 ++--
 .../expected.json                             | 10 ++++----
 .../expected.json                             |  2 +-
 .../expected.json                             | 15 ++++++------
 .../input.json                                |  3 +--
 .../test.fix                                  |  4 ++--
 .../expected.json                             |  4 ++--
 .../expected.json                             | 22 +++++++----------
 .../expected.json                             |  2 +-
 .../expected.json                             |  8 ++++---
 .../expected.json                             |  2 +-
 .../expected.json                             |  2 +-
 .../expected.json                             |  6 ++---
 .../expected.json                             | 21 +++++++---------
 .../expected.json                             |  1 -
 .../input.json                                |  1 -
 .../expected.json                             |  2 +-
 .../expected.json                             |  8 ++++---
 .../expected.json                             |  2 +-
 .../expected.json                             |  2 +-
 .../expected.json                             | 10 ++++----
 .../expected.json                             | 21 +++++++---------
 .../expected.json                             |  6 ++---
 .../expected.json                             | 13 ++++------
 .../retainCertainSubfields/expected.json      |  2 +-
 .../set_arrayNestedSimple/expected.json       |  3 +--
 31 files changed, 109 insertions(+), 119 deletions(-)

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/test.fix
index f71f4eb5..710a60ff 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/test.fix
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/conditional/fromJson/toJson/ifWithMultipleElsifAndElse/test.fix
@@ -4,7 +4,7 @@ elsif all_equal("name", "red")
   add_field("test_2", "true")
 elsif all_equal("name", "yellow")
   add_field("test_3", "true")
-elsif all_equal("name", "greem")
+elsif all_equal("name", "green")
   add_field("test_4", "true")
 else
   add_field("test", "false")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/sort_fieldInArrayOfObjectsWithAsterisk/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/sort_fieldInArrayOfObjectsWithAsterisk/expected.json
index 78d32c1f..daad4ce4 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/sort_fieldInArrayOfObjectsWithAsterisk/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/sort_fieldInArrayOfObjectsWithAsterisk/expected.json
@@ -1,11 +1,11 @@
 {
-  "adventureDuo": [ {
-      "name" : "Jake",
-      "animal" : "dog",
-      "tools" : [ "arms", "magic", "shapeShifting" ]
-    }, {
-      "name" : "Finn",
-      "animal" : "human",
-      "tools" : [ "anotherSword", "arm", "sword" ]
-    } ]
+  "adventureDuo" : [ {
+    "name" : "Jake",
+    "animal" : "dog",
+    "tools" : [ "arms", "magic", "shapeShifting" ]
+  }, {
+    "name" : "Finn",
+    "animal" : "human",
+    "tools" : [ "anotherSword", "arm", "sword" ]
+  } ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/split_fieldSubfieldInArrayOfObjectsWithAsterisk/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/split_fieldSubfieldInArrayOfObjectsWithAsterisk/expected.json
index 60629f1d..b9e1e27b 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/split_fieldSubfieldInArrayOfObjectsWithAsterisk/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/split_fieldSubfieldInArrayOfObjectsWithAsterisk/expected.json
@@ -1,15 +1,15 @@
 {
   "adventureDuo" : [ {
-      "name" : "Jake",
-      "animal" : "dog",
-      "tools" : "magic",
-      "tools" : "arms",
-      "tools" : "shapeShifting"
-    }, {
-      "name" : "Finn",
-      "animal" : "human",
-      "tools" : "sword",
-      "tools" : "anotherSword",
-      "tools" : "arm"
-    } ]
+    "name" : "Jake",
+    "animal" : "dog",
+    "tools" : "magic",
+    "tools" : "arms",
+    "tools" : "shapeShifting"
+  }, {
+    "name" : "Finn",
+    "animal" : "human",
+    "tools" : "sword",
+    "tools" : "anotherSword",
+    "tools" : "arm"
+  } ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/sumSubfieldInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/sumSubfieldInArrayOfObjects/expected.json
index c5284171..117b4a1e 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/sumSubfieldInArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/sumSubfieldInArrayOfObjects/expected.json
@@ -2,6 +2,6 @@
   "objects" : [ {
     "numbers" : [ "27" ]
   }, {
-    "numbers" : [ "10"]
+    "numbers" : [ "10" ]
   } ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/expected.json
index 3d59dd33..b57a70e0 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/expected.json
@@ -1,8 +1,8 @@
 {
-  "arrayOfObjects" : [{
+  "test" : "test",
+  "arrayOfObjects" : [ {
     "key" : "value"
   }, {
     "key" : "more_value"
-  } ],
-  "test" : "test"
+  } ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/test.fix
index 4f461d49..5e810354 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/test.fix
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjects/test.fix
@@ -1,2 +1,2 @@
-copy_field("arrayOfObjects[].$append.key", "value")
-copy_field("arrayOfObjects[].$append.key", "more_value")
+add_field("arrayOfObjects[].$append.key", "value")
+add_field("arrayOfObjects[].$append.key", "more_value")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
index 0224ef36..4ddb3c3d 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
@@ -1,14 +1,16 @@
 {
-  "arrayOfObjects_1": [ {
+  "test" : "test",
+  "arrayOfObjects_1" : [ {
     "arrayOfObjects_2" : [ {
       "key" : "value"
     }, {
       "key" : "more_value"
-    } ] }, {
+    } ]
+  }, {
     "arrayOfObjects_3" : [ {
       "key" : "even_more_value"
     }, {
       "key" : "so_much_value"
-    } ] } ],
-  "test" : "test"
+    } ]
+  } ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
index cff2f00c..2bc92c35 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
@@ -1,6 +1,6 @@
 {
   "test" : "test",
-  "arrayOfObjects" :[ {
+  "arrayOfObjects" : [ {
     "test" : [ "value", "more_value" ]
   }, {
     "test" : [ "even_more_value", "so_much_value" ]
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/expected.json
index e3971c47..8e7ba3f2 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/expected.json
@@ -1,9 +1,10 @@
 {
-  "arrayOfObjects" : [{
-    "key" : "value"
-  }, {
-    "key" : "more_value"
-  } ],
-  "key" : "value",
-  "key_2" : "more_value"
+  "test" : "test",
+  "object" : {
+    "arrayOfObjects" : [ {
+      "key" : "value"
+    }, {
+      "key" : "more_value"
+    } ]
+  }
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/input.json
index acae6449..7aa914c1 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/input.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/input.json
@@ -1,4 +1,3 @@
 {
-  "key" : "value",
-  "key_2" : "more_value"
+  "test" : "test"
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/test.fix
index 3eb4d470..d7218681 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/test.fix
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfObjects/test.fix
@@ -1,2 +1,2 @@
-copy_field("key", "object.arrayOfObject[].$append.key")
-copy_field("key_2", "object.arrayOfObject[].$append.key")
+add_field("object.arrayOfObject[].$append.key", "value")
+add_field("object.arrayOfObject[].$append.key", "more_value")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/expected.json
index 880aa462..c60c01b2 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAppendAndCreateNestedArrayOfStrings/expected.json
@@ -1,6 +1,6 @@
 {
+  "test" : "test",
   "object" : {
     "test" : [ "value", "more_value" ]
-  },
-  "test" : "test"
+  }
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAsteriskIntoArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAsteriskIntoArrayOfObjects/expected.json
index 509e6cef..18e772cc 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAsteriskIntoArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/add_fieldAsteriskIntoArrayOfObjects/expected.json
@@ -1,15 +1,11 @@
 {
-  "key" : "value",
-  "animals" : [
-    {
-      "name": "Jake",
-      "type": "dog",
-      "key" : "value"
-    },
-    {
-      "name": "Blacky",
-      "type": "bird",
-      "key" : "value"
-    }
-  ]
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "dog",
+    "key" : "value"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird",
+    "key" : "value"
+  } ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/expected.json
index e3971c47..d8894a0c 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjects/expected.json
@@ -1,5 +1,5 @@
 {
-  "arrayOfObjects" : [{
+  "arrayOfObjects" : [ {
     "key" : "value"
   }, {
     "key" : "more_value"
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
index c7050efd..632a2674 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
@@ -1,15 +1,17 @@
 {
-  "arrayOfObjects_1": [ {
+  "arrayOfObjects_1" : [ {
     "arrayOfObjects_2" : [ {
       "key" : "value"
     }, {
       "key" : "more_value"
-    } ] }, {
+    } ]
+  }, {
     "arrayOfObjects_3" : [ {
       "key" : "even_more_value"
     }, {
       "key" : "so_much_value"
-    } ] } ],
+    } ]
+  } ],
   "key" : "value",
   "key_2" : "more_value",
   "key_3" : "even_more_value",
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
index 89041d28..aad46c5f 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
@@ -3,7 +3,7 @@
   "key_2" : "more_value",
   "key_3" : "even_more_value",
   "key_4" : "so_much_value",
-  "arrayOfObjects" :[ {
+  "arrayOfObjects" : [ {
     "test" : [ "value", "more_value" ]
   }, {
     "test" : [ "even_more_value", "so_much_value" ]
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/expected.json
index e3971c47..d8894a0c 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAppendAndCreateNestedArrayOfObjects/expected.json
@@ -1,5 +1,5 @@
 {
-  "arrayOfObjects" : [{
+  "arrayOfObjects" : [ {
     "key" : "value"
   }, {
     "key" : "more_value"
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoArrayOfObjectsWithAsteriskWildcard/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoArrayOfObjectsWithAsteriskWildcard/expected.json
index 75a21bdd..871b7d25 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoArrayOfObjectsWithAsteriskWildcard/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsIntoArrayOfObjectsWithAsteriskWildcard/expected.json
@@ -1,13 +1,13 @@
 {
   "animal_string_Array" : [ "dog", "elefant", "shark" ],
   "test" : [ {
-    "key": "value_1",
+    "key" : "value_1",
     "animal_string_Array" : [ "dog", "elefant", "shark" ]
   }, {
-    "key": "value_2",
+    "key" : "value_2",
     "animal_string_Array" : [ "dog", "elefant", "shark" ]
   }, {
-    "key": "value_3",
+    "key" : "value_3",
     "animal_string_Array" : [ "dog", "elefant", "shark" ]
   } ],
   "test_2" : [ {
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAsteriskIntoArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAsteriskIntoArrayOfObjects/expected.json
index 509e6cef..4d9359ec 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAsteriskIntoArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldAsteriskIntoArrayOfObjects/expected.json
@@ -1,15 +1,12 @@
 {
   "key" : "value",
-  "animals" : [
-    {
-      "name": "Jake",
-      "type": "dog",
-      "key" : "value"
-    },
-    {
-      "name": "Blacky",
-      "type": "bird",
-      "key" : "value"
-    }
-  ]
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "dog",
+    "key" : "value"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird",
+    "key" : "value"
+  } ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldWithAlternationOfFieldInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldWithAlternationOfFieldInArrayOfObjects/expected.json
index 075c230b..814bcf91 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldWithAlternationOfFieldInArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldWithAlternationOfFieldInArrayOfObjects/expected.json
@@ -10,4 +10,3 @@
   } ],
   "test" : [ "value", "more_value", "a_lot_more_value" ]
 }
-
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldWithAlternationOfFieldInArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldWithAlternationOfFieldInArrayOfObjects/input.json
index 8551d7f2..1023aad2 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldWithAlternationOfFieldInArrayOfObjects/input.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldWithAlternationOfFieldInArrayOfObjects/input.json
@@ -10,4 +10,3 @@
   } ],
   "test" : [ ]
 }
-
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/expected.json
index fcbf1c82..50fe5a3a 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjects/expected.json
@@ -1,5 +1,5 @@
 {
-  "arrayOfObjects" : [{
+  "arrayOfObjects" : [ {
     "key" : "value"
   }, {
     "key" : "more_value"
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
index 9847f5c9..c13b46bb 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfObjectsInArrayOfObjects/expected.json
@@ -1,13 +1,15 @@
 {
-  "arrayOfObjects_1": [ {
+  "arrayOfObjects_1" : [ {
     "arrayOfObjects_2" : [ {
       "key" : "value"
     }, {
       "key" : "more_value"
-    } ] }, {
+    } ]
+  }, {
     "arrayOfObjects_3" : [ {
       "key" : "even_more_value"
     }, {
       "key" : "so_much_value"
-    } ] } ]
+    } ]
+  } ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
index 89041d28..aad46c5f 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateArrayOfStringsInArrayOfObjects/expected.json
@@ -3,7 +3,7 @@
   "key_2" : "more_value",
   "key_3" : "even_more_value",
   "key_4" : "so_much_value",
-  "arrayOfObjects" :[ {
+  "arrayOfObjects" : [ {
     "test" : [ "value", "more_value" ]
   }, {
     "test" : [ "even_more_value", "so_much_value" ]
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/expected.json
index fcbf1c82..50fe5a3a 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAppendAndCreateNestedArrayOfObjects/expected.json
@@ -1,5 +1,5 @@
 {
-  "arrayOfObjects" : [{
+  "arrayOfObjects" : [ {
     "key" : "value"
   }, {
     "key" : "more_value"
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithinArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithinArrayOfObjects/expected.json
index 948da9d3..710b6458 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithinArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithinArrayOfObjects/expected.json
@@ -1,8 +1,8 @@
 {
-  "arrayOfObjects": [ {
-    "test": "Jake",
-    "test_2": "dog",
-    "test_3": "dog",
-    "arrayOfStrings_moved": ["fish", "spider"]
+  "arrayOfObjects" : [ {
+    "test" : "Jake",
+    "test_2" : "dog",
+    "test_3" : "dog",
+    "arrayOfStrings_moved" : [ "fish", "spider" ]
   } ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAsteriskIntoArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAsteriskIntoArrayOfObjects/expected.json
index af303330..18e772cc 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAsteriskIntoArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldAsteriskIntoArrayOfObjects/expected.json
@@ -1,14 +1,11 @@
 {
-  "animals" : [
-    {
-      "name": "Jake",
-      "type": "dog",
-      "key" : "value"
-    },
-    {
-      "name": "Blacky",
-      "type": "bird",
-      "key" : "value"
-    }
-  ]
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "dog",
+    "key" : "value"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird",
+    "key" : "value"
+  } ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/expected.json
index d2784f8f..dbd61e58 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldArrayOfObjectsInArrayOfObjects/expected.json
@@ -1,8 +1,8 @@
 {
-  "arrayOfObjects_1": [ {
+  "arrayOfObjects_1" : [ {
     "test" : "test"
-    }, {
+  }, {
     "test" : "test"
-    } ],
+  } ],
   "test" : "test"
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/expected.json
index 85437605..a07ee603 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/remove_fieldAsteriskInArrayOfObjects/expected.json
@@ -1,11 +1,8 @@
 {
   "key" : "value",
-  "animals" : [
-    {
-      "name": "Jake"
-    },
-    {
-      "name": "Blacky"
-    }
-  ]
+  "animals" : [ {
+    "name" : "Jake"
+  }, {
+    "name" : "Blacky"
+  } ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/retainCertainSubfields/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/retainCertainSubfields/expected.json
index b229275f..3cb88458 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/retainCertainSubfields/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/retainCertainSubfields/expected.json
@@ -6,6 +6,6 @@
   } ],
   "words" : [ "bla", "bla", "bla" ],
   "test_2" : {
-    "test": "test"
+    "test" : "test"
   }
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/expected.json
index d11d0e95..cd28b4ed 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/expected.json
@@ -1,5 +1,5 @@
 {
-  "key":"value",
+  "key" : "value",
   "object" : {
     "test" : [ ]
   },
@@ -7,4 +7,3 @@
     "test_2" : [ "dog", "cat", "bird" ]
   }
 }
-

From 9a422fb04c0173547342976dd6ac7c6c3ddc1fb8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Mon, 7 Mar 2022 12:32:54 +0100
Subject: [PATCH 11/17] Add integration tests for #195

---
 .../copy_fieldArrayWithoutValues/expected.json |  4 ++++
 .../copy_fieldArrayWithoutValues/input.json    |  3 +++
 .../copy_fieldArrayWithoutValues/test.fix      |  1 +
 .../copy_fieldArrayWithoutValues/test.flux     |  8 ++++++++
 .../copy_fieldArrayWithoutValues/todo.txt      |  1 +
 .../move_fieldArrayWithoutValue/expected.json  |  3 +++
 .../move_fieldArrayWithoutValue/input.json     |  3 +++
 .../move_fieldArrayWithoutValue/test.fix       |  1 +
 .../move_fieldArrayWithoutValue/test.flux      |  8 ++++++++
 .../move_fieldArrayWithoutValue/todo.txt       |  1 +
 .../expected.json                              | 18 ++++++++++++++++++
 .../input.json                                 | 17 +++++++++++++++++
 .../test.fix                                   |  2 ++
 .../test.flux                                  |  8 ++++++++
 .../todo.txt                                   |  1 +
 15 files changed, 79 insertions(+)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/todo.txt

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/expected.json
new file mode 100644
index 00000000..3c738de6
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/expected.json
@@ -0,0 +1,4 @@
+{
+  "animal_string_Array" : [ ],
+  "test" : [ ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/input.json
new file mode 100644
index 00000000..4b7dc810
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/input.json
@@ -0,0 +1,3 @@
+{
+  "animal_string_Array" : [ ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/test.fix
new file mode 100644
index 00000000..3e201958
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/test.fix
@@ -0,0 +1 @@
+copy_field("animal_string_Array[]", "test[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/todo.txt
new file mode 100644
index 00000000..17d1dcd1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayWithoutValues/todo.txt
@@ -0,0 +1 @@
+See #195
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/expected.json
new file mode 100644
index 00000000..c5f97e25
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/expected.json
@@ -0,0 +1,3 @@
+{
+  "test" : [ ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/input.json
new file mode 100644
index 00000000..4b7dc810
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/input.json
@@ -0,0 +1,3 @@
+{
+  "animal_string_Array" : [ ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/test.fix
new file mode 100644
index 00000000..ba14a716
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/test.fix
@@ -0,0 +1 @@
+move_field("animal_string_Array[]", "test[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/todo.txt
new file mode 100644
index 00000000..17d1dcd1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayWithoutValue/todo.txt
@@ -0,0 +1 @@
+See #195
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/expected.json
new file mode 100644
index 00000000..fad961c8
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/expected.json
@@ -0,0 +1,18 @@
+{
+  "key" : "value",
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "dog",
+    "test" : [ ]
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ],
+  "animals_2" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/input.json
new file mode 100644
index 00000000..1e0cd707
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/input.json
@@ -0,0 +1,17 @@
+{
+  "key":"value",
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ],
+  "animals_2" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.fix
new file mode 100644
index 00000000..1b67b8e9
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.fix
@@ -0,0 +1,2 @@
+set_array("test[]")
+move_field("test[]", "animals[].1.test[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/todo.txt
new file mode 100644
index 00000000..17d1dcd1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithoutValuesAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/todo.txt
@@ -0,0 +1 @@
+See #195

From d4cd18c7c39384a5596a689f22daaa6117be7f64 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Mon, 7 Mar 2022 12:39:16 +0100
Subject: [PATCH 12/17] Split integration tests

---
 .../expected.json                              |  0
 .../input.json                                 |  0
 .../test.fix                                   |  0
 .../test.flux                                  |  0
 .../expected.json                              |  4 ++++
 .../input.json                                 |  5 +++++
 .../test.fix                                   |  1 +
 .../test.flux                                  |  0
 .../expected.json                              |  0
 .../input.json                                 |  0
 .../test.fix                                   |  0
 .../test.flux                                  |  0
 .../expected.json                              |  3 +++
 .../input.json                                 |  3 +++
 .../test.fix                                   |  1 +
 .../test.flux                                  |  0
 .../toJson/set_arrayIntoArray/test.fix         |  5 -----
 .../expected.json                              | 18 ++++++++++++++++++
 .../input.json                                 |  0
 .../test.fix                                   |  1 +
 .../test.flux                                  |  0
 .../todo.txt                                   |  0
 .../expected.json                              |  5 +----
 .../input.json                                 | 16 ++++++++++++++++
 .../test.fix                                   |  1 +
 .../test.flux                                  |  8 ++++++++
 .../todo.txt                                   |  1 +
 .../expected.json                              | 17 +++++++++++++++++
 .../input.json                                 | 16 ++++++++++++++++
 .../test.fix                                   |  1 +
 .../test.flux                                  |  8 ++++++++
 .../todo.txt                                   |  1 +
 .../toJson/set_arrayNestedSimple/expected.json |  9 ---------
 .../toJson/set_arrayNestedSimple/test.fix      |  2 --
 .../expected.json                              |  6 ++++++
 .../input.json                                 |  0
 .../test.fix                                   |  1 +
 .../test.flux                                  |  8 ++++++++
 .../todo.txt                                   |  0
 .../expected.json                              |  6 ++++++
 .../input.json                                 |  0
 .../test.fix                                   |  1 +
 .../test.flux                                  |  8 ++++++++
 .../todo.txt                                   |  1 +
 .../expected.json                              |  6 ++++++
 .../input.json                                 |  3 +++
 .../test.fix                                   |  1 +
 .../test.flux                                  |  8 ++++++++
 .../todo.txt                                   |  1 +
 .../toJson/set_arraySimple/expected.json       |  5 -----
 .../fromJson/toJson/set_arraySimple/test.fix   |  2 --
 .../expected.json                              |  4 ++++
 .../input.json                                 |  3 +++
 .../set_arraySimpleWithMultipleValues/test.fix |  1 +
 .../test.flux                                  |  8 ++++++++
 .../expected.json                              |  4 ++++
 .../set_arraySimpleWithSingleValue/input.json  |  3 +++
 .../set_arraySimpleWithSingleValue/test.fix    |  1 +
 .../set_arraySimpleWithSingleValue/test.flux   |  8 ++++++++
 .../set_arraySimpleWithoutValues/expected.json |  4 ++++
 .../set_arraySimpleWithoutValues/input.json    |  3 +++
 .../set_arraySimpleWithoutValues/test.fix      |  1 +
 .../set_arraySimpleWithoutValues/test.flux     |  8 ++++++++
 .../expected.json                              | 18 ++++++++++++++++++
 .../input.json                                 | 17 +++++++++++++++++
 .../test.fix                                   |  2 ++
 .../test.flux                                  |  8 ++++++++
 67 files changed, 249 insertions(+), 27 deletions(-)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldArrayOfStrings => copy_fieldArrayOfStringsWithMultipleValues}/expected.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldArrayOfStrings => copy_fieldArrayOfStringsWithMultipleValues}/input.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldArrayOfStrings => copy_fieldArrayOfStringsWithMultipleValues}/test.fix (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{copy_fieldArrayOfStrings => copy_fieldArrayOfStringsWithMultipleValues}/test.flux (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/test.fix
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{move_fieldArrayOfStrings => copy_fieldArrayOfStringsWithSingleValue}/test.flux (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{move_fieldArrayOfStrings => move_fieldArrayOfStringsWithMultipleValues}/expected.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{move_fieldArrayOfStrings => move_fieldArrayOfStringsWithMultipleValues}/input.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{move_fieldArrayOfStrings => move_fieldArrayOfStringsWithMultipleValues}/test.fix (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{set_arrayIntoArray => move_fieldArrayOfStringsWithMultipleValues}/test.flux (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/test.fix
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{set_arrayNestedSimple => move_fieldArrayOfStringsWithSingleValue}/test.flux (100%)
 delete mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/expected.json
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{set_arrayIntoArray => set_arrayIntoArrayOfObjectsWithAppend}/input.json (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/test.fix
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{set_arraySimple => set_arrayIntoArrayOfObjectsWithAppend}/test.flux (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{set_arrayIntoArray => set_arrayIntoArrayOfObjectsWithAppend}/todo.txt (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{set_arrayIntoArray => set_arrayIntoArrayOfObjectsWithAsterisk}/expected.json (71%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/todo.txt
 delete mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/expected.json
 delete mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/expected.json
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{set_arrayNestedSimple => set_arrayNestedSimpleWithMultipleValues}/input.json (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/test.flux
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{set_arrayNestedSimple => set_arrayNestedSimpleWithMultipleValues}/todo.txt (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/expected.json
 rename metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/{set_arraySimple => set_arrayNestedSimpleWithSingleValue}/input.json (100%)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/todo.txt
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/todo.txt
 delete mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimple/expected.json
 delete mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimple/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.flux

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStrings/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithMultipleValues/expected.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStrings/expected.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithMultipleValues/expected.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStrings/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithMultipleValues/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStrings/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithMultipleValues/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStrings/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithMultipleValues/test.fix
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStrings/test.fix
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithMultipleValues/test.fix
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStrings/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithMultipleValues/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStrings/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithMultipleValues/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/expected.json
new file mode 100644
index 00000000..58404ba0
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/expected.json
@@ -0,0 +1,4 @@
+{
+  "animal_string_Array" : [ "dog" ],
+  "test" : [ "dog" ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/input.json
new file mode 100644
index 00000000..89ce5d8b
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/input.json
@@ -0,0 +1,5 @@
+{
+  "animal_string_Array" : [
+      "dog"
+  ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/test.fix
new file mode 100644
index 00000000..3e201958
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/test.fix
@@ -0,0 +1 @@
+copy_field("animal_string_Array[]", "test[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStrings/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStrings/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfStringsWithSingleValue/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStrings/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithMultipleValues/expected.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStrings/expected.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithMultipleValues/expected.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStrings/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithMultipleValues/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStrings/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithMultipleValues/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStrings/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithMultipleValues/test.fix
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStrings/test.fix
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithMultipleValues/test.fix
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithMultipleValues/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithMultipleValues/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/expected.json
new file mode 100644
index 00000000..57f76f39
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/expected.json
@@ -0,0 +1,3 @@
+{
+  "test" : [ "dog" ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/input.json
new file mode 100644
index 00000000..ae64645d
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/input.json
@@ -0,0 +1,3 @@
+{
+  "animal_string_Array" : [ "dog" ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/test.fix
new file mode 100644
index 00000000..ba14a716
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/test.fix
@@ -0,0 +1 @@
+move_field("animal_string_Array[]", "test[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/move_fieldArrayOfStringsWithSingleValue/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/test.fix
deleted file mode 100644
index 3a0df820..00000000
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/test.fix
+++ /dev/null
@@ -1,5 +0,0 @@
-set_array("animals[].*.test[]", "test")
-
-set_array("animals_2[].$last.test_2[]", "test", "test")
-
-set_array("animals_2[].$append.test_3[]", "test", "test", "test")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/expected.json
new file mode 100644
index 00000000..1a843afd
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/expected.json
@@ -0,0 +1,18 @@
+{
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ],
+  "animals_2" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  }, {
+    "test" : [ "test", "test", "test" ]
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/test.fix
new file mode 100644
index 00000000..93e0a331
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/test.fix
@@ -0,0 +1 @@
+set_array("animals_2[].$append.test[]", "test", "test", "test")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimple/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimple/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/test.flux
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/todo.txt
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/todo.txt
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAppend/todo.txt
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/expected.json
similarity index 71%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/expected.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/expected.json
index 07924ad9..890ea883 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArray/expected.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/expected.json
@@ -13,9 +13,6 @@
     "type" : "dog"
   }, {
     "name" : "Blacky",
-    "type" : "bird",
-    "test_2" : [ "test", "test" ]
-  }, {
-    "test_3" : [ "test", "test", "test" ]
+    "type" : "bird"
   } ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/input.json
new file mode 100644
index 00000000..f4640bcd
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/input.json
@@ -0,0 +1,16 @@
+{
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ],
+  "animals_2" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/test.fix
new file mode 100644
index 00000000..db69c8ad
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/test.fix
@@ -0,0 +1 @@
+set_array("animals[].*.test[]", "test")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/todo.txt
new file mode 100644
index 00000000..c8097c36
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithAsterisk/todo.txt
@@ -0,0 +1 @@
+See issue #113, #130 and #156
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/expected.json
new file mode 100644
index 00000000..e0fdca44
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/expected.json
@@ -0,0 +1,17 @@
+{
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ],
+  "animals_2" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird",
+    "test" : [ "test", "test" ]
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/input.json
new file mode 100644
index 00000000..f4640bcd
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/input.json
@@ -0,0 +1,16 @@
+{
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ],
+  "animals_2" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/test.fix
new file mode 100644
index 00000000..2a7556c6
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/test.fix
@@ -0,0 +1 @@
+set_array("animals_2[].$last.test[]", "test", "test")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/todo.txt
new file mode 100644
index 00000000..c8097c36
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayIntoArrayOfObjectsWithLast/todo.txt
@@ -0,0 +1 @@
+See issue #113, #130 and #156
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/expected.json
deleted file mode 100644
index cd28b4ed..00000000
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/expected.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "key" : "value",
-  "object" : {
-    "test" : [ ]
-  },
-  "object_2" : {
-    "test_2" : [ "dog", "cat", "bird" ]
-  }
-}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.fix
deleted file mode 100644
index ba13d01c..00000000
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/test.fix
+++ /dev/null
@@ -1,2 +0,0 @@
-set_array("object.test[]")
-set_array("object_2.test_2[]", "dog", "cat", "bird")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/expected.json
new file mode 100644
index 00000000..b2777ded
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/expected.json
@@ -0,0 +1,6 @@
+{
+  "key" : "value",
+  "object" : {
+    "test" : [ "dog", "cat", "bird" ]
+  }
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/test.fix
new file mode 100644
index 00000000..908eb3cc
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/test.fix
@@ -0,0 +1 @@
+set_array("object.test[]", "dog", "cat", "bird")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/todo.txt
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimple/todo.txt
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithMultipleValues/todo.txt
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/expected.json
new file mode 100644
index 00000000..84542e0e
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/expected.json
@@ -0,0 +1,6 @@
+{
+  "key" : "value",
+  "object" : {
+    "test" : [ "dog" ]
+  }
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimple/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimple/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/test.fix
new file mode 100644
index 00000000..50056eb6
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/test.fix
@@ -0,0 +1 @@
+set_array("object.test[]", "dog")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/todo.txt
new file mode 100644
index 00000000..2c638e8e
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithSingleValue/todo.txt
@@ -0,0 +1 @@
+See issue #130
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/expected.json
new file mode 100644
index 00000000..9c6e32f3
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/expected.json
@@ -0,0 +1,6 @@
+{
+  "key" : "value",
+  "object" : {
+    "test" : [ ]
+  }
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/input.json
new file mode 100644
index 00000000..2bb48220
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/input.json
@@ -0,0 +1,3 @@
+{
+  "key":"value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/test.fix
new file mode 100644
index 00000000..bef482f3
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/test.fix
@@ -0,0 +1 @@
+set_array("object.test[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/todo.txt
new file mode 100644
index 00000000..2c638e8e
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayNestedSimpleWithoutValues/todo.txt
@@ -0,0 +1 @@
+See issue #130
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimple/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimple/expected.json
deleted file mode 100644
index 04eed051..00000000
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimple/expected.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "key" : "value",
-  "test" : [ ],
-  "test_2" : [ "dog", "cat", "bird" ]
-}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimple/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimple/test.fix
deleted file mode 100644
index 8b1b2967..00000000
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimple/test.fix
+++ /dev/null
@@ -1,2 +0,0 @@
-set_array("test[]")
-set_array("test_2[]", "dog", "cat", "bird")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/expected.json
new file mode 100644
index 00000000..50f78853
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/expected.json
@@ -0,0 +1,4 @@
+{
+  "key" : "value",
+  "test" : [ "dog", "cat", "bird" ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/input.json
new file mode 100644
index 00000000..2bb48220
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/input.json
@@ -0,0 +1,3 @@
+{
+  "key":"value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/test.fix
new file mode 100644
index 00000000..3bbe705d
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/test.fix
@@ -0,0 +1 @@
+set_array("test[]", "dog", "cat", "bird")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithMultipleValues/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/expected.json
new file mode 100644
index 00000000..c0ad0983
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/expected.json
@@ -0,0 +1,4 @@
+{
+  "key" : "value",
+  "test" : [ "dog" ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/input.json
new file mode 100644
index 00000000..2bb48220
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/input.json
@@ -0,0 +1,3 @@
+{
+  "key":"value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/test.fix
new file mode 100644
index 00000000..ae3c2a8e
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/test.fix
@@ -0,0 +1 @@
+set_array("test[]", "dog")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithSingleValue/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/expected.json
new file mode 100644
index 00000000..e0b77059
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/expected.json
@@ -0,0 +1,4 @@
+{
+  "key" : "value",
+  "test" : [ ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/input.json
new file mode 100644
index 00000000..2bb48220
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/input.json
@@ -0,0 +1,3 @@
+{
+  "key":"value"
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/test.fix
new file mode 100644
index 00000000..9e4b09ee
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/test.fix
@@ -0,0 +1 @@
+set_array("test[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arraySimpleWithoutValues/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/expected.json
new file mode 100644
index 00000000..e7a26be7
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/expected.json
@@ -0,0 +1,18 @@
+{
+  "key" : "value",
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "dog",
+    "test" : [ "dog" ]
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ],
+  "animals_2" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/input.json
new file mode 100644
index 00000000..1e0cd707
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/input.json
@@ -0,0 +1,17 @@
+{
+  "key":"value",
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ],
+  "animals_2" : [ {
+    "name" : "Jake",
+    "type" : "dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.fix
new file mode 100644
index 00000000..d82575a5
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.fix
@@ -0,0 +1,2 @@
+set_array("test[]", "dog")
+move_field("test[]", "animals[].1.test[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/set_arrayWithSingleValueAndMove_fieldNewArrayOfStringsIntoArrayOfObjects/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;

From 9c13a747e99e18821c426a3c14ac82d6180ed328 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Mon, 7 Mar 2022 12:41:22 +0100
Subject: [PATCH 13/17] Fix typo in folder name #194

---
 .../expected.json                                                 | 0
 .../input.json                                                    | 0
 .../test.fix                                                      | 0
 .../test.flux                                                     | 0
 4 files changed, 0 insertions(+), 0 deletions(-)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/{listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field => listArrayOfObjectsWithVariableUnlessExistsWithOutsideReferenceAndCopy_field}/expected.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/{listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field => listArrayOfObjectsWithVariableUnlessExistsWithOutsideReferenceAndCopy_field}/input.json (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/{listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field => listArrayOfObjectsWithVariableUnlessExistsWithOutsideReferenceAndCopy_field}/test.fix (100%)
 rename metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/{listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field => listArrayOfObjectsWithVariableUnlessExistsWithOutsideReferenceAndCopy_field}/test.flux (100%)

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideReferenceAndCopy_field/expected.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/expected.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideReferenceAndCopy_field/expected.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideReferenceAndCopy_field/input.json
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/input.json
rename to metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideReferenceAndCopy_field/input.json
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideReferenceAndCopy_field/test.fix
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/test.fix
rename to metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideReferenceAndCopy_field/test.fix
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideReferenceAndCopy_field/test.flux
similarity index 100%
rename from metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideRefrenceAndCopy_field/test.flux
rename to metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsWithVariableUnlessExistsWithOutsideReferenceAndCopy_field/test.flux

From 8543a4a67eb66c34c36b90c38a019603009d309a Mon Sep 17 00:00:00 2001
From: Jens Wille <jens.wille@hbz-nrw.de>
Date: Tue, 8 Mar 2022 12:40:30 +0100
Subject: [PATCH 14/17] Upgrade xtext dependency to 2.26.0. (89f5657)

https://www.eclipse.org/Xtext/releasenotes.html#/releasenotes/2022/02/28/version-2-26-0
---
 build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.gradle b/build.gradle
index 03de26d8..1dcca1bc 100644
--- a/build.gradle
+++ b/build.gradle
@@ -40,7 +40,7 @@ subprojects {
       'mockito':        '2.27.0',
       'requirejs':      '2.3.6',
       'slf4j':          '1.7.21',
-      'xtext':          '2.26.0.M2',
+      'xtext':          '2.26.0',
       'guava':          '29.0-jre'
     ]
   }

From c4635c0bbfea4b20051ce97a4259a68e7a192c93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Tue, 8 Mar 2022 15:42:25 +0100
Subject: [PATCH 15/17] Add integration tests for #113

---
 .../expected.json                             | 24 ++++++++++++++
 .../input.json                                | 32 +++++++++++++++++++
 .../test.fix                                  |  3 ++
 .../test.flux                                 |  8 +++++
 .../expected.json                             | 24 ++++++++++++++
 .../input.json                                | 32 +++++++++++++++++++
 .../test.fix                                  |  5 +++
 .../test.flux                                 |  8 +++++
 .../todo.txt                                  |  1 +
 9 files changed, 137 insertions(+)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/todo.txt

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/expected.json
new file mode 100644
index 00000000..66f295c2
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/expected.json
@@ -0,0 +1,24 @@
+{
+  "author" : [ {
+    "name" : "RUVIVAL Team",
+    "type" : "Person"
+  }, {
+    "name" : "Samuel Duval",
+    "type" : "Person"
+  }, {
+    "name" : "Berenice Lopez Mendez",
+    "type" : "Person"
+  }, {
+    "name" : "Lukas Schreiner",
+    "type" : "Person"
+  }, {
+    "name" : "Isidora Vrbavac",
+    "type" : "Person"
+  } ]
+}
+{
+  "author" : [ {
+    "name" : "Jürgen Böhner",
+    "type" : "Person"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/input.json
new file mode 100644
index 00000000..56d28c3a
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/input.json
@@ -0,0 +1,32 @@
+{
+	"author": [
+		{
+			"name": "RUVIVAL Team",
+			"@type": "Person"
+		},
+		{
+			"name": "Samuel Duval",
+			"@type": "Person"
+		},
+		{
+			"name": "Berenice Lopez Mendez",
+			"@type": "Person"
+		},
+		{
+			"name": "Lukas Schreiner",
+			"@type": "Person"
+		},
+		{
+			"name": "Isidora Vrbavac",
+			"@type": "Person"
+		}
+	]
+}
+{
+  "author": [
+		{
+			"@type": "Person",
+			"name": "Jürgen Böhner"
+		}
+	]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/test.fix
new file mode 100644
index 00000000..43280fc0
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/test.fix
@@ -0,0 +1,3 @@
+do list(path:"author[]")
+  move_field("@type","type")
+end
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/expected.json
new file mode 100644
index 00000000..8c0f1340
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/expected.json
@@ -0,0 +1,24 @@
+{
+  "creator" : [ {
+    "name" : "RUVIVAL Team",
+    "type" : "Person"
+  }, {
+    "name" : "Samuel Duval",
+    "type" : "Person"
+  }, {
+    "name" : "Berenice Lopez Mendez",
+    "type" : "Person"
+  }, {
+    "name" : "Lukas Schreiner",
+    "type" : "Person"
+  }, {
+    "name" : "Isidora Vrbavac",
+    "type" : "Person"
+  } ]
+}
+{
+  "creator" : [ {
+    "name" : "Jürgen Böhner",
+    "type" : "Person"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/input.json
new file mode 100644
index 00000000..56d28c3a
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/input.json
@@ -0,0 +1,32 @@
+{
+	"author": [
+		{
+			"name": "RUVIVAL Team",
+			"@type": "Person"
+		},
+		{
+			"name": "Samuel Duval",
+			"@type": "Person"
+		},
+		{
+			"name": "Berenice Lopez Mendez",
+			"@type": "Person"
+		},
+		{
+			"name": "Lukas Schreiner",
+			"@type": "Person"
+		},
+		{
+			"name": "Isidora Vrbavac",
+			"@type": "Person"
+		}
+	]
+}
+{
+  "author": [
+		{
+			"@type": "Person",
+			"name": "Jürgen Böhner"
+		}
+	]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/test.fix
new file mode 100644
index 00000000..a81e3294
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/test.fix
@@ -0,0 +1,5 @@
+copy_field("author[]","creator[]")
+do list(path:"creator[]")
+  move_field("@type","type")
+end
+retain("creator[]")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/todo.txt
new file mode 100644
index 00000000..a5c105df
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/todo.txt
@@ -0,0 +1 @@
+See issue #113

From 6f9e23a2a7f86f704628a4e87238d32a68120e9a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Tue, 8 Mar 2022 15:58:23 +0100
Subject: [PATCH 16/17] Update integration test to conform to editorconfig

---
 .../input.json                                | 54 +++++++++----------
 .../input.json                                | 54 +++++++++----------
 2 files changed, 54 insertions(+), 54 deletions(-)

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/input.json
index 56d28c3a..847b571a 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/input.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/bind/fromJson/toJson/listArrayOfObjectsAndMoveSubfield/input.json
@@ -1,32 +1,32 @@
 {
-	"author": [
-		{
-			"name": "RUVIVAL Team",
-			"@type": "Person"
-		},
-		{
-			"name": "Samuel Duval",
-			"@type": "Person"
-		},
-		{
-			"name": "Berenice Lopez Mendez",
-			"@type": "Person"
-		},
-		{
-			"name": "Lukas Schreiner",
-			"@type": "Person"
-		},
-		{
-			"name": "Isidora Vrbavac",
-			"@type": "Person"
-		}
-	]
+  "author": [
+    {
+      "name": "RUVIVAL Team",
+      "@type": "Person"
+    },
+    {
+      "name": "Samuel Duval",
+      "@type": "Person"
+    },
+    {
+      "name": "Berenice Lopez Mendez",
+      "@type": "Person"
+    },
+    {
+      "name": "Lukas Schreiner",
+      "@type": "Person"
+    },
+    {
+      "name": "Isidora Vrbavac",
+      "@type": "Person"
+    }
+  ]
 }
 {
   "author": [
-		{
-			"@type": "Person",
-			"name": "Jürgen Böhner"
-		}
-	]
+    {
+      "@type": "Person",
+      "name": "Jürgen Böhner"
+    }
+  ]
 }
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/input.json
index 56d28c3a..847b571a 100644
--- a/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/input.json
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/record/fromJson/toJson/copy_fieldArrayOfObjectsAndListNewArrayOfObjectsAndMoveSubfield/input.json
@@ -1,32 +1,32 @@
 {
-	"author": [
-		{
-			"name": "RUVIVAL Team",
-			"@type": "Person"
-		},
-		{
-			"name": "Samuel Duval",
-			"@type": "Person"
-		},
-		{
-			"name": "Berenice Lopez Mendez",
-			"@type": "Person"
-		},
-		{
-			"name": "Lukas Schreiner",
-			"@type": "Person"
-		},
-		{
-			"name": "Isidora Vrbavac",
-			"@type": "Person"
-		}
-	]
+  "author": [
+    {
+      "name": "RUVIVAL Team",
+      "@type": "Person"
+    },
+    {
+      "name": "Samuel Duval",
+      "@type": "Person"
+    },
+    {
+      "name": "Berenice Lopez Mendez",
+      "@type": "Person"
+    },
+    {
+      "name": "Lukas Schreiner",
+      "@type": "Person"
+    },
+    {
+      "name": "Isidora Vrbavac",
+      "@type": "Person"
+    }
+  ]
 }
 {
   "author": [
-		{
-			"@type": "Person",
-			"name": "Jürgen Böhner"
-		}
-	]
+    {
+      "@type": "Person",
+      "name": "Jürgen Böhner"
+    }
+  ]
 }

From c2c094ab21486cd8e743a910307c13531a79f7f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20B=C3=BClte?= <tobias.buelte@hbz-nrw.de>
Date: Thu, 10 Mar 2022 08:45:37 +0100
Subject: [PATCH 17/17] Add additional append prepend test

---
 .../expected.json                             | 15 ++++++++++++++
 .../input.json                                | 15 ++++++++++++++
 .../test.fix                                  |  1 +
 .../test.flux                                 |  8 ++++++++
 .../expected.json                             | 15 ++++++++++++++
 .../input.json                                | 20 +++++++++++++++++++
 .../test.fix                                  |  1 +
 .../test.flux                                 |  8 ++++++++
 8 files changed, 83 insertions(+)
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/test.flux
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/expected.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/input.json
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/test.fix
 create mode 100644 metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/test.flux

diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/expected.json
new file mode 100644
index 00000000..9ba117c1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/expected.json
@@ -0,0 +1,15 @@
+{
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "dog is cool"
+  }, {
+    "name" : "Blacky",
+    "type" : "bird is cool"
+  } ]
+}
+{
+  "animals" : [ {
+    "name" : "Test",
+    "type" : "test is cool"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/input.json
new file mode 100644
index 00000000..0a5a29be
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/input.json
@@ -0,0 +1,15 @@
+{
+  "animals": [ {
+      "name": "Jake",
+      "type": "dog"
+  }, {
+    "name": "Blacky",
+    "type": "bird"
+  } ]
+}
+{
+  "animals": [ {
+    "name": "Test",
+    "type": "test"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/test.fix
new file mode 100644
index 00000000..437d32d1
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/test.fix
@@ -0,0 +1 @@
+append("animals[].*.type", " is cool")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/appendArrayOfObjectsWithAsteriskArrayWildcard/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/expected.json
new file mode 100644
index 00000000..5947823d
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/expected.json
@@ -0,0 +1,15 @@
+{
+  "animals" : [ {
+    "name" : "Jake",
+    "type" : "Big dog"
+  }, {
+    "name" : "Blacky",
+    "type" : "Big bird"
+  } ]
+}
+{
+  "animals" : [ {
+    "name" : "Test",
+    "type" : "Big test"
+  } ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/input.json b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/input.json
new file mode 100644
index 00000000..54d9218b
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/input.json
@@ -0,0 +1,20 @@
+{
+  "animals": [
+    {
+      "name": "Jake",
+      "type": "dog"
+    },
+    {
+      "name": "Blacky",
+      "type": "bird"
+    }
+  ]
+}
+{
+  "animals": [
+    {
+      "name": "Test",
+      "type": "test"
+    }
+  ]
+}
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/test.fix
new file mode 100644
index 00000000..0e5cdbcc
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/test.fix
@@ -0,0 +1 @@
+prepend("animals[].*.type", "Big ")
diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/test.flux
new file mode 100644
index 00000000..7c3575fa
--- /dev/null
+++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromJson/toJson/prependArrayOfObjectsWithAsteriskArrayWildcard/test.flux
@@ -0,0 +1,8 @@
+FLUX_DIR + "input.json"
+|open-file
+|as-records
+|decode-json
+|fix(FLUX_DIR + "test.fix")
+|encode-json(prettyPrinting="true")
+|write(FLUX_DIR + "output-metafix.json")
+;