diff --git a/.github/workflows/test-java.yaml b/.github/workflows/test-java.yaml
index 1b439e39..107b6eaa 100644
--- a/.github/workflows/test-java.yaml
+++ b/.github/workflows/test-java.yaml
@@ -43,3 +43,16 @@ jobs:
- run: mvn verify
working-directory: java
+ test-java-pittest:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+ with:
+ persist-credentials: false
+ - uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
+ with:
+ distribution: 'temurin'
+ java-version: '21'
+ cache: 'maven'
+ - run: mvn test-compile org.pitest:pitest-maven:mutationCoverage
+ working-directory: java
diff --git a/dotnet/Cucumber.QueryTest/QueryAcceptanceTest.cs b/dotnet/Cucumber.QueryTest/QueryAcceptanceTest.cs
index 537f6973..37c80949 100644
--- a/dotnet/Cucumber.QueryTest/QueryAcceptanceTest.cs
+++ b/dotnet/Cucumber.QueryTest/QueryAcceptanceTest.cs
@@ -12,13 +12,16 @@ public class QueryAcceptanceTest
{
private static readonly string[] _sources = new[]
{
+ "all-statuses.ndjson",
"attachments.ndjson",
+ "backgrounds.ndjson",
"empty.ndjson",
"examples-tables.ndjson",
"global-hooks-attachments.ndjson",
"global-hooks.ndjson",
"hooks.ndjson",
"minimal.ndjson",
+ "rules-backgrounds.ndjson",
"rules.ndjson",
"unknown-parameter-type.ndjson"
};
diff --git a/java/pom.xml b/java/pom.xml
index 17b359f3..92f1a932 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -118,6 +118,21 @@
+
+ org.pitest
+ pitest-maven
+ 1.25.9
+
+
+ org.pitest
+ pitest-junit5-plugin
+ 1.2.3
+
+
+
+ 85
+
+
org.jacoco
jacoco-maven-plugin
diff --git a/java/src/test/java/io/cucumber/query/test/QueryAcceptanceTest.java b/java/src/test/java/io/cucumber/query/test/QueryAcceptanceTest.java
index 63f3bef0..43bef99e 100644
--- a/java/src/test/java/io/cucumber/query/test/QueryAcceptanceTest.java
+++ b/java/src/test/java/io/cucumber/query/test/QueryAcceptanceTest.java
@@ -101,13 +101,16 @@ static List acceptance() {
private static List getSources() {
return Arrays.asList(
+ Paths.get("../testdata/src/all-statuses.ndjson"),
Paths.get("../testdata/src/attachments.ndjson"),
+ Paths.get("../testdata/src/backgrounds.ndjson"),
Paths.get("../testdata/src/empty.ndjson"),
Paths.get("../testdata/src/examples-tables.ndjson"),
Paths.get("../testdata/src/global-hooks-attachments.ndjson"),
Paths.get("../testdata/src/global-hooks.ndjson"),
Paths.get("../testdata/src/hooks.ndjson"),
Paths.get("../testdata/src/minimal.ndjson"),
+ Paths.get("../testdata/src/rules-backgrounds.ndjson"),
Paths.get("../testdata/src/rules.ndjson"),
Paths.get("../testdata/src/unknown-parameter-type.ndjson")
);
diff --git a/javascript/src/acceptance.spec.ts b/javascript/src/acceptance.spec.ts
index 801a4009..69177191 100644
--- a/javascript/src/acceptance.spec.ts
+++ b/javascript/src/acceptance.spec.ts
@@ -21,13 +21,16 @@ const reversePickleComparator = (a: Pickle, b: Pickle): number => {
describe('Acceptance Tests', async () => {
const sources = [
+ path.join(import.meta.dirname, '../../testdata/src/all-statuses.ndjson'),
path.join(import.meta.dirname, '../../testdata/src/attachments.ndjson'),
+ path.join(import.meta.dirname, '../../testdata/src/backgrounds.ndjson'),
path.join(import.meta.dirname, '../../testdata/src/empty.ndjson'),
path.join(import.meta.dirname, '../../testdata/src/examples-tables.ndjson'),
path.join(import.meta.dirname, '../../testdata/src/global-hooks-attachments.ndjson'),
path.join(import.meta.dirname, '../../testdata/src/global-hooks.ndjson'),
path.join(import.meta.dirname, '../../testdata/src/hooks.ndjson'),
path.join(import.meta.dirname, '../../testdata/src/minimal.ndjson'),
+ path.join(import.meta.dirname, '../../testdata/src/rules-backgrounds.ndjson'),
path.join(import.meta.dirname, '../../testdata/src/rules.ndjson'),
path.join(import.meta.dirname, '../../testdata/src/unknown-parameter-type.ndjson'),
]
diff --git a/ruby/spec/cucumber/query_spec.rb b/ruby/spec/cucumber/query_spec.rb
index a6bd144e..742c3a24 100644
--- a/ruby/spec/cucumber/query_spec.rb
+++ b/ruby/spec/cucumber/query_spec.rb
@@ -111,13 +111,16 @@ def parse_ndjson_file(path)
}
sources = %w[
+ all-statuses
attachments
+ backgrounds
empty
examples-tables
global-hooks
global-hooks-attachments
hooks
minimal
+ rules-backgrounds
rules
unknown-parameter-type
]
diff --git a/testdata/src/all-statuses.countMostSevereTestStepResultStatus.results.json b/testdata/src/all-statuses.countMostSevereTestStepResultStatus.results.json
new file mode 100644
index 00000000..c9654f86
--- /dev/null
+++ b/testdata/src/all-statuses.countMostSevereTestStepResultStatus.results.json
@@ -0,0 +1,9 @@
+{
+ "UNKNOWN" : 0,
+ "PASSED" : 1,
+ "SKIPPED" : 1,
+ "PENDING" : 1,
+ "UNDEFINED" : 1,
+ "AMBIGUOUS" : 1,
+ "FAILED" : 1
+}
diff --git a/testdata/src/all-statuses.countTestCasesStarted.results.json b/testdata/src/all-statuses.countTestCasesStarted.results.json
new file mode 100644
index 00000000..1e8b3149
--- /dev/null
+++ b/testdata/src/all-statuses.countTestCasesStarted.results.json
@@ -0,0 +1 @@
+6
diff --git a/testdata/src/all-statuses.findAllPickleSteps.results.json b/testdata/src/all-statuses.findAllPickleSteps.results.json
new file mode 100644
index 00000000..3c032078
--- /dev/null
+++ b/testdata/src/all-statuses.findAllPickleSteps.results.json
@@ -0,0 +1 @@
+18
diff --git a/testdata/src/all-statuses.findAllPickles.results.json b/testdata/src/all-statuses.findAllPickles.results.json
new file mode 100644
index 00000000..1e8b3149
--- /dev/null
+++ b/testdata/src/all-statuses.findAllPickles.results.json
@@ -0,0 +1 @@
+6
diff --git a/testdata/src/all-statuses.findAllStepDefinitions.results.json b/testdata/src/all-statuses.findAllStepDefinitions.results.json
new file mode 100644
index 00000000..1e8b3149
--- /dev/null
+++ b/testdata/src/all-statuses.findAllStepDefinitions.results.json
@@ -0,0 +1 @@
+6
diff --git a/testdata/src/all-statuses.findAllTestCaseFinished.results.json b/testdata/src/all-statuses.findAllTestCaseFinished.results.json
new file mode 100644
index 00000000..1e8b3149
--- /dev/null
+++ b/testdata/src/all-statuses.findAllTestCaseFinished.results.json
@@ -0,0 +1 @@
+6
diff --git a/testdata/src/all-statuses.findAllTestCaseFinishedOrderBy.results.json b/testdata/src/all-statuses.findAllTestCaseFinishedOrderBy.results.json
new file mode 100644
index 00000000..6f1baaa8
--- /dev/null
+++ b/testdata/src/all-statuses.findAllTestCaseFinishedOrderBy.results.json
@@ -0,0 +1,8 @@
+[
+ "85",
+ "83",
+ "82",
+ "81",
+ "80",
+ "79"
+]
diff --git a/testdata/src/all-statuses.findAllTestCaseStarted.results.json b/testdata/src/all-statuses.findAllTestCaseStarted.results.json
new file mode 100644
index 00000000..1e8b3149
--- /dev/null
+++ b/testdata/src/all-statuses.findAllTestCaseStarted.results.json
@@ -0,0 +1 @@
+6
diff --git a/testdata/src/all-statuses.findAllTestCaseStartedOrderBy.results.json b/testdata/src/all-statuses.findAllTestCaseStartedOrderBy.results.json
new file mode 100644
index 00000000..6f1baaa8
--- /dev/null
+++ b/testdata/src/all-statuses.findAllTestCaseStartedOrderBy.results.json
@@ -0,0 +1,8 @@
+[
+ "85",
+ "83",
+ "82",
+ "81",
+ "80",
+ "79"
+]
diff --git a/testdata/src/all-statuses.findAllTestCases.results.json b/testdata/src/all-statuses.findAllTestCases.results.json
new file mode 100644
index 00000000..1e8b3149
--- /dev/null
+++ b/testdata/src/all-statuses.findAllTestCases.results.json
@@ -0,0 +1 @@
+6
diff --git a/testdata/src/all-statuses.findAllTestRunHookFinished.results.json b/testdata/src/all-statuses.findAllTestRunHookFinished.results.json
new file mode 100644
index 00000000..573541ac
--- /dev/null
+++ b/testdata/src/all-statuses.findAllTestRunHookFinished.results.json
@@ -0,0 +1 @@
+0
diff --git a/testdata/src/all-statuses.findAllTestRunHookStarted.results.json b/testdata/src/all-statuses.findAllTestRunHookStarted.results.json
new file mode 100644
index 00000000..573541ac
--- /dev/null
+++ b/testdata/src/all-statuses.findAllTestRunHookStarted.results.json
@@ -0,0 +1 @@
+0
diff --git a/testdata/src/all-statuses.findAllTestStepFinished.results.json b/testdata/src/all-statuses.findAllTestStepFinished.results.json
new file mode 100644
index 00000000..3c032078
--- /dev/null
+++ b/testdata/src/all-statuses.findAllTestStepFinished.results.json
@@ -0,0 +1 @@
+18
diff --git a/testdata/src/all-statuses.findAllTestStepStarted.results.json b/testdata/src/all-statuses.findAllTestStepStarted.results.json
new file mode 100644
index 00000000..3c032078
--- /dev/null
+++ b/testdata/src/all-statuses.findAllTestStepStarted.results.json
@@ -0,0 +1 @@
+18
diff --git a/testdata/src/all-statuses.findAllTestSteps.results.json b/testdata/src/all-statuses.findAllTestSteps.results.json
new file mode 100644
index 00000000..3c032078
--- /dev/null
+++ b/testdata/src/all-statuses.findAllTestSteps.results.json
@@ -0,0 +1 @@
+18
diff --git a/testdata/src/all-statuses.findAllUndefinedParameterTypes.results.json b/testdata/src/all-statuses.findAllUndefinedParameterTypes.results.json
new file mode 100644
index 00000000..1e3ec721
--- /dev/null
+++ b/testdata/src/all-statuses.findAllUndefinedParameterTypes.results.json
@@ -0,0 +1 @@
+[ ]
diff --git a/testdata/src/all-statuses.findAttachmentsBy.results.json b/testdata/src/all-statuses.findAttachmentsBy.results.json
new file mode 100644
index 00000000..b4bf09ba
--- /dev/null
+++ b/testdata/src/all-statuses.findAttachmentsBy.results.json
@@ -0,0 +1,4 @@
+{
+ "testStepFinished" : [ ],
+ "testRunHookFinished" : [ ]
+}
diff --git a/testdata/src/all-statuses.findHookBy.results.json b/testdata/src/all-statuses.findHookBy.results.json
new file mode 100644
index 00000000..dc384a0e
--- /dev/null
+++ b/testdata/src/all-statuses.findHookBy.results.json
@@ -0,0 +1,5 @@
+{
+ "testStep" : [ ],
+ "testRunHookStarted" : [ ],
+ "testRunHookFinished" : [ ]
+}
diff --git a/testdata/src/all-statuses.findLineageBy.results.json b/testdata/src/all-statuses.findLineageBy.results.json
new file mode 100644
index 00000000..688b68a0
--- /dev/null
+++ b/testdata/src/all-statuses.findLineageBy.results.json
@@ -0,0 +1,26 @@
+{
+ "testCaseStarted" : [
+ "All statuses - Passing",
+ "All statuses - Failing",
+ "All statuses - Pending",
+ "All statuses - Skipped",
+ "All statuses - Undefined",
+ "All statuses - Ambiguous"
+ ],
+ "testCaseFinished" : [
+ "All statuses - Passing",
+ "All statuses - Failing",
+ "All statuses - Pending",
+ "All statuses - Skipped",
+ "All statuses - Undefined",
+ "All statuses - Ambiguous"
+ ],
+ "pickle" : [
+ "All statuses - Passing",
+ "All statuses - Failing",
+ "All statuses - Pending",
+ "All statuses - Skipped",
+ "All statuses - Undefined",
+ "All statuses - Ambiguous"
+ ]
+}
diff --git a/testdata/src/all-statuses.findLocationOf.results.json b/testdata/src/all-statuses.findLocationOf.results.json
new file mode 100644
index 00000000..288cba00
--- /dev/null
+++ b/testdata/src/all-statuses.findLocationOf.results.json
@@ -0,0 +1,26 @@
+[
+ {
+ "line" : 6,
+ "column" : 3
+ },
+ {
+ "line" : 11,
+ "column" : 3
+ },
+ {
+ "line" : 16,
+ "column" : 3
+ },
+ {
+ "line" : 21,
+ "column" : 3
+ },
+ {
+ "line" : 26,
+ "column" : 3
+ },
+ {
+ "line" : 31,
+ "column" : 3
+ }
+]
diff --git a/testdata/src/all-statuses.findMeta.results.json b/testdata/src/all-statuses.findMeta.results.json
new file mode 100644
index 00000000..8ae9caa9
--- /dev/null
+++ b/testdata/src/all-statuses.findMeta.results.json
@@ -0,0 +1 @@
+"fake-cucumber"
diff --git a/testdata/src/all-statuses.findMostSevereTestStepResultBy.results.json b/testdata/src/all-statuses.findMostSevereTestStepResultBy.results.json
new file mode 100644
index 00000000..36ce569c
--- /dev/null
+++ b/testdata/src/all-statuses.findMostSevereTestStepResultBy.results.json
@@ -0,0 +1,18 @@
+{
+ "testCaseStarted" : [
+ "PASSED",
+ "FAILED",
+ "PENDING",
+ "SKIPPED",
+ "UNDEFINED",
+ "AMBIGUOUS"
+ ],
+ "testCaseFinished" : [
+ "PASSED",
+ "FAILED",
+ "PENDING",
+ "SKIPPED",
+ "UNDEFINED",
+ "AMBIGUOUS"
+ ]
+}
diff --git a/testdata/src/all-statuses.findPickleBy.results.json b/testdata/src/all-statuses.findPickleBy.results.json
new file mode 100644
index 00000000..3037c7cc
--- /dev/null
+++ b/testdata/src/all-statuses.findPickleBy.results.json
@@ -0,0 +1,58 @@
+{
+ "testCaseStarted" : [
+ "Passing",
+ "Failing",
+ "Pending",
+ "Skipped",
+ "Undefined",
+ "Ambiguous"
+ ],
+ "testCaseFinished" : [
+ "Passing",
+ "Failing",
+ "Pending",
+ "Skipped",
+ "Undefined",
+ "Ambiguous"
+ ],
+ "testStepStarted" : [
+ "Passing",
+ "Passing",
+ "Passing",
+ "Failing",
+ "Failing",
+ "Failing",
+ "Pending",
+ "Pending",
+ "Pending",
+ "Skipped",
+ "Skipped",
+ "Skipped",
+ "Undefined",
+ "Undefined",
+ "Undefined",
+ "Ambiguous",
+ "Ambiguous",
+ "Ambiguous"
+ ],
+ "testStepFinished" : [
+ "Passing",
+ "Passing",
+ "Passing",
+ "Failing",
+ "Failing",
+ "Failing",
+ "Pending",
+ "Pending",
+ "Pending",
+ "Skipped",
+ "Skipped",
+ "Skipped",
+ "Undefined",
+ "Undefined",
+ "Undefined",
+ "Ambiguous",
+ "Ambiguous",
+ "Ambiguous"
+ ]
+}
diff --git a/testdata/src/all-statuses.findPickleStepBy.results.json b/testdata/src/all-statuses.findPickleStepBy.results.json
new file mode 100644
index 00000000..df8f5522
--- /dev/null
+++ b/testdata/src/all-statuses.findPickleStepBy.results.json
@@ -0,0 +1,20 @@
+[
+ "a step",
+ "a step",
+ "a step",
+ "a step",
+ "a failing step",
+ "a step",
+ "a step",
+ "a pending step",
+ "a step",
+ "a step",
+ "a skipped step",
+ "a step",
+ "a step",
+ "an undefined step",
+ "a step",
+ "a step",
+ "an ambiguous step",
+ "a step"
+]
diff --git a/testdata/src/all-statuses.findStepBy.results.json b/testdata/src/all-statuses.findStepBy.results.json
new file mode 100644
index 00000000..df8f5522
--- /dev/null
+++ b/testdata/src/all-statuses.findStepBy.results.json
@@ -0,0 +1,20 @@
+[
+ "a step",
+ "a step",
+ "a step",
+ "a step",
+ "a failing step",
+ "a step",
+ "a step",
+ "a pending step",
+ "a step",
+ "a step",
+ "a skipped step",
+ "a step",
+ "a step",
+ "an undefined step",
+ "a step",
+ "a step",
+ "an ambiguous step",
+ "a step"
+]
diff --git a/testdata/src/all-statuses.findStepDefinitionsBy.results.json b/testdata/src/all-statuses.findStepDefinitionsBy.results.json
new file mode 100644
index 00000000..a39748a1
--- /dev/null
+++ b/testdata/src/all-statuses.findStepDefinitionsBy.results.json
@@ -0,0 +1,55 @@
+[
+ [
+ "48"
+ ],
+ [
+ "48"
+ ],
+ [
+ "48"
+ ],
+ [
+ "48"
+ ],
+ [
+ "49"
+ ],
+ [
+ "48"
+ ],
+ [
+ "48"
+ ],
+ [
+ "50"
+ ],
+ [
+ "48"
+ ],
+ [
+ "48"
+ ],
+ [
+ "51"
+ ],
+ [
+ "48"
+ ],
+ [
+ "48"
+ ],
+ [ ],
+ [
+ "48"
+ ],
+ [
+ "48"
+ ],
+ [
+ "52",
+ "53"
+ ],
+ [
+ "48"
+ ]
+]
diff --git a/testdata/src/all-statuses.findSuggestionsBy.results.json b/testdata/src/all-statuses.findSuggestionsBy.results.json
new file mode 100644
index 00000000..3dc6deb9
--- /dev/null
+++ b/testdata/src/all-statuses.findSuggestionsBy.results.json
@@ -0,0 +1,8 @@
+{
+ "pickleStep" : [
+ "84"
+ ],
+ "pickle" : [
+ "84"
+ ]
+}
diff --git a/testdata/src/all-statuses.findTestCaseBy.results.json b/testdata/src/all-statuses.findTestCaseBy.results.json
new file mode 100644
index 00000000..5818a26f
--- /dev/null
+++ b/testdata/src/all-statuses.findTestCaseBy.results.json
@@ -0,0 +1,58 @@
+{
+ "testCaseStarted" : [
+ "55",
+ "59",
+ "63",
+ "67",
+ "71",
+ "75"
+ ],
+ "testCaseFinished" : [
+ "55",
+ "59",
+ "63",
+ "67",
+ "71",
+ "75"
+ ],
+ "testStepStarted" : [
+ "55",
+ "55",
+ "55",
+ "59",
+ "59",
+ "59",
+ "63",
+ "63",
+ "63",
+ "67",
+ "67",
+ "67",
+ "71",
+ "71",
+ "71",
+ "75",
+ "75",
+ "75"
+ ],
+ "testStepFinished" : [
+ "55",
+ "55",
+ "55",
+ "59",
+ "59",
+ "59",
+ "63",
+ "63",
+ "63",
+ "67",
+ "67",
+ "67",
+ "71",
+ "71",
+ "71",
+ "75",
+ "75",
+ "75"
+ ]
+}
diff --git a/testdata/src/all-statuses.findTestCaseDurationBy.results.json b/testdata/src/all-statuses.findTestCaseDurationBy.results.json
new file mode 100644
index 00000000..bac4c091
--- /dev/null
+++ b/testdata/src/all-statuses.findTestCaseDurationBy.results.json
@@ -0,0 +1,54 @@
+{
+ "testCaseStarted" : [
+ {
+ "seconds" : 0,
+ "nanos" : 7000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 7000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 7000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 7000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 7000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 7000000
+ }
+ ],
+ "testCaseFinished" : [
+ {
+ "seconds" : 0,
+ "nanos" : 7000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 7000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 7000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 7000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 7000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 7000000
+ }
+ ]
+}
diff --git a/testdata/src/all-statuses.findTestCaseFinishedBy.results.json b/testdata/src/all-statuses.findTestCaseFinishedBy.results.json
new file mode 100644
index 00000000..e46e0741
--- /dev/null
+++ b/testdata/src/all-statuses.findTestCaseFinishedBy.results.json
@@ -0,0 +1,8 @@
+[
+ "79",
+ "80",
+ "81",
+ "82",
+ "83",
+ "85"
+]
diff --git a/testdata/src/all-statuses.findTestCaseStartedBy.results.json b/testdata/src/all-statuses.findTestCaseStartedBy.results.json
new file mode 100644
index 00000000..932a4182
--- /dev/null
+++ b/testdata/src/all-statuses.findTestCaseStartedBy.results.json
@@ -0,0 +1,50 @@
+{
+ "testCaseFinished" : [
+ "79",
+ "80",
+ "81",
+ "82",
+ "83",
+ "85"
+ ],
+ "testStepStarted" : [
+ "79",
+ "79",
+ "79",
+ "80",
+ "80",
+ "80",
+ "81",
+ "81",
+ "81",
+ "82",
+ "82",
+ "82",
+ "83",
+ "83",
+ "83",
+ "85",
+ "85",
+ "85"
+ ],
+ "testStepFinished" : [
+ "79",
+ "79",
+ "79",
+ "80",
+ "80",
+ "80",
+ "81",
+ "81",
+ "81",
+ "82",
+ "82",
+ "82",
+ "83",
+ "83",
+ "83",
+ "85",
+ "85",
+ "85"
+ ]
+}
diff --git a/testdata/src/all-statuses.findTestRunDuration.results.json b/testdata/src/all-statuses.findTestRunDuration.results.json
new file mode 100644
index 00000000..667e5669
--- /dev/null
+++ b/testdata/src/all-statuses.findTestRunDuration.results.json
@@ -0,0 +1,4 @@
+{
+ "seconds" : 0,
+ "nanos" : 49000000
+}
diff --git a/testdata/src/all-statuses.findTestRunFinished.results.json b/testdata/src/all-statuses.findTestRunFinished.results.json
new file mode 100644
index 00000000..51063405
--- /dev/null
+++ b/testdata/src/all-statuses.findTestRunFinished.results.json
@@ -0,0 +1,8 @@
+{
+ "success" : false,
+ "timestamp" : {
+ "seconds" : 0,
+ "nanos" : 49000000
+ },
+ "testRunStartedId" : "54"
+}
diff --git a/testdata/src/all-statuses.findTestRunHookFinishedBy.results.json b/testdata/src/all-statuses.findTestRunHookFinishedBy.results.json
new file mode 100644
index 00000000..1e3ec721
--- /dev/null
+++ b/testdata/src/all-statuses.findTestRunHookFinishedBy.results.json
@@ -0,0 +1 @@
+[ ]
diff --git a/testdata/src/all-statuses.findTestRunHookStartedBy.results.json b/testdata/src/all-statuses.findTestRunHookStartedBy.results.json
new file mode 100644
index 00000000..1e3ec721
--- /dev/null
+++ b/testdata/src/all-statuses.findTestRunHookStartedBy.results.json
@@ -0,0 +1 @@
+[ ]
diff --git a/testdata/src/all-statuses.findTestRunStarted.results.json b/testdata/src/all-statuses.findTestRunStarted.results.json
new file mode 100644
index 00000000..ce6895f5
--- /dev/null
+++ b/testdata/src/all-statuses.findTestRunStarted.results.json
@@ -0,0 +1,7 @@
+{
+ "timestamp" : {
+ "seconds" : 0,
+ "nanos" : 0
+ },
+ "id" : "54"
+}
diff --git a/testdata/src/all-statuses.findTestStepBy.results.json b/testdata/src/all-statuses.findTestStepBy.results.json
new file mode 100644
index 00000000..39457b74
--- /dev/null
+++ b/testdata/src/all-statuses.findTestStepBy.results.json
@@ -0,0 +1,42 @@
+{
+ "testStepStarted" : [
+ "56",
+ "57",
+ "58",
+ "60",
+ "61",
+ "62",
+ "64",
+ "65",
+ "66",
+ "68",
+ "69",
+ "70",
+ "72",
+ "73",
+ "74",
+ "76",
+ "77",
+ "78"
+ ],
+ "testStepFinished" : [
+ "56",
+ "57",
+ "58",
+ "60",
+ "61",
+ "62",
+ "64",
+ "65",
+ "66",
+ "68",
+ "69",
+ "70",
+ "72",
+ "73",
+ "74",
+ "76",
+ "77",
+ "78"
+ ]
+}
diff --git a/testdata/src/all-statuses.findTestStepFinishedAndTestStepBy.results.json b/testdata/src/all-statuses.findTestStepFinishedAndTestStepBy.results.json
new file mode 100644
index 00000000..a3632073
--- /dev/null
+++ b/testdata/src/all-statuses.findTestStepFinishedAndTestStepBy.results.json
@@ -0,0 +1,74 @@
+[
+ [
+ "56",
+ "56"
+ ],
+ [
+ "57",
+ "57"
+ ],
+ [
+ "58",
+ "58"
+ ],
+ [
+ "60",
+ "60"
+ ],
+ [
+ "61",
+ "61"
+ ],
+ [
+ "62",
+ "62"
+ ],
+ [
+ "64",
+ "64"
+ ],
+ [
+ "65",
+ "65"
+ ],
+ [
+ "66",
+ "66"
+ ],
+ [
+ "68",
+ "68"
+ ],
+ [
+ "69",
+ "69"
+ ],
+ [
+ "70",
+ "70"
+ ],
+ [
+ "72",
+ "72"
+ ],
+ [
+ "73",
+ "73"
+ ],
+ [
+ "74",
+ "74"
+ ],
+ [
+ "76",
+ "76"
+ ],
+ [
+ "77",
+ "77"
+ ],
+ [
+ "78",
+ "78"
+ ]
+]
diff --git a/testdata/src/all-statuses.findTestStepsFinishedBy.results.json b/testdata/src/all-statuses.findTestStepsFinishedBy.results.json
new file mode 100644
index 00000000..929e3e4b
--- /dev/null
+++ b/testdata/src/all-statuses.findTestStepsFinishedBy.results.json
@@ -0,0 +1,66 @@
+{
+ "testCaseStarted" : [
+ [
+ "56",
+ "57",
+ "58"
+ ],
+ [
+ "60",
+ "61",
+ "62"
+ ],
+ [
+ "64",
+ "65",
+ "66"
+ ],
+ [
+ "68",
+ "69",
+ "70"
+ ],
+ [
+ "72",
+ "73",
+ "74"
+ ],
+ [
+ "76",
+ "77",
+ "78"
+ ]
+ ],
+ "testCaseFinished" : [
+ [
+ "56",
+ "57",
+ "58"
+ ],
+ [
+ "60",
+ "61",
+ "62"
+ ],
+ [
+ "64",
+ "65",
+ "66"
+ ],
+ [
+ "68",
+ "69",
+ "70"
+ ],
+ [
+ "72",
+ "73",
+ "74"
+ ],
+ [
+ "76",
+ "77",
+ "78"
+ ]
+ ]
+}
diff --git a/testdata/src/all-statuses.findTestStepsStartedBy.results.json b/testdata/src/all-statuses.findTestStepsStartedBy.results.json
new file mode 100644
index 00000000..929e3e4b
--- /dev/null
+++ b/testdata/src/all-statuses.findTestStepsStartedBy.results.json
@@ -0,0 +1,66 @@
+{
+ "testCaseStarted" : [
+ [
+ "56",
+ "57",
+ "58"
+ ],
+ [
+ "60",
+ "61",
+ "62"
+ ],
+ [
+ "64",
+ "65",
+ "66"
+ ],
+ [
+ "68",
+ "69",
+ "70"
+ ],
+ [
+ "72",
+ "73",
+ "74"
+ ],
+ [
+ "76",
+ "77",
+ "78"
+ ]
+ ],
+ "testCaseFinished" : [
+ [
+ "56",
+ "57",
+ "58"
+ ],
+ [
+ "60",
+ "61",
+ "62"
+ ],
+ [
+ "64",
+ "65",
+ "66"
+ ],
+ [
+ "68",
+ "69",
+ "70"
+ ],
+ [
+ "72",
+ "73",
+ "74"
+ ],
+ [
+ "76",
+ "77",
+ "78"
+ ]
+ ]
+}
diff --git a/testdata/src/all-statuses.findUnambiguousStepDefinitionBy.results.json b/testdata/src/all-statuses.findUnambiguousStepDefinitionBy.results.json
new file mode 100644
index 00000000..bc160290
--- /dev/null
+++ b/testdata/src/all-statuses.findUnambiguousStepDefinitionBy.results.json
@@ -0,0 +1,18 @@
+[
+ "48",
+ "48",
+ "48",
+ "48",
+ "49",
+ "48",
+ "48",
+ "50",
+ "48",
+ "48",
+ "51",
+ "48",
+ "48",
+ "48",
+ "48",
+ "48"
+]
diff --git a/testdata/src/backgrounds.countMostSevereTestStepResultStatus.results.json b/testdata/src/backgrounds.countMostSevereTestStepResultStatus.results.json
new file mode 100644
index 00000000..bf5a7fd6
--- /dev/null
+++ b/testdata/src/backgrounds.countMostSevereTestStepResultStatus.results.json
@@ -0,0 +1,9 @@
+{
+ "UNKNOWN" : 0,
+ "PASSED" : 2,
+ "SKIPPED" : 0,
+ "PENDING" : 0,
+ "UNDEFINED" : 0,
+ "AMBIGUOUS" : 0,
+ "FAILED" : 0
+}
diff --git a/testdata/src/backgrounds.countTestCasesStarted.results.json b/testdata/src/backgrounds.countTestCasesStarted.results.json
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/testdata/src/backgrounds.countTestCasesStarted.results.json
@@ -0,0 +1 @@
+2
diff --git a/testdata/src/backgrounds.findAllPickleSteps.results.json b/testdata/src/backgrounds.findAllPickleSteps.results.json
new file mode 100644
index 00000000..f599e28b
--- /dev/null
+++ b/testdata/src/backgrounds.findAllPickleSteps.results.json
@@ -0,0 +1 @@
+10
diff --git a/testdata/src/backgrounds.findAllPickles.results.json b/testdata/src/backgrounds.findAllPickles.results.json
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/testdata/src/backgrounds.findAllPickles.results.json
@@ -0,0 +1 @@
+2
diff --git a/testdata/src/backgrounds.findAllStepDefinitions.results.json b/testdata/src/backgrounds.findAllStepDefinitions.results.json
new file mode 100644
index 00000000..00750edc
--- /dev/null
+++ b/testdata/src/backgrounds.findAllStepDefinitions.results.json
@@ -0,0 +1 @@
+3
diff --git a/testdata/src/backgrounds.findAllTestCaseFinished.results.json b/testdata/src/backgrounds.findAllTestCaseFinished.results.json
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/testdata/src/backgrounds.findAllTestCaseFinished.results.json
@@ -0,0 +1 @@
+2
diff --git a/testdata/src/backgrounds.findAllTestCaseFinishedOrderBy.results.json b/testdata/src/backgrounds.findAllTestCaseFinishedOrderBy.results.json
new file mode 100644
index 00000000..7576cf43
--- /dev/null
+++ b/testdata/src/backgrounds.findAllTestCaseFinishedOrderBy.results.json
@@ -0,0 +1,4 @@
+[
+ "39",
+ "38"
+]
diff --git a/testdata/src/backgrounds.findAllTestCaseStarted.results.json b/testdata/src/backgrounds.findAllTestCaseStarted.results.json
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/testdata/src/backgrounds.findAllTestCaseStarted.results.json
@@ -0,0 +1 @@
+2
diff --git a/testdata/src/backgrounds.findAllTestCaseStartedOrderBy.results.json b/testdata/src/backgrounds.findAllTestCaseStartedOrderBy.results.json
new file mode 100644
index 00000000..7576cf43
--- /dev/null
+++ b/testdata/src/backgrounds.findAllTestCaseStartedOrderBy.results.json
@@ -0,0 +1,4 @@
+[
+ "39",
+ "38"
+]
diff --git a/testdata/src/backgrounds.findAllTestCases.results.json b/testdata/src/backgrounds.findAllTestCases.results.json
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/testdata/src/backgrounds.findAllTestCases.results.json
@@ -0,0 +1 @@
+2
diff --git a/testdata/src/backgrounds.findAllTestRunHookFinished.results.json b/testdata/src/backgrounds.findAllTestRunHookFinished.results.json
new file mode 100644
index 00000000..573541ac
--- /dev/null
+++ b/testdata/src/backgrounds.findAllTestRunHookFinished.results.json
@@ -0,0 +1 @@
+0
diff --git a/testdata/src/backgrounds.findAllTestRunHookStarted.results.json b/testdata/src/backgrounds.findAllTestRunHookStarted.results.json
new file mode 100644
index 00000000..573541ac
--- /dev/null
+++ b/testdata/src/backgrounds.findAllTestRunHookStarted.results.json
@@ -0,0 +1 @@
+0
diff --git a/testdata/src/backgrounds.findAllTestStepFinished.results.json b/testdata/src/backgrounds.findAllTestStepFinished.results.json
new file mode 100644
index 00000000..f599e28b
--- /dev/null
+++ b/testdata/src/backgrounds.findAllTestStepFinished.results.json
@@ -0,0 +1 @@
+10
diff --git a/testdata/src/backgrounds.findAllTestStepStarted.results.json b/testdata/src/backgrounds.findAllTestStepStarted.results.json
new file mode 100644
index 00000000..f599e28b
--- /dev/null
+++ b/testdata/src/backgrounds.findAllTestStepStarted.results.json
@@ -0,0 +1 @@
+10
diff --git a/testdata/src/backgrounds.findAllTestSteps.results.json b/testdata/src/backgrounds.findAllTestSteps.results.json
new file mode 100644
index 00000000..f599e28b
--- /dev/null
+++ b/testdata/src/backgrounds.findAllTestSteps.results.json
@@ -0,0 +1 @@
+10
diff --git a/testdata/src/backgrounds.findAllUndefinedParameterTypes.results.json b/testdata/src/backgrounds.findAllUndefinedParameterTypes.results.json
new file mode 100644
index 00000000..1e3ec721
--- /dev/null
+++ b/testdata/src/backgrounds.findAllUndefinedParameterTypes.results.json
@@ -0,0 +1 @@
+[ ]
diff --git a/testdata/src/backgrounds.findAttachmentsBy.results.json b/testdata/src/backgrounds.findAttachmentsBy.results.json
new file mode 100644
index 00000000..b4bf09ba
--- /dev/null
+++ b/testdata/src/backgrounds.findAttachmentsBy.results.json
@@ -0,0 +1,4 @@
+{
+ "testStepFinished" : [ ],
+ "testRunHookFinished" : [ ]
+}
diff --git a/testdata/src/backgrounds.findHookBy.results.json b/testdata/src/backgrounds.findHookBy.results.json
new file mode 100644
index 00000000..dc384a0e
--- /dev/null
+++ b/testdata/src/backgrounds.findHookBy.results.json
@@ -0,0 +1,5 @@
+{
+ "testStep" : [ ],
+ "testRunHookStarted" : [ ],
+ "testRunHookFinished" : [ ]
+}
diff --git a/testdata/src/backgrounds.findLineageBy.results.json b/testdata/src/backgrounds.findLineageBy.results.json
new file mode 100644
index 00000000..418f7425
--- /dev/null
+++ b/testdata/src/backgrounds.findLineageBy.results.json
@@ -0,0 +1,14 @@
+{
+ "testCaseStarted" : [
+ "Backgrounds - one scenario",
+ "Backgrounds - another scenario"
+ ],
+ "testCaseFinished" : [
+ "Backgrounds - one scenario",
+ "Backgrounds - another scenario"
+ ],
+ "pickle" : [
+ "Backgrounds - one scenario",
+ "Backgrounds - another scenario"
+ ]
+}
diff --git a/testdata/src/backgrounds.findLocationOf.results.json b/testdata/src/backgrounds.findLocationOf.results.json
new file mode 100644
index 00000000..4876c541
--- /dev/null
+++ b/testdata/src/backgrounds.findLocationOf.results.json
@@ -0,0 +1,10 @@
+[
+ {
+ "line" : 11,
+ "column" : 3
+ },
+ {
+ "line" : 15,
+ "column" : 3
+ }
+]
diff --git a/testdata/src/backgrounds.findMeta.results.json b/testdata/src/backgrounds.findMeta.results.json
new file mode 100644
index 00000000..8ae9caa9
--- /dev/null
+++ b/testdata/src/backgrounds.findMeta.results.json
@@ -0,0 +1 @@
+"fake-cucumber"
diff --git a/testdata/src/backgrounds.findMostSevereTestStepResultBy.results.json b/testdata/src/backgrounds.findMostSevereTestStepResultBy.results.json
new file mode 100644
index 00000000..0e4b69be
--- /dev/null
+++ b/testdata/src/backgrounds.findMostSevereTestStepResultBy.results.json
@@ -0,0 +1,10 @@
+{
+ "testCaseStarted" : [
+ "PASSED",
+ "PASSED"
+ ],
+ "testCaseFinished" : [
+ "PASSED",
+ "PASSED"
+ ]
+}
diff --git a/testdata/src/backgrounds.findPickleBy.results.json b/testdata/src/backgrounds.findPickleBy.results.json
new file mode 100644
index 00000000..5d220983
--- /dev/null
+++ b/testdata/src/backgrounds.findPickleBy.results.json
@@ -0,0 +1,34 @@
+{
+ "testCaseStarted" : [
+ "one scenario",
+ "another scenario"
+ ],
+ "testCaseFinished" : [
+ "one scenario",
+ "another scenario"
+ ],
+ "testStepStarted" : [
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario"
+ ],
+ "testStepFinished" : [
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario"
+ ]
+}
diff --git a/testdata/src/backgrounds.findPickleStepBy.results.json b/testdata/src/backgrounds.findPickleStepBy.results.json
new file mode 100644
index 00000000..ac2e78bf
--- /dev/null
+++ b/testdata/src/backgrounds.findPickleStepBy.results.json
@@ -0,0 +1,12 @@
+[
+ "an order for \"eggs\"",
+ "an order for \"milk\"",
+ "an order for \"bread\"",
+ "an action",
+ "an outcome",
+ "an order for \"eggs\"",
+ "an order for \"milk\"",
+ "an order for \"bread\"",
+ "an action",
+ "an outcome"
+]
diff --git a/testdata/src/backgrounds.findStepBy.results.json b/testdata/src/backgrounds.findStepBy.results.json
new file mode 100644
index 00000000..ac2e78bf
--- /dev/null
+++ b/testdata/src/backgrounds.findStepBy.results.json
@@ -0,0 +1,12 @@
+[
+ "an order for \"eggs\"",
+ "an order for \"milk\"",
+ "an order for \"bread\"",
+ "an action",
+ "an outcome",
+ "an order for \"eggs\"",
+ "an order for \"milk\"",
+ "an order for \"bread\"",
+ "an action",
+ "an outcome"
+]
diff --git a/testdata/src/backgrounds.findStepDefinitionsBy.results.json b/testdata/src/backgrounds.findStepDefinitionsBy.results.json
new file mode 100644
index 00000000..4f33a7f1
--- /dev/null
+++ b/testdata/src/backgrounds.findStepDefinitionsBy.results.json
@@ -0,0 +1,32 @@
+[
+ [
+ "22"
+ ],
+ [
+ "22"
+ ],
+ [
+ "22"
+ ],
+ [
+ "23"
+ ],
+ [
+ "24"
+ ],
+ [
+ "22"
+ ],
+ [
+ "22"
+ ],
+ [
+ "22"
+ ],
+ [
+ "23"
+ ],
+ [
+ "24"
+ ]
+]
diff --git a/testdata/src/backgrounds.findSuggestionsBy.results.json b/testdata/src/backgrounds.findSuggestionsBy.results.json
new file mode 100644
index 00000000..7c322d32
--- /dev/null
+++ b/testdata/src/backgrounds.findSuggestionsBy.results.json
@@ -0,0 +1,4 @@
+{
+ "pickleStep" : [ ],
+ "pickle" : [ ]
+}
diff --git a/testdata/src/backgrounds.findTestCaseBy.results.json b/testdata/src/backgrounds.findTestCaseBy.results.json
new file mode 100644
index 00000000..79f5a746
--- /dev/null
+++ b/testdata/src/backgrounds.findTestCaseBy.results.json
@@ -0,0 +1,34 @@
+{
+ "testCaseStarted" : [
+ "26",
+ "32"
+ ],
+ "testCaseFinished" : [
+ "26",
+ "32"
+ ],
+ "testStepStarted" : [
+ "26",
+ "26",
+ "26",
+ "26",
+ "26",
+ "32",
+ "32",
+ "32",
+ "32",
+ "32"
+ ],
+ "testStepFinished" : [
+ "26",
+ "26",
+ "26",
+ "26",
+ "26",
+ "32",
+ "32",
+ "32",
+ "32",
+ "32"
+ ]
+}
diff --git a/testdata/src/backgrounds.findTestCaseDurationBy.results.json b/testdata/src/backgrounds.findTestCaseDurationBy.results.json
new file mode 100644
index 00000000..2ff91f19
--- /dev/null
+++ b/testdata/src/backgrounds.findTestCaseDurationBy.results.json
@@ -0,0 +1,22 @@
+{
+ "testCaseStarted" : [
+ {
+ "seconds" : 0,
+ "nanos" : 11000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 11000000
+ }
+ ],
+ "testCaseFinished" : [
+ {
+ "seconds" : 0,
+ "nanos" : 11000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 11000000
+ }
+ ]
+}
diff --git a/testdata/src/backgrounds.findTestCaseFinishedBy.results.json b/testdata/src/backgrounds.findTestCaseFinishedBy.results.json
new file mode 100644
index 00000000..4d294324
--- /dev/null
+++ b/testdata/src/backgrounds.findTestCaseFinishedBy.results.json
@@ -0,0 +1,4 @@
+[
+ "38",
+ "39"
+]
diff --git a/testdata/src/backgrounds.findTestCaseStartedBy.results.json b/testdata/src/backgrounds.findTestCaseStartedBy.results.json
new file mode 100644
index 00000000..c0a3ec8e
--- /dev/null
+++ b/testdata/src/backgrounds.findTestCaseStartedBy.results.json
@@ -0,0 +1,30 @@
+{
+ "testCaseFinished" : [
+ "38",
+ "39"
+ ],
+ "testStepStarted" : [
+ "38",
+ "38",
+ "38",
+ "38",
+ "38",
+ "39",
+ "39",
+ "39",
+ "39",
+ "39"
+ ],
+ "testStepFinished" : [
+ "38",
+ "38",
+ "38",
+ "38",
+ "38",
+ "39",
+ "39",
+ "39",
+ "39",
+ "39"
+ ]
+}
diff --git a/testdata/src/backgrounds.findTestRunDuration.results.json b/testdata/src/backgrounds.findTestRunDuration.results.json
new file mode 100644
index 00000000..d87b0e32
--- /dev/null
+++ b/testdata/src/backgrounds.findTestRunDuration.results.json
@@ -0,0 +1,4 @@
+{
+ "seconds" : 0,
+ "nanos" : 25000000
+}
diff --git a/testdata/src/backgrounds.findTestRunFinished.results.json b/testdata/src/backgrounds.findTestRunFinished.results.json
new file mode 100644
index 00000000..b1ca509f
--- /dev/null
+++ b/testdata/src/backgrounds.findTestRunFinished.results.json
@@ -0,0 +1,8 @@
+{
+ "success" : true,
+ "timestamp" : {
+ "seconds" : 0,
+ "nanos" : 25000000
+ },
+ "testRunStartedId" : "25"
+}
diff --git a/testdata/src/backgrounds.findTestRunHookFinishedBy.results.json b/testdata/src/backgrounds.findTestRunHookFinishedBy.results.json
new file mode 100644
index 00000000..1e3ec721
--- /dev/null
+++ b/testdata/src/backgrounds.findTestRunHookFinishedBy.results.json
@@ -0,0 +1 @@
+[ ]
diff --git a/testdata/src/backgrounds.findTestRunHookStartedBy.results.json b/testdata/src/backgrounds.findTestRunHookStartedBy.results.json
new file mode 100644
index 00000000..1e3ec721
--- /dev/null
+++ b/testdata/src/backgrounds.findTestRunHookStartedBy.results.json
@@ -0,0 +1 @@
+[ ]
diff --git a/testdata/src/backgrounds.findTestRunStarted.results.json b/testdata/src/backgrounds.findTestRunStarted.results.json
new file mode 100644
index 00000000..6359b6f8
--- /dev/null
+++ b/testdata/src/backgrounds.findTestRunStarted.results.json
@@ -0,0 +1,7 @@
+{
+ "timestamp" : {
+ "seconds" : 0,
+ "nanos" : 0
+ },
+ "id" : "25"
+}
diff --git a/testdata/src/backgrounds.findTestStepBy.results.json b/testdata/src/backgrounds.findTestStepBy.results.json
new file mode 100644
index 00000000..b176a498
--- /dev/null
+++ b/testdata/src/backgrounds.findTestStepBy.results.json
@@ -0,0 +1,26 @@
+{
+ "testStepStarted" : [
+ "27",
+ "28",
+ "29",
+ "30",
+ "31",
+ "33",
+ "34",
+ "35",
+ "36",
+ "37"
+ ],
+ "testStepFinished" : [
+ "27",
+ "28",
+ "29",
+ "30",
+ "31",
+ "33",
+ "34",
+ "35",
+ "36",
+ "37"
+ ]
+}
diff --git a/testdata/src/backgrounds.findTestStepFinishedAndTestStepBy.results.json b/testdata/src/backgrounds.findTestStepFinishedAndTestStepBy.results.json
new file mode 100644
index 00000000..733639bf
--- /dev/null
+++ b/testdata/src/backgrounds.findTestStepFinishedAndTestStepBy.results.json
@@ -0,0 +1,42 @@
+[
+ [
+ "27",
+ "27"
+ ],
+ [
+ "28",
+ "28"
+ ],
+ [
+ "29",
+ "29"
+ ],
+ [
+ "30",
+ "30"
+ ],
+ [
+ "31",
+ "31"
+ ],
+ [
+ "33",
+ "33"
+ ],
+ [
+ "34",
+ "34"
+ ],
+ [
+ "35",
+ "35"
+ ],
+ [
+ "36",
+ "36"
+ ],
+ [
+ "37",
+ "37"
+ ]
+]
diff --git a/testdata/src/backgrounds.findTestStepsFinishedBy.results.json b/testdata/src/backgrounds.findTestStepsFinishedBy.results.json
new file mode 100644
index 00000000..06d1f87f
--- /dev/null
+++ b/testdata/src/backgrounds.findTestStepsFinishedBy.results.json
@@ -0,0 +1,34 @@
+{
+ "testCaseStarted" : [
+ [
+ "27",
+ "28",
+ "29",
+ "30",
+ "31"
+ ],
+ [
+ "33",
+ "34",
+ "35",
+ "36",
+ "37"
+ ]
+ ],
+ "testCaseFinished" : [
+ [
+ "27",
+ "28",
+ "29",
+ "30",
+ "31"
+ ],
+ [
+ "33",
+ "34",
+ "35",
+ "36",
+ "37"
+ ]
+ ]
+}
diff --git a/testdata/src/backgrounds.findTestStepsStartedBy.results.json b/testdata/src/backgrounds.findTestStepsStartedBy.results.json
new file mode 100644
index 00000000..06d1f87f
--- /dev/null
+++ b/testdata/src/backgrounds.findTestStepsStartedBy.results.json
@@ -0,0 +1,34 @@
+{
+ "testCaseStarted" : [
+ [
+ "27",
+ "28",
+ "29",
+ "30",
+ "31"
+ ],
+ [
+ "33",
+ "34",
+ "35",
+ "36",
+ "37"
+ ]
+ ],
+ "testCaseFinished" : [
+ [
+ "27",
+ "28",
+ "29",
+ "30",
+ "31"
+ ],
+ [
+ "33",
+ "34",
+ "35",
+ "36",
+ "37"
+ ]
+ ]
+}
diff --git a/testdata/src/backgrounds.findUnambiguousStepDefinitionBy.results.json b/testdata/src/backgrounds.findUnambiguousStepDefinitionBy.results.json
new file mode 100644
index 00000000..1a9efcc1
--- /dev/null
+++ b/testdata/src/backgrounds.findUnambiguousStepDefinitionBy.results.json
@@ -0,0 +1,12 @@
+[
+ "22",
+ "22",
+ "22",
+ "23",
+ "24",
+ "22",
+ "22",
+ "22",
+ "23",
+ "24"
+]
diff --git a/testdata/src/rules-backgrounds.countMostSevereTestStepResultStatus.results.json b/testdata/src/rules-backgrounds.countMostSevereTestStepResultStatus.results.json
new file mode 100644
index 00000000..bf5a7fd6
--- /dev/null
+++ b/testdata/src/rules-backgrounds.countMostSevereTestStepResultStatus.results.json
@@ -0,0 +1,9 @@
+{
+ "UNKNOWN" : 0,
+ "PASSED" : 2,
+ "SKIPPED" : 0,
+ "PENDING" : 0,
+ "UNDEFINED" : 0,
+ "AMBIGUOUS" : 0,
+ "FAILED" : 0
+}
diff --git a/testdata/src/rules-backgrounds.countTestCasesStarted.results.json b/testdata/src/rules-backgrounds.countTestCasesStarted.results.json
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/testdata/src/rules-backgrounds.countTestCasesStarted.results.json
@@ -0,0 +1 @@
+2
diff --git a/testdata/src/rules-backgrounds.findAllPickleSteps.results.json b/testdata/src/rules-backgrounds.findAllPickleSteps.results.json
new file mode 100644
index 00000000..8351c193
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllPickleSteps.results.json
@@ -0,0 +1 @@
+14
diff --git a/testdata/src/rules-backgrounds.findAllPickles.results.json b/testdata/src/rules-backgrounds.findAllPickles.results.json
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllPickles.results.json
@@ -0,0 +1 @@
+2
diff --git a/testdata/src/rules-backgrounds.findAllStepDefinitions.results.json b/testdata/src/rules-backgrounds.findAllStepDefinitions.results.json
new file mode 100644
index 00000000..00750edc
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllStepDefinitions.results.json
@@ -0,0 +1 @@
+3
diff --git a/testdata/src/rules-backgrounds.findAllTestCaseFinished.results.json b/testdata/src/rules-backgrounds.findAllTestCaseFinished.results.json
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllTestCaseFinished.results.json
@@ -0,0 +1 @@
+2
diff --git a/testdata/src/rules-backgrounds.findAllTestCaseFinishedOrderBy.results.json b/testdata/src/rules-backgrounds.findAllTestCaseFinishedOrderBy.results.json
new file mode 100644
index 00000000..b5faa0e3
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllTestCaseFinishedOrderBy.results.json
@@ -0,0 +1,4 @@
+[
+ "51",
+ "50"
+]
diff --git a/testdata/src/rules-backgrounds.findAllTestCaseStarted.results.json b/testdata/src/rules-backgrounds.findAllTestCaseStarted.results.json
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllTestCaseStarted.results.json
@@ -0,0 +1 @@
+2
diff --git a/testdata/src/rules-backgrounds.findAllTestCaseStartedOrderBy.results.json b/testdata/src/rules-backgrounds.findAllTestCaseStartedOrderBy.results.json
new file mode 100644
index 00000000..b5faa0e3
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllTestCaseStartedOrderBy.results.json
@@ -0,0 +1,4 @@
+[
+ "51",
+ "50"
+]
diff --git a/testdata/src/rules-backgrounds.findAllTestCases.results.json b/testdata/src/rules-backgrounds.findAllTestCases.results.json
new file mode 100644
index 00000000..0cfbf088
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllTestCases.results.json
@@ -0,0 +1 @@
+2
diff --git a/testdata/src/rules-backgrounds.findAllTestRunHookFinished.results.json b/testdata/src/rules-backgrounds.findAllTestRunHookFinished.results.json
new file mode 100644
index 00000000..573541ac
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllTestRunHookFinished.results.json
@@ -0,0 +1 @@
+0
diff --git a/testdata/src/rules-backgrounds.findAllTestRunHookStarted.results.json b/testdata/src/rules-backgrounds.findAllTestRunHookStarted.results.json
new file mode 100644
index 00000000..573541ac
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllTestRunHookStarted.results.json
@@ -0,0 +1 @@
+0
diff --git a/testdata/src/rules-backgrounds.findAllTestStepFinished.results.json b/testdata/src/rules-backgrounds.findAllTestStepFinished.results.json
new file mode 100644
index 00000000..8351c193
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllTestStepFinished.results.json
@@ -0,0 +1 @@
+14
diff --git a/testdata/src/rules-backgrounds.findAllTestStepStarted.results.json b/testdata/src/rules-backgrounds.findAllTestStepStarted.results.json
new file mode 100644
index 00000000..8351c193
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllTestStepStarted.results.json
@@ -0,0 +1 @@
+14
diff --git a/testdata/src/rules-backgrounds.findAllTestSteps.results.json b/testdata/src/rules-backgrounds.findAllTestSteps.results.json
new file mode 100644
index 00000000..8351c193
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllTestSteps.results.json
@@ -0,0 +1 @@
+14
diff --git a/testdata/src/rules-backgrounds.findAllUndefinedParameterTypes.results.json b/testdata/src/rules-backgrounds.findAllUndefinedParameterTypes.results.json
new file mode 100644
index 00000000..1e3ec721
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAllUndefinedParameterTypes.results.json
@@ -0,0 +1 @@
+[ ]
diff --git a/testdata/src/rules-backgrounds.findAttachmentsBy.results.json b/testdata/src/rules-backgrounds.findAttachmentsBy.results.json
new file mode 100644
index 00000000..b4bf09ba
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findAttachmentsBy.results.json
@@ -0,0 +1,4 @@
+{
+ "testStepFinished" : [ ],
+ "testRunHookFinished" : [ ]
+}
diff --git a/testdata/src/rules-backgrounds.findHookBy.results.json b/testdata/src/rules-backgrounds.findHookBy.results.json
new file mode 100644
index 00000000..dc384a0e
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findHookBy.results.json
@@ -0,0 +1,5 @@
+{
+ "testStep" : [ ],
+ "testRunHookStarted" : [ ],
+ "testRunHookFinished" : [ ]
+}
diff --git a/testdata/src/rules-backgrounds.findLineageBy.results.json b/testdata/src/rules-backgrounds.findLineageBy.results.json
new file mode 100644
index 00000000..fb89cfc4
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findLineageBy.results.json
@@ -0,0 +1,14 @@
+{
+ "testCaseStarted" : [
+ "Rules with Backgrounds - one scenario",
+ "Rules with Backgrounds - another scenario"
+ ],
+ "testCaseFinished" : [
+ "Rules with Backgrounds - one scenario",
+ "Rules with Backgrounds - another scenario"
+ ],
+ "pickle" : [
+ "Rules with Backgrounds - one scenario",
+ "Rules with Backgrounds - another scenario"
+ ]
+}
diff --git a/testdata/src/rules-backgrounds.findLocationOf.results.json b/testdata/src/rules-backgrounds.findLocationOf.results.json
new file mode 100644
index 00000000..6620b8e9
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findLocationOf.results.json
@@ -0,0 +1,10 @@
+[
+ {
+ "line" : 17,
+ "column" : 5
+ },
+ {
+ "line" : 21,
+ "column" : 5
+ }
+]
diff --git a/testdata/src/rules-backgrounds.findMeta.results.json b/testdata/src/rules-backgrounds.findMeta.results.json
new file mode 100644
index 00000000..8ae9caa9
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findMeta.results.json
@@ -0,0 +1 @@
+"fake-cucumber"
diff --git a/testdata/src/rules-backgrounds.findMostSevereTestStepResultBy.results.json b/testdata/src/rules-backgrounds.findMostSevereTestStepResultBy.results.json
new file mode 100644
index 00000000..0e4b69be
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findMostSevereTestStepResultBy.results.json
@@ -0,0 +1,10 @@
+{
+ "testCaseStarted" : [
+ "PASSED",
+ "PASSED"
+ ],
+ "testCaseFinished" : [
+ "PASSED",
+ "PASSED"
+ ]
+}
diff --git a/testdata/src/rules-backgrounds.findPickleBy.results.json b/testdata/src/rules-backgrounds.findPickleBy.results.json
new file mode 100644
index 00000000..0bf55457
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findPickleBy.results.json
@@ -0,0 +1,42 @@
+{
+ "testCaseStarted" : [
+ "one scenario",
+ "another scenario"
+ ],
+ "testCaseFinished" : [
+ "one scenario",
+ "another scenario"
+ ],
+ "testStepStarted" : [
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario"
+ ],
+ "testStepFinished" : [
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "one scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario",
+ "another scenario"
+ ]
+}
diff --git a/testdata/src/rules-backgrounds.findPickleStepBy.results.json b/testdata/src/rules-backgrounds.findPickleStepBy.results.json
new file mode 100644
index 00000000..9e6bbf6c
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findPickleStepBy.results.json
@@ -0,0 +1,16 @@
+[
+ "an order for \"eggs\"",
+ "an order for \"milk\"",
+ "an order for \"bread\"",
+ "an order for \"batteries\"",
+ "an order for \"light bulbs\"",
+ "an action",
+ "an outcome",
+ "an order for \"eggs\"",
+ "an order for \"milk\"",
+ "an order for \"bread\"",
+ "an order for \"batteries\"",
+ "an order for \"light bulbs\"",
+ "an action",
+ "an outcome"
+]
diff --git a/testdata/src/rules-backgrounds.findStepBy.results.json b/testdata/src/rules-backgrounds.findStepBy.results.json
new file mode 100644
index 00000000..9e6bbf6c
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findStepBy.results.json
@@ -0,0 +1,16 @@
+[
+ "an order for \"eggs\"",
+ "an order for \"milk\"",
+ "an order for \"bread\"",
+ "an order for \"batteries\"",
+ "an order for \"light bulbs\"",
+ "an action",
+ "an outcome",
+ "an order for \"eggs\"",
+ "an order for \"milk\"",
+ "an order for \"bread\"",
+ "an order for \"batteries\"",
+ "an order for \"light bulbs\"",
+ "an action",
+ "an outcome"
+]
diff --git a/testdata/src/rules-backgrounds.findStepDefinitionsBy.results.json b/testdata/src/rules-backgrounds.findStepDefinitionsBy.results.json
new file mode 100644
index 00000000..9c1a7936
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findStepDefinitionsBy.results.json
@@ -0,0 +1,44 @@
+[
+ [
+ "30"
+ ],
+ [
+ "30"
+ ],
+ [
+ "30"
+ ],
+ [
+ "30"
+ ],
+ [
+ "30"
+ ],
+ [
+ "31"
+ ],
+ [
+ "32"
+ ],
+ [
+ "30"
+ ],
+ [
+ "30"
+ ],
+ [
+ "30"
+ ],
+ [
+ "30"
+ ],
+ [
+ "30"
+ ],
+ [
+ "31"
+ ],
+ [
+ "32"
+ ]
+]
diff --git a/testdata/src/rules-backgrounds.findSuggestionsBy.results.json b/testdata/src/rules-backgrounds.findSuggestionsBy.results.json
new file mode 100644
index 00000000..7c322d32
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findSuggestionsBy.results.json
@@ -0,0 +1,4 @@
+{
+ "pickleStep" : [ ],
+ "pickle" : [ ]
+}
diff --git a/testdata/src/rules-backgrounds.findTestCaseBy.results.json b/testdata/src/rules-backgrounds.findTestCaseBy.results.json
new file mode 100644
index 00000000..b56e0973
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestCaseBy.results.json
@@ -0,0 +1,42 @@
+{
+ "testCaseStarted" : [
+ "34",
+ "42"
+ ],
+ "testCaseFinished" : [
+ "34",
+ "42"
+ ],
+ "testStepStarted" : [
+ "34",
+ "34",
+ "34",
+ "34",
+ "34",
+ "34",
+ "34",
+ "42",
+ "42",
+ "42",
+ "42",
+ "42",
+ "42",
+ "42"
+ ],
+ "testStepFinished" : [
+ "34",
+ "34",
+ "34",
+ "34",
+ "34",
+ "34",
+ "34",
+ "42",
+ "42",
+ "42",
+ "42",
+ "42",
+ "42",
+ "42"
+ ]
+}
diff --git a/testdata/src/rules-backgrounds.findTestCaseDurationBy.results.json b/testdata/src/rules-backgrounds.findTestCaseDurationBy.results.json
new file mode 100644
index 00000000..068107b4
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestCaseDurationBy.results.json
@@ -0,0 +1,22 @@
+{
+ "testCaseStarted" : [
+ {
+ "seconds" : 0,
+ "nanos" : 15000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 15000000
+ }
+ ],
+ "testCaseFinished" : [
+ {
+ "seconds" : 0,
+ "nanos" : 15000000
+ },
+ {
+ "seconds" : 0,
+ "nanos" : 15000000
+ }
+ ]
+}
diff --git a/testdata/src/rules-backgrounds.findTestCaseFinishedBy.results.json b/testdata/src/rules-backgrounds.findTestCaseFinishedBy.results.json
new file mode 100644
index 00000000..967ddadc
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestCaseFinishedBy.results.json
@@ -0,0 +1,4 @@
+[
+ "50",
+ "51"
+]
diff --git a/testdata/src/rules-backgrounds.findTestCaseStartedBy.results.json b/testdata/src/rules-backgrounds.findTestCaseStartedBy.results.json
new file mode 100644
index 00000000..a109f2b6
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestCaseStartedBy.results.json
@@ -0,0 +1,38 @@
+{
+ "testCaseFinished" : [
+ "50",
+ "51"
+ ],
+ "testStepStarted" : [
+ "50",
+ "50",
+ "50",
+ "50",
+ "50",
+ "50",
+ "50",
+ "51",
+ "51",
+ "51",
+ "51",
+ "51",
+ "51",
+ "51"
+ ],
+ "testStepFinished" : [
+ "50",
+ "50",
+ "50",
+ "50",
+ "50",
+ "50",
+ "50",
+ "51",
+ "51",
+ "51",
+ "51",
+ "51",
+ "51",
+ "51"
+ ]
+}
diff --git a/testdata/src/rules-backgrounds.findTestRunDuration.results.json b/testdata/src/rules-backgrounds.findTestRunDuration.results.json
new file mode 100644
index 00000000..45948ed3
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestRunDuration.results.json
@@ -0,0 +1,4 @@
+{
+ "seconds" : 0,
+ "nanos" : 33000000
+}
diff --git a/testdata/src/rules-backgrounds.findTestRunFinished.results.json b/testdata/src/rules-backgrounds.findTestRunFinished.results.json
new file mode 100644
index 00000000..bf02863c
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestRunFinished.results.json
@@ -0,0 +1,8 @@
+{
+ "success" : true,
+ "timestamp" : {
+ "seconds" : 0,
+ "nanos" : 33000000
+ },
+ "testRunStartedId" : "33"
+}
diff --git a/testdata/src/rules-backgrounds.findTestRunHookFinishedBy.results.json b/testdata/src/rules-backgrounds.findTestRunHookFinishedBy.results.json
new file mode 100644
index 00000000..1e3ec721
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestRunHookFinishedBy.results.json
@@ -0,0 +1 @@
+[ ]
diff --git a/testdata/src/rules-backgrounds.findTestRunHookStartedBy.results.json b/testdata/src/rules-backgrounds.findTestRunHookStartedBy.results.json
new file mode 100644
index 00000000..1e3ec721
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestRunHookStartedBy.results.json
@@ -0,0 +1 @@
+[ ]
diff --git a/testdata/src/rules-backgrounds.findTestRunStarted.results.json b/testdata/src/rules-backgrounds.findTestRunStarted.results.json
new file mode 100644
index 00000000..deaf4799
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestRunStarted.results.json
@@ -0,0 +1,7 @@
+{
+ "timestamp" : {
+ "seconds" : 0,
+ "nanos" : 0
+ },
+ "id" : "33"
+}
diff --git a/testdata/src/rules-backgrounds.findTestStepBy.results.json b/testdata/src/rules-backgrounds.findTestStepBy.results.json
new file mode 100644
index 00000000..a4a17a78
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestStepBy.results.json
@@ -0,0 +1,34 @@
+{
+ "testStepStarted" : [
+ "35",
+ "36",
+ "37",
+ "38",
+ "39",
+ "40",
+ "41",
+ "43",
+ "44",
+ "45",
+ "46",
+ "47",
+ "48",
+ "49"
+ ],
+ "testStepFinished" : [
+ "35",
+ "36",
+ "37",
+ "38",
+ "39",
+ "40",
+ "41",
+ "43",
+ "44",
+ "45",
+ "46",
+ "47",
+ "48",
+ "49"
+ ]
+}
diff --git a/testdata/src/rules-backgrounds.findTestStepFinishedAndTestStepBy.results.json b/testdata/src/rules-backgrounds.findTestStepFinishedAndTestStepBy.results.json
new file mode 100644
index 00000000..4b8c9ed9
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestStepFinishedAndTestStepBy.results.json
@@ -0,0 +1,58 @@
+[
+ [
+ "35",
+ "35"
+ ],
+ [
+ "36",
+ "36"
+ ],
+ [
+ "37",
+ "37"
+ ],
+ [
+ "38",
+ "38"
+ ],
+ [
+ "39",
+ "39"
+ ],
+ [
+ "40",
+ "40"
+ ],
+ [
+ "41",
+ "41"
+ ],
+ [
+ "43",
+ "43"
+ ],
+ [
+ "44",
+ "44"
+ ],
+ [
+ "45",
+ "45"
+ ],
+ [
+ "46",
+ "46"
+ ],
+ [
+ "47",
+ "47"
+ ],
+ [
+ "48",
+ "48"
+ ],
+ [
+ "49",
+ "49"
+ ]
+]
diff --git a/testdata/src/rules-backgrounds.findTestStepsFinishedBy.results.json b/testdata/src/rules-backgrounds.findTestStepsFinishedBy.results.json
new file mode 100644
index 00000000..d3a890db
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestStepsFinishedBy.results.json
@@ -0,0 +1,42 @@
+{
+ "testCaseStarted" : [
+ [
+ "35",
+ "36",
+ "37",
+ "38",
+ "39",
+ "40",
+ "41"
+ ],
+ [
+ "43",
+ "44",
+ "45",
+ "46",
+ "47",
+ "48",
+ "49"
+ ]
+ ],
+ "testCaseFinished" : [
+ [
+ "35",
+ "36",
+ "37",
+ "38",
+ "39",
+ "40",
+ "41"
+ ],
+ [
+ "43",
+ "44",
+ "45",
+ "46",
+ "47",
+ "48",
+ "49"
+ ]
+ ]
+}
diff --git a/testdata/src/rules-backgrounds.findTestStepsStartedBy.results.json b/testdata/src/rules-backgrounds.findTestStepsStartedBy.results.json
new file mode 100644
index 00000000..d3a890db
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findTestStepsStartedBy.results.json
@@ -0,0 +1,42 @@
+{
+ "testCaseStarted" : [
+ [
+ "35",
+ "36",
+ "37",
+ "38",
+ "39",
+ "40",
+ "41"
+ ],
+ [
+ "43",
+ "44",
+ "45",
+ "46",
+ "47",
+ "48",
+ "49"
+ ]
+ ],
+ "testCaseFinished" : [
+ [
+ "35",
+ "36",
+ "37",
+ "38",
+ "39",
+ "40",
+ "41"
+ ],
+ [
+ "43",
+ "44",
+ "45",
+ "46",
+ "47",
+ "48",
+ "49"
+ ]
+ ]
+}
diff --git a/testdata/src/rules-backgrounds.findUnambiguousStepDefinitionBy.results.json b/testdata/src/rules-backgrounds.findUnambiguousStepDefinitionBy.results.json
new file mode 100644
index 00000000..22d1e492
--- /dev/null
+++ b/testdata/src/rules-backgrounds.findUnambiguousStepDefinitionBy.results.json
@@ -0,0 +1,16 @@
+[
+ "30",
+ "30",
+ "30",
+ "30",
+ "30",
+ "31",
+ "32",
+ "30",
+ "30",
+ "30",
+ "30",
+ "30",
+ "31",
+ "32"
+]