 	}
 	
 	private func expectedJson(path: String, test: String) -> String {
-		return stringContent(of: test + ".feature.ast.ndjson", inDirectory: path)
+		return testFileContent(of: filePath(path, test + ".feature.ast.ndjson"))
 	}
 	
 	private func parseAndGetJson(path: String, test: String) -> String {

	
	private func gherkinFile(path: String, test: String) -> GherkinFile {
		
		let testFileContent = stringContent(of: test + ".feature", inDirectory: path)

		let lines = testFileContent.lines()

		return parser().pickle(lines: lines, fileUri: path + "/" + test + ".feature")
	}
	
	private func stringContent(of file: String, inDirectory directory: String) -> String {
		let testFile = directory + "/" + file
		
		let thisSourceFile = URL(fileURLWithPath: #file)
		let thisDirectory = thisSourceFile.deletingLastPathComponent()
		let directoryAbove = thisDirectory.deletingLastPathComponent()
		
		let testFileURL = directoryAbove.appendingPathComponent(testFile)
		let data = try! Data(contentsOf: testFileURL)
		
		return String(data: data, encoding: .utf8)!
	}
	
	private func parser() -> GherkinFeatureParser {

	func test_goodTestDataFiles() {

		let goodPath = "testdata/good"
		
		for test in goodTests {
			let expected = expectedJson(path: goodPath, test: test)
				.trim()
