Skip to content
This repository has been archived by the owner on Jan 27, 2025. It is now read-only.

Commit

Permalink
Add unit tests for replace_all with array wildcards. (#135)
Browse files Browse the repository at this point in the history
  • Loading branch information
blackwinter committed Feb 8, 2022
1 parent c77e062 commit 839bd27
Showing 1 changed file with 104 additions and 0 deletions.
104 changes: 104 additions & 0 deletions metafix/src/test/java/org/metafacture/metafix/MetafixMethodTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -1258,6 +1258,110 @@ public void shouldReplaceAllRegexesInNestedArray() {
);
}

@Test
public void shouldReplaceAllRegexesInArrayByIndex() {
MetafixTestHelpers.assertFix(streamReceiver, Arrays.asList(
"replace_all('names.2', 'a', 'X')"
),
i -> {
i.startRecord("1");
i.literal("names", "Max");
i.literal("names", "Jake");
i.endRecord();
},
(o, f) -> {
o.get().startRecord("1");
o.get().literal("names", "Max");
o.get().literal("names", "JXke");
o.get().endRecord();
}
);
}

@Test
@Disabled("See https://github.com/metafacture/metafacture-fix/issues/135")
public void shouldReplaceAllRegexesInArrayByArrayWildcard() {
MetafixTestHelpers.assertFix(streamReceiver, Arrays.asList(
"replace_all('names.$last', 'a', 'X')"
),
i -> {
i.startRecord("1");
i.literal("names", "Max");
i.literal("names", "Jake");
i.endRecord();
},
(o, f) -> {
o.get().startRecord("1");
o.get().literal("names", "Max");
o.get().literal("names", "JXke");
o.get().endRecord();
}
);
}

@Test
public void shouldReplaceAllRegexesInArraySubFieldByIndex() {
MetafixTestHelpers.assertFix(streamReceiver, Arrays.asList(
"replace_all('names[].2.name', 'a', 'X')"
),
i -> {
i.startRecord("1");
i.startEntity("names[]");
i.startEntity("1");
i.literal("name", "Max");
i.endEntity();
i.startEntity("2");
i.literal("name", "Jake");
i.endEntity();
i.endEntity();
i.endRecord();
},
(o, f) -> {
o.get().startRecord("1");
o.get().startEntity("names[]");
o.get().startEntity("1");
o.get().literal("name", "Max");
o.get().endEntity();
o.get().startEntity("2");
o.get().literal("name", "JXke");
f.apply(2).endEntity();
o.get().endRecord();
}
);
}

@Test
@Disabled("See https://github.com/metafacture/metafacture-fix/issues/135")
public void shouldReplaceAllRegexesInArraySubFieldByArrayWildcard() {
MetafixTestHelpers.assertFix(streamReceiver, Arrays.asList(
"replace_all('names[].$last.name', 'a', 'X')"
),
i -> {
i.startRecord("1");
i.startEntity("names[]");
i.startEntity("1");
i.literal("name", "Max");
i.endEntity();
i.startEntity("2");
i.literal("name", "Jake");
i.endEntity();
i.endEntity();
i.endRecord();
},
(o, f) -> {
o.get().startRecord("1");
o.get().startEntity("names[]");
o.get().startEntity("1");
o.get().literal("name", "Max");
o.get().endEntity();
o.get().startEntity("2");
o.get().literal("name", "JXke");
f.apply(2).endEntity();
o.get().endRecord();
}
);
}

@Test
public void shouldReverseString() {
MetafixTestHelpers.assertFix(streamReceiver, Arrays.asList(
Expand Down

0 comments on commit 839bd27

Please sign in to comment.