You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by sl...@apache.org on 2019/03/15 16:20:31 UTC
[incubator-daffodil] branch master updated: Changes to support
building in IntelliJ
This is an automated email from the ASF dual-hosted git repository.
slawrence pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-daffodil.git
The following commit(s) were added to refs/heads/master by this push:
new 9db5146 Changes to support building in IntelliJ
9db5146 is described below
commit 9db5146504d8195f7503cf4fca066b9a7083d6d1
Author: Steve Lawrence <sl...@apache.org>
AuthorDate: Tue Mar 12 17:34:02 2019 -0400
Changes to support building in IntelliJ
- IntelliJ gets confused by our custom scala-debug configuration. Since
scala-debug isn't all that useful and causes confusions, just remove
it altogether and move all scala-debug tests to the scala tests
directory but commented out.
- Fix bug where trying to get the classpath. This doesn't work on
IntelliJ, so just return an empy classpath.
- Rename dpaext1.tdml since the name was the same as in another jar,
which cause IntelliJ to pick up the wrong tdml file.
DAFFODIL-2093
---
.travis.yml | 2 +-
build.sbt | 51 +-
daffodil-core/src/test/scala-debug/.keep | 0
.../src/test/scala-debug/org/apache/daffodil/.keep | 0
.../org/apache/daffodil/api/TestForMemLeak.scala | 51 -
.../apache/daffodil/dsom/TestDsomCompiler2.scala | 396 ----
.../apache/daffodil/dsom/TestDsomCompilerNew.scala | 1686 ----------------
.../infoset/TestInfosetDefaultingInUnparser.scala | 97 -
.../apache/daffodil/dsom/TestDsomCompiler.scala | 2010 ++++++++++++++++++++
.../main/scala/org/apache/daffodil/util/Misc.scala | 9 +-
daffodil-lib/src/test/scala-debug/.keep | 0
.../org/apache/daffodil/api/TestForMemLeak.scala | 60 -
.../src/test/scala-debug/.keep | 0
daffodil-runtime1/src/test/scala-debug/.keep | 0
.../{dpaext1.tdml => dpaext1-2.tdml} | 0
daffodil-tdml-lib/src/test/scala-debug/.keep | 0
.../org/apache/daffodil/tdml/TestTDMLRunner3.scala | 59 -
.../apache/daffodil/tdml/UnitTestTDMLRunner.scala | 2 +-
.../org/apache/daffodil/tdml/TestTDMLRunner4.scala | 38 -
.../org/apache/daffodil/tdml/TestTDMLRunner.scala | 25 +
.../src/main/scala-debug/org/apache/daffodil/.keep | 0
.../src/test/scala-debug/org/apache/daffodil/.keep | 0
.../org/apache/daffodil/IBMTests2.scala | 44 -
.../org/apache/daffodil/TresysTests.scala | 40 -
.../org/apache/daffodil/TresysTests2.scala | 81 -
.../test/scala/org/apache/daffodil/IBMTests.scala | 12 +
.../scala/org/apache/daffodil/TresysTests.scala | 63 +-
.../general/TestUnparserGeneralDebug.scala | 43 -
.../processing_errors/TestProcessingErrors.scala | 48 -
.../validation_errors/TestValidationErrDebug.scala | 32 -
.../simple_types/TestSimpleTypesDebug.scala | 105 -
.../simple_types/TestSimpleTypesUnparseDebug.scala | 40 -
.../section06/entities/TestEntitiesDebug.scala | 57 -
.../section06/namespaces/TestNamespacesDebug.scala | 55 -
.../section07/assertions/TestAssertionsDebug.scala | 51 -
.../defineFormat/defineFormatTestsDebug.scala | 44 -
.../discriminators/TestDiscriminators3.scala | 40 -
.../escapeScheme/TestEscapeSchemeDebug.scala | 53 -
.../section07/variables/TestVariablesDebug.scala | 46 -
.../TestPropertyScopingDebug.scala | 52 -
.../TestContentFramingPropertiesDebug.scala | 53 -
.../aligned_data/TestAlignedDataDebug.scala | 41 -
.../TestDelimiterPropertiesUnparseDebug.scala | 50 -
.../lengthKind/TestLengthKindDelimitedDebug.scala | 48 -
.../lengthKind/TestLengthKindExplicitDebug.scala | 39 -
.../lengthKind/TestLengthKindPatternDebug.scala | 39 -
.../TestLengthPropertiesDebug.scala | 51 -
.../TestTextNumberPropsDebug.scala | 52 -
.../occursCountKind/TestOCKImplicitDebug.scala | 37 -
.../sequence_groups/TestSequenceGroupsDebug.scala | 47 -
.../TestUnorderedSequences.scala | 57 -
.../section15/choice_groups/TestChoiceDebug.scala | 41 -
.../TestArrayOptionalElemDebug.scala | 46 -
.../TestUnparseArrayOptionalElemDebug.scala | 45 -
.../TestInputValueCalcDebug.scala | 56 -
.../TestOutputValueCalcDebug.scala | 37 -
.../TestDFDLExpressionsDebug.scala | 155 --
.../TestRegularExpressionsDebug.scala | 44 -
.../org/apache/daffodil/usertests/TestLeaks.scala | 54 -
.../usertests/TestUserSubmittedTestsDebug.scala | 68 -
.../section05/simple_types/TestSimpleTypes.scala | 8 +
.../section05/simple_types/TestSimpleTypes2.scala | 7 +
.../section06/namespaces/TestNamespaces.scala | 1 +
.../section07/assertions/TestAssertions.scala | 3 +
.../section07/escapeScheme/TestEscapeScheme.scala | 4 +
.../TestDelimiterPropertiesUnparse.scala | 2 +-
.../lengthKind/TestLengthKindPattern.scala | 2 +
.../TestUnorderedSequencesNew.scala | 20 +
.../section15/choice_groups/TestChoice.scala | 2 +
.../calc_value_properties/TestInputValueCalc.scala | 10 +
.../dfdl_expressions/TestDFDLExpressions.scala | 14 +-
.../TestRegularExpressions.scala | 1 +
.../usertests/TestUserSubmittedTestsNew.scala | 28 -
73 files changed, 2195 insertions(+), 4359 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 4a0a01e..9b4abc3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -30,7 +30,7 @@ dist: trusty
before_script:
- unset _JAVA_OPTIONS
script:
- - sbt -J-Xms1g -J-Xmx5g ++$TRAVIS_SCALA_VERSION compile test:compile it:compile debug:compile || travis_terminate 1
+ - sbt -J-Xms1g -J-Xmx5g ++$TRAVIS_SCALA_VERSION compile test:compile it:compile || travis_terminate 1
- sbt -J-Xms1g -J-Xmx5g ++$TRAVIS_SCALA_VERSION coverage test
- sbt -J-Xms1g -J-Xmx5g ++$TRAVIS_SCALA_VERSION coverage it:test
- sbt -J-Xms1g -J-Xmx5g ++$TRAVIS_SCALA_VERSION daffodil-cli/universal:packageBin
diff --git a/build.sbt b/build.sbt
index aa58dc2..fabe48f 100644
--- a/build.sbt
+++ b/build.sbt
@@ -19,63 +19,60 @@ lazy val genManaged = taskKey[Unit]("Generate managed sources and resources")
lazy val genProps = taskKey[Seq[File]]("Generate properties scala source")
lazy val genSchemas = taskKey[Seq[File]]("Generated DFDL schemas")
-lazy val TestDebug = config("debug") extend(Test)
-lazy val IntegrationTestDebug = config("debugIt") extend(Test)
-
-lazy val daffodil = Project("daffodil", file(".")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val daffodil = Project("daffodil", file(".")).configs(IntegrationTest)
.aggregate(macroLib, propgen, lib, io, runtime1, runtime1Unparser, core, japi, sapi, tdmlLib, tdmlProc, cli, test, testIBM1, tutorials, testStdLayout)
.settings(commonSettings, nopublish, ratSettings)
-lazy val macroLib = Project("daffodil-macro-lib", file("daffodil-macro-lib")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val macroLib = Project("daffodil-macro-lib", file("daffodil-macro-lib")).configs(IntegrationTest)
.settings(commonSettings, nopublish)
.settings(libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value)
-lazy val propgen = Project("daffodil-propgen", file("daffodil-propgen")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val propgen = Project("daffodil-propgen", file("daffodil-propgen")).configs(IntegrationTest)
.settings(commonSettings, nopublish)
-lazy val lib = Project("daffodil-lib", file("daffodil-lib")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val lib = Project("daffodil-lib", file("daffodil-lib")).configs(IntegrationTest)
.dependsOn(macroLib % "compile-internal, test-internal")
.settings(commonSettings, libManagedSettings, usesMacros)
-lazy val io = Project("daffodil-io", file("daffodil-io")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val io = Project("daffodil-io", file("daffodil-io")).configs(IntegrationTest)
.dependsOn(lib, macroLib % "compile-internal, test-internal")
.settings(commonSettings, usesMacros)
-lazy val runtime1 = Project("daffodil-runtime1", file("daffodil-runtime1")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val runtime1 = Project("daffodil-runtime1", file("daffodil-runtime1")).configs(IntegrationTest)
.dependsOn(io, lib % "test->test")
.settings(commonSettings)
-lazy val runtime1Unparser = Project("daffodil-runtime1-unparser", file("daffodil-runtime1-unparser")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val runtime1Unparser = Project("daffodil-runtime1-unparser", file("daffodil-runtime1-unparser")).configs(IntegrationTest)
.dependsOn(runtime1, lib % "test->test", runtime1 % "test->test")
.settings(commonSettings)
-lazy val core = Project("daffodil-core", file("daffodil-core")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val core = Project("daffodil-core", file("daffodil-core")).configs(IntegrationTest)
.dependsOn(runtime1Unparser, lib % "test->test", runtime1 % "test->test")
.settings(commonSettings)
-lazy val japi = Project("daffodil-japi", file("daffodil-japi")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val japi = Project("daffodil-japi", file("daffodil-japi")).configs(IntegrationTest)
.dependsOn(core)
.settings(commonSettings)
-lazy val sapi = Project("daffodil-sapi", file("daffodil-sapi")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val sapi = Project("daffodil-sapi", file("daffodil-sapi")).configs(IntegrationTest)
.dependsOn(core)
.settings(commonSettings)
-lazy val tdmlLib = Project("daffodil-tdml-lib", file("daffodil-tdml-lib")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val tdmlLib = Project("daffodil-tdml-lib", file("daffodil-tdml-lib")).configs(IntegrationTest)
.dependsOn(macroLib % "compile-internal", lib, io, io % "test->test")
.settings(commonSettings)
-lazy val tdmlProc = Project("daffodil-tdml-processor", file("daffodil-tdml-processor")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val tdmlProc = Project("daffodil-tdml-processor", file("daffodil-tdml-processor")).configs(IntegrationTest)
.dependsOn(tdmlLib, core)
.settings(commonSettings)
-lazy val cli = Project("daffodil-cli", file("daffodil-cli")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val cli = Project("daffodil-cli", file("daffodil-cli")).configs(IntegrationTest)
.dependsOn(tdmlProc, sapi, japi) // causes sapi/japi to be pulled in to the helper zip/tar
.settings(commonSettings, nopublish)
.settings(libraryDependencies ++= Dependencies.cli)
-lazy val test = Project("daffodil-test", file("daffodil-test")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val test = Project("daffodil-test", file("daffodil-test")).configs(IntegrationTest)
.dependsOn(tdmlProc)
.settings(commonSettings, nopublish)
//
@@ -85,7 +82,7 @@ lazy val test = Project("daffodil-test", file("daffodil-test")).conf
//.settings(IBMDFDLCrossTesterPlugin.settings)
-lazy val testIBM1 = Project("daffodil-test-ibm1", file("daffodil-test-ibm1")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val testIBM1 = Project("daffodil-test-ibm1", file("daffodil-test-ibm1")).configs(IntegrationTest)
.dependsOn(tdmlProc)
.settings(commonSettings, nopublish)
//
@@ -94,11 +91,11 @@ lazy val testIBM1 = Project("daffodil-test-ibm1", file("daffodil-test-ib
//
//.settings(IBMDFDLCrossTesterPlugin.settings)
-lazy val tutorials = Project("daffodil-tutorials", file("tutorials")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val tutorials = Project("daffodil-tutorials", file("tutorials")).configs(IntegrationTest)
.dependsOn(tdmlProc)
.settings(commonSettings, nopublish)
-lazy val testStdLayout = Project("daffodil-test-stdLayout", file("test-stdLayout")).configs(IntegrationTest, TestDebug, IntegrationTestDebug)
+lazy val testStdLayout = Project("daffodil-test-stdLayout", file("test-stdLayout")).configs(IntegrationTest)
.dependsOn(tdmlProc)
.settings(commonSettings, nopublish)
@@ -139,19 +136,7 @@ lazy val commonSettings = Seq(
resourceManaged := baseDirectory.value / "resource_managed",
libraryDependencies ++= Dependencies.common,
parallelExecution in IntegrationTest := false
-) ++ Defaults.itSettings ++ debugTestSettings ++ debugIntegrationTestSettings
-
-lazy val debugTestSettings = inConfig(TestDebug)(Defaults.testSettings ++ Seq(
- sourceDirectory := baseDirectory.value / "src" / "test",
- scalaSource := sourceDirectory.value / "scala-debug",
- exportJars := false,
-))
-
-lazy val debugIntegrationTestSettings = inConfig(IntegrationTestDebug)(Defaults.itSettings ++ Seq(
- sourceDirectory := baseDirectory.value / "src" / "it",
- scalaSource := sourceDirectory.value / "scala-debug",
- exportJars := false,
-))
+) ++ Defaults.itSettings
lazy val nopublish = Seq(
publish := {},
diff --git a/daffodil-core/src/test/scala-debug/.keep b/daffodil-core/src/test/scala-debug/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/daffodil-core/src/test/scala-debug/org/apache/daffodil/.keep b/daffodil-core/src/test/scala-debug/org/apache/daffodil/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/daffodil-core/src/test/scala-debug/org/apache/daffodil/api/TestForMemLeak.scala b/daffodil-core/src/test/scala-debug/org/apache/daffodil/api/TestForMemLeak.scala
deleted file mode 100644
index 747d7d8..0000000
--- a/daffodil-core/src/test/scala-debug/org/apache/daffodil/api/TestForMemLeak.scala
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.api
-import scala.xml._
-import org.junit.Test
-import org.apache.daffodil.Implicits._; object INoWarnAPI1 { ImplicitsSuppressUnusedImportWarning() }
-import org.apache.daffodil.util.SchemaUtils
-import org.apache.daffodil.util.TestUtils
-
-class TestForMemLeak {
-
- @Test def testParseSimpleLeakChecking() {
- val sch = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="e1" type="xs:string" dfdl:lengthKind="explicit" dfdl:length="{ 4 }"/>)
- val (_, actual) = TestUtils.testString(sch, "5678")
- val expected: Node = <e1>5678</e1>
- TestUtils.assertEqualsXMLElements(expected, actual)
- }
-
- @Test def testLeak() {
- 1 to 100 foreach { _ =>
- // println("")
- 1 to 100 foreach { _ =>
- // print(".")
- 1 to 100 foreach { _ =>
- System.gc()
- Thread.sleep(100)
- testParseSimpleLeakChecking()
- }
- }
- }
- }
-
-}
diff --git a/daffodil-core/src/test/scala-debug/org/apache/daffodil/dsom/TestDsomCompiler2.scala b/daffodil-core/src/test/scala-debug/org/apache/daffodil/dsom/TestDsomCompiler2.scala
deleted file mode 100644
index 8aa8b0d..0000000
--- a/daffodil-core/src/test/scala-debug/org/apache/daffodil/dsom/TestDsomCompiler2.scala
+++ /dev/null
@@ -1,396 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.dsom
-
-import org.apache.daffodil.xml.XMLUtils
-import org.apache.daffodil.util._
-import org.apache.daffodil.Implicits._
-import org.junit.Test
-
-class TestDsomCompiler2 extends Logging {
-
- val xsd = XMLUtils.XSD_NAMESPACE
- val dfdl = XMLUtils.dfdlAppinfoSource
- val xsi = XMLUtils.XSI_NAMESPACE
- val example = XMLUtils.EXAMPLE_NAMESPACE
-
- val dummyGroupRef = null // just because otherwise we have to construct too many things.
-
- def FindValue(collection: Map[String, String], key: String, value: String): Boolean = {
- val found: Boolean = Option(collection.find(x => x._1 == key && x._2 == value)) match {
- case Some(_) => true
- case None => false
- }
- found
- }
-
- @Test def testInitiator() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="data" type="xs:string" dfdl:initiator="*" dfdl:lengthKind="explicit" dfdl:length="{ 4 }"/>)
- // val actual = TestUtils.testString(testSchema, "*word")
- // val actualString = actual.result.toString
- // assertTrue(actualString.startsWith("<data"))
- // assertTrue(actualString.endsWith(">word</data>"))
-
- val infoset = <data xmlns={ example }>word</data>
- TestUtils.testUnparsing(testSchema, infoset, "*word")
- }
-
- @Test def testTerminator() = {
- // LoggingDefaults.setLoggingLevel(LogLevel.Debug)
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="data" type="xs:string" dfdl:terminator="!" dfdl:lengthKind="explicit" dfdl:length="{ 2 }"/>)
- // val actual = TestUtils.testString(testSchema, "37!")
- // val actualString = actual.result.toString
- // assertTrue(actualString.startsWith("<data"))
- // assertTrue(actualString.endsWith(">37</data>"))
-
- val infoset = <data xmlns={ example }>37</data>
- TestUtils.testUnparsing(testSchema, infoset, "37!")
- }
-
- @Test def testDelims() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="data" type="xs:string" dfdl:initiator="*" dfdl:terminator="! $" dfdl:lengthKind="explicit" dfdl:length="{ 2 }"/>)
- // val actual = TestUtils.testString(testSchema, "*37$")
- // val actualString = actual.result.toString
- // assertTrue(actualString.startsWith("<data"))
- // assertTrue(actualString.endsWith(">37</data>"))
-
- val infoset = <data xmlns={ example }>37</data>
- TestUtils.testUnparsing(testSchema, infoset, "*37!")
- }
-
- @Test def testUnparseMultiElem1() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
-
- <xs:element name="list" type="tns:example1">
- <xs:annotation>
- <xs:appinfo source={ dfdl }>
- <dfdl:element alignmentUnits="bytes"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:element>
- <xs:complexType name="example1">
- <xs:sequence>
- <xs:element name="somedata" type="xs:float" dfdl:length="6" dfdl:lengthKind="explicit"/>
- <xs:element name="moredata" type="xs:int" dfdl:length="2" dfdl:lengthKind="explicit"/>
- </xs:sequence>
- </xs:complexType>)
- // val actual = TestUtils.testString(testSchema, "943.2801")
- // val actualString = actual.result.toString
- // assertTrue(actualString.startsWith("<list"))
- // assertTrue(actualString.endsWith("><somedata>943.28</somedata><moredata>1</moredata></list>"))
-
- val infoset = <list xmlns={ example }><somedata>943.28</somedata><moredata>1</moredata></list>
- // TODO: unparse needs to restore leading zeros removed in parse?
- //testUnparsing(testSchema, infoset, "943.2801")
- TestUtils.testUnparsing(testSchema, infoset, "943.281")
- }
-
- @Test def testUnparseMultiElem2() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
-
- <xs:element name="list" type="tns:example1">
- <xs:annotation>
- <xs:appinfo source={ dfdl }>
- <dfdl:element alignmentUnits="bytes"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:element>
- <xs:complexType name="example1">
- <xs:sequence dfdl:separator="^">
- <xs:element name="somedata" type="xs:double" dfdl:length="5" dfdl:lengthKind="explicit"/>
- <xs:element name="moredata" type="xs:string" dfdl:length="3" dfdl:lengthKind="explicit" dfdl:initiator="%"/>
- <xs:element name="anddata" type="xs:int" dfdl:length="2" dfdl:lengthKind="explicit"/>
- </xs:sequence>
- </xs:complexType>)
- // val actual = TestUtils.testString(testSchema, "50.93^%XYZ^42")
- // val actualString = actual.result.toString
- // assertTrue(actualString.startsWith("<list"))
- // assertTrue(actualString.endsWith("><somedata>50.93</somedata><moredata>XYZ</moredata><anddata>42</anddata></list>"))
-
- val infoset = <list xmlns={ example }><somedata>50.93</somedata><moredata>XYZ</moredata><anddata>42</anddata></list>
- TestUtils.testUnparsing(testSchema, infoset, "50.93^%XYZ^42")
- }
-
- @Test def testUnparseNested() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
-
- <xs:element name="list" type="tns:example1">
- <xs:annotation>
- <xs:appinfo source={ dfdl }>
- <dfdl:element alignmentUnits="bytes"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:element>
- <xs:complexType name="example1">
- <xs:sequence>
- <xs:element name="somedata" type="tns:example2">
- <xs:annotation>
- <xs:appinfo source={ dfdl }>
- <dfdl:element alignmentUnits="bytes"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="example2">
- <xs:sequence>
- <xs:element name="moredata" type="xs:double" dfdl:length="7" dfdl:lengthKind="explicit"/>
- <xs:element name="anddata" type="xs:string" dfdl:length="6" dfdl:lengthKind="explicit"/>
- </xs:sequence>
- </xs:complexType>)
- // val actual = TestUtils.testString(testSchema, "11235.8qwerty")
- // val actualString = actual.result.toString
- // assertTrue(actualString.startsWith("<list"))
- // assertTrue(actualString.endsWith("><somedata><moredata>11235.8</moredata><anddata>qwerty</anddata></somedata></list>"))
-
- val infoset = <list xmlns={ example }><somedata><moredata>11235.8</moredata><anddata>qwerty</anddata></somedata></list>
- TestUtils.testUnparsing(testSchema, infoset, "11235.8qwerty")
- }
-
- @Test def testUnparseNestedChildren() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
-
- <xs:element name="list" type="tns:example1">
- <xs:annotation>
- <xs:appinfo source={ dfdl }>
- <dfdl:element alignmentUnits="bytes"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:element>
- <xs:complexType name="example1">
- <xs:sequence>
- <xs:element name="data" type="tns:example2">
- <xs:annotation>
- <xs:appinfo source={ dfdl }>
- <dfdl:element alignmentUnits="bytes"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="example2">
- <xs:sequence>
- <xs:element name="somedata" type="xs:string" dfdl:length="3" dfdl:lengthKind="explicit"/>
- <xs:element name="moredata" type="xs:int" dfdl:length="8" dfdl:lengthKind="explicit"/>
- </xs:sequence>
- </xs:complexType>)
- // val actual = TestUtils.testString(testSchema, "abc87654321")
- // val actualString = actual.result.toString
- // assertTrue(actualString.startsWith("<list"))
- // assertTrue(actualString.endsWith("><data><somedata>abc</somedata><moredata>87654321</moredata></data></list>"))
-
- val infoset = <list xmlns={ example }><data><somedata>abc</somedata><moredata>87654321</moredata></data></list>
- TestUtils.testUnparsing(testSchema, infoset, "abc87654321")
- }
-
- @Test def testUnparseDelimited() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
-
- <xs:element name="list" type="tns:example1">
- <xs:annotation>
- <xs:appinfo source={ dfdl }>
- <dfdl:element alignmentUnits="bytes"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:element>
- <xs:complexType name="example1">
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:int" dfdl:lengthKind="delimited"/>
- <xs:element name="b" type="xs:double" dfdl:lengthKind="delimited"/>
- <xs:element name="c" type="xs:string" dfdl:lengthKind="delimited"/>
- <xs:element name="d" type="xs:int" dfdl:lengthKind="delimited"/>
- </xs:sequence>
- </xs:complexType>)
- // val actual = TestUtils.testString(testSchema, "246813579,90.3761,hello,100")
- // val actualString = actual.result.toString
- // assertTrue(actualString.startsWith("<list"))
- // assertTrue(actualString.endsWith("><a>246813579</a><b>90.3761</b><c>hello</c><d>100</d></list>"))
-
- val infoset = <list xmlns={ example }><a>246813579</a><b>90.3761</b><c>hello</c><d>100</d></list>
- TestUtils.testUnparsing(testSchema, infoset, "246813579,90.3761,hello,100")
- }
-
- @Test def testUnparseAlignmentBits() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
-
- <xs:element name="list" type="tns:example1">
- <xs:annotation>
- <xs:appinfo source={ dfdl }>
- <dfdl:element alignmentUnits="bits"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:element>
- <xs:complexType name="example1">
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:int" dfdl:lengthKind="delimited"/>
- <xs:element name="b" type="xs:double" dfdl:lengthKind="delimited"/>
- <xs:element name="c" type="xs:string" dfdl:length="3" dfdl:lengthKind="explicit"/>
- <xs:element name="d" type="xs:int" dfdl:length="8" dfdl:lengthKind="explicit"/>
- </xs:sequence>
- </xs:complexType>)
-
- val infoset = <list xmlns={ example }><a>246813579</a><b>90.3761</b><c>abc</c><d>10034567</d></list>
- TestUtils.testUnparsing(testSchema, infoset, "246813579,90.3761,abc,10034567")
- }
-
- @Test def testUnparseChoice1() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
-
- <xs:element name="list" type="tns:example1">
- <xs:annotation>
- <xs:appinfo source={ dfdl }>
- <dfdl:element alignmentUnits="bits"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:element>
- <xs:complexType name="example1">
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:int" dfdl:lengthKind="explicit" dfdl:length="3"/>
- <xs:element name="b" type="xs:string" dfdl:lengthKind="explicit" dfdl:length="4"/>
- <xs:element name="choice">
- <xs:complexType>
- <xs:choice dfdl:choiceLengthKind="implicit">
- <xs:element name="c" type="xs:int" dfdl:initiator="choice1:" dfdl:lengthKind="explicit" dfdl:length="{ 7 }"/>
- <xs:element name="d" type="xs:double" dfdl:initiator="choice2:" dfdl:lengthKind="explicit" dfdl:length="{ 7 }"/>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>)
- // val actual = TestUtils.testString(testSchema, "567,word,choice1:203867")
- // val actualString = actual.result.toString
- // assertTrue(actualString.startsWith("<list"))
- // assertTrue(actualString.endsWith("><a>567</a><b>word</b><choice><c>203867</c></choice></list>"))
-
- val infoset = <list xmlns={ example }><a>567</a><b>word</b><choice><c>203867</c></choice></list>
- TestUtils.testUnparsing(testSchema, infoset, "567,word,choice1:203867")
- }
-
- @Test def testUnparseChoice2() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
-
- <xs:element name="list" type="tns:example1">
- <xs:annotation>
- <xs:appinfo source={ dfdl }>
- <dfdl:element alignmentUnits="bits"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:element>
- <xs:complexType name="example1">
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:int" dfdl:lengthKind="explicit" dfdl:length="3"/>
- <xs:element name="b" type="xs:string" dfdl:lengthKind="explicit" dfdl:length="4"/>
- <xs:element name="choice">
- <xs:complexType>
- <xs:choice dfdl:choiceLengthKind="implicit">
- <xs:element name="c" type="xs:int" dfdl:initiator="choice1:" dfdl:lengthKind="explicit" dfdl:length="{ 7 }"/>
- <xs:element name="d" type="xs:double" dfdl:initiator="choice2:" dfdl:lengthKind="explicit" dfdl:length="{ 7 }"/>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>)
- // val actual = TestUtils.testString(testSchema, "567,word,choice2:2038.67")
- // val actualString = actual.result.toString
- // assertTrue(actualString.startsWith("<list"))
- // assertTrue(actualString.endsWith("><a>567</a><b>word</b><choice><d>2038.67</d></choice></list>"))
-
- val infoset = <list xmlns={ example }><a>567</a><b>word</b><choice><d>2038.67</d></choice></list>
- TestUtils.testUnparsing(testSchema, infoset, "567,word,choice2:2038.67")
- }
-
- @Test def testUnparseBinaryIntBE() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="data" type="xs:int" dfdl:representation="binary"/>)
- // val actual = TestUtils.testBinary(testSchema, "0000000F")
- // val actualString = actual.result.toString
- // assertTrue(actualString.startsWith("<data"))
- // assertTrue(actualString.endsWith(">15</data>"))
-
- val infoset = <data xmlns={ example }>15</data>
- val bytes = List[Byte](0, 0, 0, 15).toArray
- TestUtils.testUnparsingBinary(testSchema, infoset, bytes)
- }
-
- @Test def testUnparseBinaryIntLE() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="data" type="xs:int" dfdl:representation="binary" dfdl:byteOrder='littleEndian'/>)
- // val actual = TestUtils.testBinary(testSchema, "0F000000")
- // val actualString = actual.result.toString
- // assertTrue(actualString.startsWith("<data"))
- // assertTrue(actualString.endsWith(">15</data>"))
-
- val infoset = <data xmlns={ example }>15</data>
- val bytes = List[Byte](15, 0, 0, 0).toArray
- TestUtils.testUnparsingBinary(testSchema, infoset, bytes)
- }
-
- @Test def testUnparseBinary1() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
-
- <xs:element name="list" type="tns:example1">
- <xs:annotation>
- <xs:appinfo source={ dfdl }>
- <dfdl:element alignmentUnits="bytes"/>
- </xs:appinfo>
- </xs:annotation>
- </xs:element>
- <xs:complexType name="example1">
- <xs:sequence dfdl:separator="">
- <xs:element name="byte" type="xs:byte" dfdl:length="2" dfdl:lengthKind="explicit" dfdl:representation="binary"/>
- <xs:element name="short" type="xs:short" dfdl:length="4" dfdl:lengthKind="explicit" dfdl:representation="binary"/>
- <xs:element name="long" type="xs:long" dfdl:length="4" dfdl:lengthKind="explicit" dfdl:representation="binary"/>
- </xs:sequence>
- </xs:complexType>)
-
- val infoset = <list xmlns={ example }><byte>31</byte><short>-112</short><long>1030</long></list>
- val bytes = List[Byte](31, -1, -112, 0, 0, 0, 0, 0, 0, 4, 6).toArray
- TestUtils.testUnparsingBinary(testSchema, infoset, bytes)
- }
-}
diff --git a/daffodil-core/src/test/scala-debug/org/apache/daffodil/dsom/TestDsomCompilerNew.scala b/daffodil-core/src/test/scala-debug/org/apache/daffodil/dsom/TestDsomCompilerNew.scala
deleted file mode 100644
index e67b47e..0000000
--- a/daffodil-core/src/test/scala-debug/org/apache/daffodil/dsom/TestDsomCompilerNew.scala
+++ /dev/null
@@ -1,1686 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.dsom
-
-import org.apache.daffodil.xml.XMLUtils
-import org.apache.daffodil.util._
-import org.apache.daffodil.compiler._
-import junit.framework.Assert.assertEquals
-import org.junit.Test
-
-class TestDsomCompilerNew extends Logging {
- val xsd = XMLUtils.XSD_NAMESPACE
- val dfdl = XMLUtils.DFDL_NAMESPACE
- val xsi = XMLUtils.XSI_NAMESPACE
- val example = XMLUtils.EXAMPLE_NAMESPACE
-
- val dummyGroupRef = null // just because otherwise we have to construct too many things.
-
- def FindValue(collection: Map[String, String], key: String, value: String): Boolean = {
- val found: Boolean = Option(collection.find(x => x._1 == key && x._2 == value)) match {
- case Some(_) => true
- case None => false
- }
- found
- }
-
- @Test def testHasPatternFacets() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="e1" type="tns:st1" dfdl:lengthKind="explicit" dfdl:length="1"/>
- <xs:simpleType name="st1">
- <xs:restriction base="xs:string">
- <xs:pattern value="1"/>
- <xs:pattern value="2"/>
- <xs:pattern value="3"/>
- </xs:restriction>
- </xs:simpleType>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val decl = declf.forRoot()
-
- assertEquals(1, decl.patternValues.length)
- val (_, pattern) = decl.patternValues(0)
- assertEquals("1|2|3", pattern.toString())
- }
-
- @Test def testPatternFacetsInheritance() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="e1" type="tns:st1" dfdl:lengthKind="explicit" dfdl:length="1"/>
- <xs:simpleType name="st1">
- <xs:restriction base="tns:st2">
- <xs:pattern value="1"/>
- <xs:pattern value="2"/>
- <xs:pattern value="3"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="st2">
- <xs:restriction base="tns:st3">
- <xs:pattern value="4"/>
- <xs:pattern value="5"/>
- <xs:pattern value="6"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="st3">
- <xs:restriction base="xs:string">
- <xs:pattern value="7"/>
- <xs:pattern value="8"/>
- <xs:pattern value="9"/>
- </xs:restriction>
- </xs:simpleType>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val decl = declf.forRoot()
-
- assertEquals(3, decl.patternValues.length)
- val (_, st1) = decl.patternValues(0)
- val (_, st2) = decl.patternValues(1)
- val (_, st3) = decl.patternValues(2)
-
- assertEquals("1|2|3", st1.toString())
- assertEquals("4|5|6", st2.toString())
- assertEquals("7|8|9", st3.toString())
- }
-
- /**
- * Here we just want to test that we can detect next
- * elements across sequences. All elements are 'required'.
- */
- @Test def test_could_be_next_method_01() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string"/>
- <xs:element name="c" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:sequence>
- <xs:element name="four" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="j" type="xs:string"/>
- <xs:element name="k" type="xs:string"/>
- <xs:element name="l" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: ElementBase, two: ElementBase, three: ElementBase, _: Sequence) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val elemsFollowingOne = one.possibleNextTerms
- assertEquals(1, elemsFollowingOne.length)
- assertEquals("two", elemsFollowingOne(0).asInstanceOf[ElementBase].name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- assertEquals(1, elemsFollowingTwo.length)
- assertEquals("three", elemsFollowingTwo(0).asInstanceOf[ElementBase].name)
-
- val elemsFollowingThree = three.possibleNextTerms
- assertEquals(1, elemsFollowingThree.length)
- val seqFollowingThree = elemsFollowingThree(0).asInstanceOf[Sequence]
-
- val Seq(four: ElementBase) = seqFollowingThree.allSelfContainedTermsTerminatedByRequiredElement
- assertEquals("four", four.name)
-
- }
-
- /**
- * Here we want to detect that element 'three' is optional.
- * As such, the list of possible elements after 'two' should
- * contain 'three' and 'four'.
- */
- @Test def test_could_be_next_method_02() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string"/>
- <xs:element name="c" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:sequence>
- <xs:element name="four" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="j" type="xs:string"/>
- <xs:element name="k" type="xs:string"/>
- <xs:element name="l" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: ElementBase, two: ElementBase, three: ElementBase, _: Sequence) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val elemsFollowingOne = one.possibleNextTerms
- assertEquals(1, elemsFollowingOne.length)
- assertEquals("two", elemsFollowingOne(0).asInstanceOf[ElementBase].name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- assertEquals(2, elemsFollowingTwo.length)
- assertEquals("three", elemsFollowingTwo(0).asInstanceOf[ElementBase].name)
- val seqFollowingThree = elemsFollowingTwo(1).asInstanceOf[Sequence]
- val Seq(four: ElementBase) = seqFollowingThree.groupMembers
- assertEquals("four", four.name)
-
- val elemsFollowingThree = three.possibleNextTerms
- assertEquals(1, elemsFollowingThree.length)
- val seqFollowingThree2 = elemsFollowingThree(0).asInstanceOf[Sequence]
- val Seq(four2: ElementBase) = seqFollowingThree2.groupMembers
- assertEquals("four", four2.name)
- }
-
- /**
- * Here because 'two' is optional, we expect to see
- * 'two' and 'three' in 'one's possibleNextTerms list.
- */
- @Test def test_could_be_next_method_03() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string"/>
- <xs:element name="c" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:sequence>
- <xs:element name="four" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="j" type="xs:string"/>
- <xs:element name="k" type="xs:string"/>
- <xs:element name="l" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: ElementBase, two: ElementBase, three: ElementBase, _: Sequence) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val elemsFollowingOne = one.possibleNextTerms
- assertEquals(2, elemsFollowingOne.length)
- assertEquals("two", elemsFollowingOne(0).asInstanceOf[ElementBase].name)
- assertEquals("three", elemsFollowingOne(1).asInstanceOf[ElementBase].name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- assertEquals(1, elemsFollowingTwo.length)
- assertEquals("three", elemsFollowingTwo(0).asInstanceOf[ElementBase].name)
-
- val elemsFollowingThree = three.possibleNextTerms
- assertEquals(1, elemsFollowingThree.length)
- val seqFollowingThree = elemsFollowingThree(0).asInstanceOf[Sequence]
- val Seq(four: ElementBase) = seqFollowingThree.groupMembers
- assertEquals("four", four.name)
-
- }
-
- /**
- * Here because 'one' is optional, we expect to see
- * 'two' in 'one's possibleNextTerms list.
- */
- @Test def test_could_be_next_method_04() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="one" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string"/>
- <xs:element name="c" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:sequence>
- <xs:element name="four" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="j" type="xs:string"/>
- <xs:element name="k" type="xs:string"/>
- <xs:element name="l" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: ElementBase, two: ElementBase, three: ElementBase, _: Sequence) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val elemsFollowingOne = one.possibleNextTerms
- assertEquals(1, elemsFollowingOne.length)
- assertEquals("two", elemsFollowingOne(0).asInstanceOf[ElementBase].name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- assertEquals(1, elemsFollowingTwo.length)
- assertEquals("three", elemsFollowingTwo(0).asInstanceOf[ElementBase].name)
-
- val elemsFollowingThree = three.possibleNextTerms
- assertEquals(1, elemsFollowingThree.length)
- val seqFollowingThree = elemsFollowingThree(0).asInstanceOf[Sequence]
- val Seq(four: ElementBase) = seqFollowingThree.groupMembers
- assertEquals("four", four.name)
-
- }
-
- /**
- * Here because 'two', 'three', and 'four' are optional...
- *
- * name possibleNextTerms
- * =======================
- * one two, three, four
- * two three, four
- * three four
- * four -empty-
- */
- @Test def test_could_be_next_method_05() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string"/>
- <xs:element name="c" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:sequence>
- <xs:element name="four" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="j" type="xs:string"/>
- <xs:element name="k" type="xs:string"/>
- <xs:element name="l" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: ElementBase, two: ElementBase, three: ElementBase, seq: Sequence) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val Seq(four: ElementBase) = seq.groupMembers
-
- val elemsFollowingOne = one.possibleNextTerms
- val Seq(eTwo: ElementBase, eThree: ElementBase, seqFollowingThree: Sequence) = one.possibleNextTerms
- assertEquals(3, elemsFollowingOne.length)
- assertEquals("two", eTwo.name)
- assertEquals("three", eThree.name)
- val Seq(eFour: ElementBase) = seqFollowingThree.groupMembers
- assertEquals("four", eFour.name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- val Seq(eThree_2: ElementBase, seqFollowingThree_2: Sequence) = two.possibleNextTerms
- assertEquals(2, elemsFollowingTwo.length)
- assertEquals("three", eThree_2.name)
- val Seq(eFour_2: ElementBase) = seqFollowingThree_2.groupMembers
- assertEquals("four", eFour_2.name)
-
- val elemsFollowingThree = three.possibleNextTerms
- val Seq(seqFollowingThree_3: Sequence) = three.possibleNextTerms
- assertEquals(1, elemsFollowingThree.length)
- val Seq(eFour_3: ElementBase) = seqFollowingThree_3.groupMembers
- assertEquals("four", eFour_3.name)
-
- val elemsFollowingFour = four.possibleNextTerms
- assertEquals(0, elemsFollowingFour.length)
-
- }
-
- /**
- * Here because 'two', and 'three' are optional...
- *
- * name possibleNextTerms
- * =======================
- * one two, three, four
- * two three, four
- * three four
- * four -empty-
- */
- @Test def test_could_be_next_method_06() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string"/>
- <xs:element name="c" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:sequence>
- <xs:element name="four" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="j" type="xs:string"/>
- <xs:element name="k" type="xs:string"/>
- <xs:element name="l" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: ElementBase, two: ElementBase, three: ElementBase, seq: Sequence) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val Seq(four: ElementBase) = seq.groupMembers
-
- val elemsFollowingOne = one.possibleNextTerms
- val Seq(two_1: ElementBase, three_1: ElementBase, seqFollowingThree_1: Sequence) = one.possibleNextTerms
- val Seq(four_1: ElementBase) = seqFollowingThree_1.groupMembers
- assertEquals(3, elemsFollowingOne.length)
- assertEquals("two", two_1.name)
- assertEquals("three", three_1.name)
- assertEquals("four", four_1.name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- val Seq(three_2: ElementBase, seqFollowingThree_2: Sequence) = two.possibleNextTerms
- val Seq(four_2: ElementBase) = seqFollowingThree_2.groupMembers
- assertEquals(2, elemsFollowingTwo.length)
- assertEquals("three", three_2.name)
- assertEquals("four", four_2.name)
-
- val elemsFollowingThree = three.possibleNextTerms
- val Seq(seqFollowingThree_3: Sequence) = three.possibleNextTerms
- val Seq(four_3: ElementBase) = seqFollowingThree_3.groupMembers
- assertEquals(1, elemsFollowingThree.length)
- assertEquals("four", four_3.name)
-
- val elemsFollowingFour = four.possibleNextTerms
- assertEquals(0, elemsFollowingFour.length)
-
- }
-
- /**
- * Here because 'two', and 'three' are optional...
- *
- * name possibleNextTerms
- * =======================
- * one two, three, four
- * a b
- * b c
- * c two, three, four
- * two three, four
- * three four
- * four -empty-
- */
- @Test def test_could_be_next_method_07() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string"/>
- <xs:element name="c" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:sequence>
- <xs:element name="four" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="j" type="xs:string"/>
- <xs:element name="k" type="xs:string"/>
- <xs:element name="l" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: LocalElementDecl, two: LocalElementDecl, three: LocalElementDecl, seq: Sequence) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val Seq(four: LocalElementDecl) = seq.groupMembers
-
- val oneCT = one.complexType
- val oneCTSeq = oneCT.sequence
- val elemsFollowingOneCTSeq = oneCTSeq.possibleNextTerms
-
- val Seq(two_1: ElementBase, three_1: ElementBase, seqFollowingThree_1: Sequence) = oneCTSeq.possibleNextTerms
- val Seq(four_1: ElementBase) = seqFollowingThree_1.groupMembers
- assertEquals(3, elemsFollowingOneCTSeq.length)
- assertEquals("two", two_1.name)
- assertEquals("three", three_1.name)
- assertEquals("four", four_1.name)
-
- val Seq(a: LocalElementDecl, b: LocalElementDecl, c: LocalElementDecl) = oneCTSeq.groupMembers
-
- val elemsFollowingA = a.possibleNextTerms
- assertEquals(1, elemsFollowingA.length)
- assertEquals("b", elemsFollowingA(0).asInstanceOf[ElementBase].name)
-
- val elemsFollowingB = b.possibleNextTerms
- assertEquals(1, elemsFollowingB.length)
- assertEquals("c", elemsFollowingB(0).asInstanceOf[ElementBase].name)
-
- val elemsFollowingC = c.possibleNextTerms
- val Seq(two_2: ElementBase, three_2: ElementBase, seqFollowingThree_2: Sequence) = c.possibleNextTerms
- val Seq(four_2: ElementBase) = seqFollowingThree_2.groupMembers
- assertEquals(3, elemsFollowingC.length)
- assertEquals("two", two_2.name)
- assertEquals("three", three_2.name)
- assertEquals("four", four_2.name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- val Seq(three_3: ElementBase, seqFollowingThree_3: Sequence) = two.possibleNextTerms
- val Seq(four_3: ElementBase) = seqFollowingThree_3.groupMembers
- assertEquals(2, elemsFollowingTwo.length)
- assertEquals("three", three_3.name)
- assertEquals("four", four_3.name)
-
- val elemsFollowingThree = three.possibleNextTerms
- val Seq(seqFollowingThree_4: Sequence) = three.possibleNextTerms
- val Seq(four_4: ElementBase) = seqFollowingThree_4.groupMembers
- assertEquals(1, elemsFollowingThree.length)
- assertEquals("four", four_4.name)
-
- val elemsFollowingFour = four.possibleNextTerms
- assertEquals(0, elemsFollowingFour.length)
-
- }
-
- /**
- * Here we've added three levels of sequences
- * that contain optional elements.
- *
- * The innermost sequence is in the last position.
- *
- * name possibleNextTerms
- * =======================
- * one two, three, four
- * a b, c, s-1, s-2, s-3
- * b c, s-1, s-2, s-3
- * c s-1, s-2, s-3
- * two three, four
- * three four
- * four -empty-
- */
- @Test def test_could_be_next_method_08() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="c" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:sequence dfdl:separator="-">
- <xs:element name="s-1" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="s-2" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="s-3" type="xs:string"/>
- </xs:sequence>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:sequence>
- <xs:element name="four" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="j" type="xs:string"/>
- <xs:element name="k" type="xs:string"/>
- <xs:element name="l" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: LocalElementDecl, two: LocalElementDecl, three: LocalElementDecl, seq: Sequence) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val Seq(four: LocalElementDecl) = seq.groupMembers
-
- val oneCT = one.complexType
- val oneCTSeq = oneCT.sequence
- val elemsFollowingOneCTSeq = oneCTSeq.possibleNextTerms
-
- val Seq(two_1: ElementBase, three_1: ElementBase, seqFollowingThree_1: Sequence) = oneCTSeq.possibleNextTerms
- val Seq(four_1: ElementBase) = seqFollowingThree_1.groupMembers
- assertEquals(3, elemsFollowingOneCTSeq.length)
- assertEquals("two", two_1.name)
- assertEquals("three", three_1.name)
- assertEquals("four", four_1.name)
-
- val Seq(a: LocalElementDecl, b: LocalElementDecl, c: LocalElementDecl, _: Sequence) = oneCTSeq.groupMembers
-
- val elemsFollowingA = a.possibleNextTerms
- val Seq(b_1: ElementBase, c_1: ElementBase, seqFollowingC_1: Sequence) = a.possibleNextTerms
- val Seq(s1_1: ElementBase, s2_1: ElementBase, s3_1: ElementBase) = seqFollowingC_1.groupMembers
- assertEquals(3, elemsFollowingA.length)
- assertEquals("b", b_1.name)
- assertEquals("c", c_1.name)
- assertEquals("s-1", s1_1.name)
- assertEquals("s-2", s2_1.name)
- assertEquals("s-3", s3_1.name)
-
- val elemsFollowingB = b.possibleNextTerms
- val Seq(c_2: ElementBase, seqFollowingC_2: Sequence) = b.possibleNextTerms
- val Seq(s1_2: ElementBase, s2_2: ElementBase, s3_2: ElementBase) = seqFollowingC_2.groupMembers
- assertEquals(2, elemsFollowingB.length)
- assertEquals("c", c_2.name)
- assertEquals("s-1", s1_2.name)
- assertEquals("s-2", s2_2.name)
- assertEquals("s-3", s3_2.name)
-
- val elemsFollowingC = c.possibleNextTerms
- val Seq(seqFollowingC_3: Sequence) = c.possibleNextTerms
- val Seq(s1_3: ElementBase, s2_3: ElementBase, s3_3: ElementBase) = seqFollowingC_3.groupMembers
- assertEquals(1, elemsFollowingC.length)
- assertEquals("s-1", s1_3.name)
- assertEquals("s-2", s2_3.name)
- assertEquals("s-3", s3_3.name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- val Seq(three_2: ElementBase, seqFollowingThree_2: Sequence) = two.possibleNextTerms
- val Seq(four_2: ElementBase) = seqFollowingThree_2.groupMembers
- assertEquals(2, elemsFollowingTwo.length)
- assertEquals("three", three_2.name)
- assertEquals("four", four_2.name)
-
- val elemsFollowingThree = three.possibleNextTerms
- val Seq(seqFollowingThree_3: Sequence) = three.possibleNextTerms
- val Seq(four_3: ElementBase) = seqFollowingThree_3.groupMembers
- assertEquals(1, elemsFollowingThree.length)
- assertEquals("four", four_3.name)
-
- val elemsFollowingFour = four.possibleNextTerms
- assertEquals(0, elemsFollowingFour.length)
-
- }
-
- /**
- * Here we've added three levels of sequences
- * that contain optional elements.
- *
- * The inner most sequence is in the middle.
- *
- * name possibleNextTerms
- * =======================
- * one two, three, four
- * a b, s-1, s-2, s-3
- * b s-1, s-2, s-3
- * c two, three, four
- * two three, four
- * three four
- * four -empty-
- */
- @Test def test_could_be_next_method_09() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:sequence dfdl:separator="-">
- <xs:element name="s-1" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="s-2" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="s-3" type="xs:string"/>
- </xs:sequence>
- <xs:element name="c" type="xs:string" minOccurs="0" maxOccurs="1"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:sequence>
- <xs:element name="four" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="j" type="xs:string"/>
- <xs:element name="k" type="xs:string"/>
- <xs:element name="l" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: LocalElementDecl, two: LocalElementDecl, three: LocalElementDecl, seq: Sequence) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val Seq(four: LocalElementDecl) = seq.groupMembers
-
- val oneCT = one.complexType
- val oneCTSeq = oneCT.sequence
- val elemsFollowingOneCTSeq = oneCTSeq.possibleNextTerms
-
- val Seq(two_1: ElementBase, three_1: ElementBase, seqFollowingThree_1: Sequence) = oneCTSeq.possibleNextTerms
- val Seq(four_1: ElementBase) = seqFollowingThree_1.groupMembers
- assertEquals(3, elemsFollowingOneCTSeq.length)
- assertEquals("two", two_1.name)
- assertEquals("three", three_1.name)
- assertEquals("four", four_1.name)
-
- val Seq(a: LocalElementDecl, b: LocalElementDecl, _: Sequence, c: LocalElementDecl) = oneCTSeq.groupMembers
-
- val elemsFollowingA = a.possibleNextTerms
- val Seq(b_1: ElementBase, seqFollowingA: Sequence) = a.possibleNextTerms
- val Seq(s1_1: ElementBase, s2_1: ElementBase, s3_1: ElementBase) = seqFollowingA.groupMembers
- assertEquals(2, elemsFollowingA.length)
- assertEquals("b", b_1.name)
- assertEquals("s-1", s1_1.name)
- assertEquals("s-2", s2_1.name)
- assertEquals("s-3", s3_1.name)
-
- val elemsFollowingB = b.possibleNextTerms
- val Seq(seqFollowingB: Sequence) = b.possibleNextTerms
- val Seq(s1_2: ElementBase, s2_2: ElementBase, s3_2: ElementBase) = seqFollowingB.groupMembers
- assertEquals(1, elemsFollowingB.length)
- assertEquals("s-1", s1_2.name)
- assertEquals("s-2", s2_2.name)
- assertEquals("s-3", s3_2.name)
-
- val elemsFollowingC = c.possibleNextTerms
- val Seq(two_2: ElementBase, three_2: ElementBase, seqFollowingThree_2: Sequence) = c.possibleNextTerms
- val Seq(four_2: ElementBase) = seqFollowingThree_2.groupMembers
- assertEquals(3, elemsFollowingC.length)
- assertEquals("two", two_2.name)
- assertEquals("three", three_2.name)
- assertEquals("four", four_2.name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- val Seq(three_3: ElementBase, seqFollowingThree_3: Sequence) = two.possibleNextTerms
- val Seq(four_3: ElementBase) = seqFollowingThree_3.groupMembers
- assertEquals(2, elemsFollowingTwo.length)
- assertEquals("three", three_3.name)
- assertEquals("four", four_3.name)
-
- val elemsFollowingThree = three.possibleNextTerms
- val Seq(seqFollowingThree_4: Sequence) = three.possibleNextTerms
- val Seq(four_4: ElementBase) = seqFollowingThree_4.groupMembers
- assertEquals(1, elemsFollowingThree.length)
- assertEquals("four", four_4.name)
-
- val elemsFollowingFour = four.possibleNextTerms
- assertEquals(0, elemsFollowingFour.length)
-
- }
-
- /**
- * Here we've added three levels of sequences
- * that contain optional elements.
- *
- * The inner most sequence is in the beginning.
- *
- * name possibleNextTerms
- * =======================
- * one two, three, four
- * a b
- * b c
- * c two, three, four
- * two three, four
- * three four
- * four -empty-
- */
- @Test def test_could_be_next_method_10() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:sequence dfdl:separator="-">
- <xs:element name="s-1" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="s-2" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="s-3" type="xs:string"/>
- </xs:sequence>
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string" minOccurs="0" maxOccurs="1"/>
- <xs:element name="c" type="xs:string" minOccurs="0" maxOccurs="1"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:sequence>
- <xs:element name="four" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="j" type="xs:string"/>
- <xs:element name="k" type="xs:string"/>
- <xs:element name="l" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: LocalElementDecl, two: LocalElementDecl, three: LocalElementDecl, seq: Sequence) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val Seq(four: LocalElementDecl) = seq.groupMembers
-
- val oneCT = one.complexType
- val oneCTSeq = oneCT.sequence
- val elemsFollowingOneCTSeq = oneCTSeq.possibleNextTerms
-
- val Seq(two_1: ElementBase, three_1: ElementBase, seqFollowingThree_1: Sequence) = oneCTSeq.possibleNextTerms
- val Seq(four_1: ElementBase) = seqFollowingThree_1.groupMembers
- assertEquals(3, elemsFollowingOneCTSeq.length)
- assertEquals("two", two_1.name)
- assertEquals("three", three_1.name)
- assertEquals("four", four_1.name)
-
- val Seq(_: Sequence, a: LocalElementDecl, b: LocalElementDecl, c: LocalElementDecl) = oneCTSeq.groupMembers
-
- val elemsFollowingA = a.possibleNextTerms
- val Seq(b_2: ElementBase, c_2: ElementBase, two_2: ElementBase, three_2: ElementBase, seqFollowingThree_2: Sequence) = a.possibleNextTerms
- val Seq(four_2: ElementBase) = seqFollowingThree_2.groupMembers
- assertEquals(5, elemsFollowingA.length)
- assertEquals("b", b_2.name)
- assertEquals("c", c_2.name)
- assertEquals("two", two_2.name)
- assertEquals("three", three_2.name)
- assertEquals("four", four_2.name)
-
- val elemsFollowingB = b.possibleNextTerms
- val Seq(c_3: ElementBase, two_3: ElementBase, three_3: ElementBase, seqFollowingThree_3: Sequence) = b.possibleNextTerms
- val Seq(four_3: ElementBase) = seqFollowingThree_3.groupMembers
- assertEquals(4, elemsFollowingB.length)
- assertEquals("c", c_3.name)
- assertEquals("two", two_3.name)
- assertEquals("three", three_3.name)
- assertEquals("four", four_3.name)
-
- val elemsFollowingC = c.possibleNextTerms
- val Seq(two_4: ElementBase, three_4: ElementBase, seqFollowingThree_4: Sequence) = c.possibleNextTerms
- val Seq(four_4: ElementBase) = seqFollowingThree_4.groupMembers
- assertEquals(3, elemsFollowingC.length)
- assertEquals("two", two_4.name)
- assertEquals("three", three_4.name)
- assertEquals("four", four_4.name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- val Seq(three_5: ElementBase, seqFollowingThree_5: Sequence) = two.possibleNextTerms
- val Seq(four_5: ElementBase) = seqFollowingThree_5.groupMembers
- assertEquals(2, elemsFollowingTwo.length)
- assertEquals("three", three_5.name)
- assertEquals("four", four_5.name)
-
- val elemsFollowingThree = three.possibleNextTerms
- val Seq(seqFollowingThree_6: Sequence) = three.possibleNextTerms
- val Seq(four_6: ElementBase) = seqFollowingThree_6.groupMembers
- assertEquals(1, elemsFollowingThree.length)
- assertEquals("four", four_6.name)
-
- val elemsFollowingFour = four.possibleNextTerms
- assertEquals(0, elemsFollowingFour.length)
-
- }
-
- /**
- * Here we just want to test that we can detect next
- * elements across sequences (unordered). All elements are 'required'.
- * However, because these are unordered sequences optionality doesn't matter.
- */
- @Test def test_could_be_next_method_11() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence dfdl:sequenceKind="unordered">
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string"/>
- <xs:element name="c" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: ElementBase, two: ElementBase, three: ElementBase) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val elemsFollowingOne = one.possibleNextTerms
- assertEquals(3, elemsFollowingOne.length)
- assertEquals("one", elemsFollowingOne(0).asInstanceOf[ElementBase].name)
- assertEquals("two", elemsFollowingOne(1).asInstanceOf[ElementBase].name)
- assertEquals("three", elemsFollowingOne(2).asInstanceOf[ElementBase].name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- assertEquals(3, elemsFollowingTwo.length)
- assertEquals("one", elemsFollowingTwo(0).asInstanceOf[ElementBase].name)
- assertEquals("two", elemsFollowingTwo(1).asInstanceOf[ElementBase].name)
- assertEquals("three", elemsFollowingTwo(2).asInstanceOf[ElementBase].name)
-
- val elemsFollowingThree = three.possibleNextTerms
- assertEquals(3, elemsFollowingThree.length)
- assertEquals("one", elemsFollowingThree(0).asInstanceOf[ElementBase].name)
- assertEquals("two", elemsFollowingThree(1).asInstanceOf[ElementBase].name)
- assertEquals("three", elemsFollowingThree(2).asInstanceOf[ElementBase].name)
- }
-
- /**
- * Unordered Sequences
- *
- * Here the fact that 'three' is optional doesn't matter. The
- * elements are in an unordered sequence, so any of the elements:
- * one, two or three could be next.
- */
- @Test def test_could_be_next_method_12() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence dfdl:sequenceKind="unordered">
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string"/>
- <xs:element name="c" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: ElementBase, two: ElementBase, three: ElementBase) =
- rootCTSeq.groupMembers
-
- val elemsFollowingOne = one.possibleNextTerms
- assertEquals(3, elemsFollowingOne.length)
- assertEquals("one", elemsFollowingOne(0).asInstanceOf[ElementBase].name)
- assertEquals("two", elemsFollowingOne(1).asInstanceOf[ElementBase].name)
- assertEquals("three", elemsFollowingOne(2).asInstanceOf[ElementBase].name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- assertEquals(3, elemsFollowingTwo.length)
- assertEquals("one", elemsFollowingTwo(0).asInstanceOf[ElementBase].name)
- assertEquals("two", elemsFollowingTwo(1).asInstanceOf[ElementBase].name)
- assertEquals("three", elemsFollowingTwo(2).asInstanceOf[ElementBase].name)
-
- val elemsFollowingThree = three.possibleNextTerms
- assertEquals(3, elemsFollowingThree.length)
- assertEquals("one", elemsFollowingThree(0).asInstanceOf[ElementBase].name)
- assertEquals("two", elemsFollowingThree(1).asInstanceOf[ElementBase].name)
- assertEquals("three", elemsFollowingThree(2).asInstanceOf[ElementBase].name)
- }
-
- /**
- * Unordered Sequences
- *
- * Here because 'two', and 'three' are optional...
- *
- * name possibleNextTerms
- * =======================
- * one two, three
- * a b, c
- * b a, c
- * c a, b, one, two, three
- * two one, three
- * three one, two
- */
- @Test def test_could_be_next_method_13() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence dfdl:sequenceKind="unordered">
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string"/>
- <xs:element name="c" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: LocalElementDecl, two: LocalElementDecl, three: LocalElementDecl) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val oneCT = one.complexType
- val oneCTSeq = oneCT.sequence
- val elemsFollowingOneCTSeq = oneCTSeq.possibleNextTerms
-
- val Seq(one_1: ElementBase, two_1: ElementBase, three_1: ElementBase) = oneCTSeq.possibleNextTerms
- assertEquals(3, elemsFollowingOneCTSeq.length)
- assertEquals("one", one_1.name)
- assertEquals("two", two_1.name)
- assertEquals("three", three_1.name)
-
- val Seq(a: LocalElementDecl, b: LocalElementDecl, c: LocalElementDecl) = oneCTSeq.groupMembers
-
- val elemsFollowingA = a.possibleNextTerms
- assertEquals(6, elemsFollowingA.length)
- assertEquals("a", elemsFollowingA(0).asInstanceOf[ElementBase].name)
- assertEquals("b", elemsFollowingA(1).asInstanceOf[ElementBase].name)
- assertEquals("c", elemsFollowingA(2).asInstanceOf[ElementBase].name)
- assertEquals("one", elemsFollowingA(3).asInstanceOf[ElementBase].name)
- assertEquals("two", elemsFollowingA(4).asInstanceOf[ElementBase].name)
- assertEquals("three", elemsFollowingA(5).asInstanceOf[ElementBase].name)
-
- val elemsFollowingB = b.possibleNextTerms
- assertEquals(6, elemsFollowingB.length)
- assertEquals("a", elemsFollowingB(0).asInstanceOf[ElementBase].name)
- assertEquals("b", elemsFollowingB(1).asInstanceOf[ElementBase].name)
- assertEquals("c", elemsFollowingB(2).asInstanceOf[ElementBase].name)
- assertEquals("one", elemsFollowingB(3).asInstanceOf[ElementBase].name)
- assertEquals("two", elemsFollowingB(4).asInstanceOf[ElementBase].name)
- assertEquals("three", elemsFollowingB(5).asInstanceOf[ElementBase].name)
-
- val elemsFollowingC = c.possibleNextTerms
- val Seq(a_2: ElementBase, b_2: ElementBase, c_2: ElementBase, one_2: ElementBase, two_2: ElementBase, three_2: ElementBase) = c.possibleNextTerms
- assertEquals(6, elemsFollowingC.length)
- assertEquals("a", a_2.name)
- assertEquals("b", b_2.name)
- assertEquals("c", c_2.name)
- assertEquals("one", one_2.name)
- assertEquals("two", two_2.name)
- assertEquals("three", three_2.name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- val Seq(one_3: ElementBase, two_3: ElementBase, three_3: ElementBase) = two.possibleNextTerms
- assertEquals(3, elemsFollowingTwo.length)
- assertEquals("one", one_3.name)
- assertEquals("two", two_3.name)
- assertEquals("three", three_3.name)
-
- val elemsFollowingThree = three.possibleNextTerms
- val Seq(one_4: ElementBase, two_4: ElementBase, three_4: ElementBase) = three.possibleNextTerms
- assertEquals(3, elemsFollowingThree.length)
- assertEquals("one", one_4.name)
- assertEquals("two", two_4.name)
- assertEquals("three", three_4.name)
- }
-
- /**
- * Unordered Sequences
- *
- * Here because 'two', and 'three' are optional...
- *
- * name possibleNextTerms
- * =======================
- * one two, three
- * a b
- * b c
- * c one, two, three
- * two one, three
- * three one, two
- */
- @Test def test_could_be_next_method_13_1() {
- val testSchema = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="root">
- <xs:complexType>
- <xs:sequence dfdl:sequenceKind="unordered">
- <xs:element name="one" dfdl:terminator=":">
- <xs:complexType>
- <xs:sequence dfdl:separator="," dfdl:sequenceKind="ordered">
- <xs:element name="a" type="xs:string"/>
- <xs:element name="b" type="xs:string"/>
- <xs:element name="c" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
- <xs:element name="d" type="xs:string"/>
- <xs:element name="e" type="xs:string"/>
- <xs:element name="f" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
- <xs:complexType>
- <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
- <xs:element name="g" type="xs:string"/>
- <xs:element name="h" type="xs:string"/>
- <xs:element name="i" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
-
- val compiler = Compiler()
- val sset = compiler.compileNode(testSchema).sset
- val Seq(schema) = sset.schemas
- val Seq(schemaDoc, _) = schema.schemaDocuments
- val Seq(declf) = schemaDoc.globalElementDecls
- val root = declf.forRoot()
- val rootCT = root.complexType
-
- // Verify that nothing follows the root, as it is the root.
- val elemsFollowingRoot = root.possibleNextTerms
- assertEquals(0, elemsFollowingRoot.length)
-
- val rootCTSeq = rootCT.sequence //... which is a sequence
-
- // Verify that nothing follows the sequence of the root.
- val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
- assertEquals(0, elemsFollowingRootSeq.length)
-
- val Seq(one: LocalElementDecl, two: LocalElementDecl, three: LocalElementDecl) =
- rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
-
- val oneCT = one.complexType
- val oneCTSeq = oneCT.sequence
- val elemsFollowingOneCTSeq = oneCTSeq.possibleNextTerms
-
- val Seq(one_1: ElementBase, two_1: ElementBase, three_1: ElementBase) = oneCTSeq.possibleNextTerms
- assertEquals(3, elemsFollowingOneCTSeq.length)
- assertEquals("one", one_1.name)
- assertEquals("two", two_1.name)
- assertEquals("three", three_1.name)
-
- val Seq(a: LocalElementDecl, b: LocalElementDecl, c: LocalElementDecl) = oneCTSeq.groupMembers
-
- val elemsFollowingA = a.possibleNextTerms
- assertEquals(1, elemsFollowingA.length)
- assertEquals("b", elemsFollowingA(0).asInstanceOf[ElementBase].name)
-
- val elemsFollowingB = b.possibleNextTerms
- assertEquals(1, elemsFollowingB.length)
- assertEquals("c", elemsFollowingB(0).asInstanceOf[ElementBase].name)
-
- val elemsFollowingC = c.possibleNextTerms
- val Seq(one_2: ElementBase, two_2: ElementBase, three_2: ElementBase) = c.possibleNextTerms
- assertEquals(3, elemsFollowingC.length)
- assertEquals("one", one_2.name)
- assertEquals("two", two_2.name)
- assertEquals("three", three_2.name)
-
- val elemsFollowingTwo = two.possibleNextTerms
- val Seq(one_3: ElementBase, two_3: ElementBase, three_3: ElementBase) = two.possibleNextTerms
- assertEquals(3, elemsFollowingTwo.length)
- assertEquals("one", one_3.name)
- assertEquals("two", two_3.name)
- assertEquals("three", three_3.name)
-
- val elemsFollowingThree = three.possibleNextTerms
- val Seq(one_4: ElementBase, two_4: ElementBase, three_4: ElementBase) = three.possibleNextTerms
- assertEquals(3, elemsFollowingThree.length)
- assertEquals("one", one_4.name)
- assertEquals("two", two_4.name)
- assertEquals("three", three_4.name)
- }
-
-}
diff --git a/daffodil-core/src/test/scala-debug/org/apache/daffodil/infoset/TestInfosetDefaultingInUnparser.scala b/daffodil-core/src/test/scala-debug/org/apache/daffodil/infoset/TestInfosetDefaultingInUnparser.scala
deleted file mode 100644
index f61f57a..0000000
--- a/daffodil-core/src/test/scala-debug/org/apache/daffodil/infoset/TestInfosetDefaultingInUnparser.scala
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.infoset
-
-import org.junit.Test
-import org.junit.Assert._
-import org.apache.daffodil.xml.XMLUtils
-import org.apache.daffodil.Implicits._
-import org.apache.daffodil.equality._; object ENoWarnU1 { EqualitySuppressUnusedImportWarning() }
-import org.apache.daffodil.util.SchemaUtils
-import org.apache.daffodil.processors.DataProcessor
-import org.apache.daffodil.compiler.Compiler
-import org.apache.daffodil.xml._
-
-/*
- * These are all tests of default-value insertion.
- * But I determined that the approach to defaulting,
- * which was a schema-aware separate pass, can't really work
- * and isn't worth a whole pass on its own.
- *
- * So these tests will have to be revisited someday when we
- * have defaulting working.
- *
- * The way these tests work is broken. They are assuming that
- * defaulting is being inserted by the XMLEventCursor. It will
- * not be there. Defaulting will be done as part of Unparsing.
- */
-class TestInfosetDefaultingInUnparser {
-
- val xsd = XMLUtils.XSD_NAMESPACE
- val dfdl = XMLUtils.dfdlAppinfoSource // XMLUtils.DFDL_NAMESPACE
- val xsi = XMLUtils.XSI_NAMESPACE
- val example = XMLUtils.EXAMPLE_NAMESPACE
-
- @Test def testDefaultable = {
- val sch = SchemaUtils.dfdlTestSchema(
- <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
- <dfdl:format ref="tns:GeneralFormat"/>,
- <xs:element name="bar" dfdl:lengthKind="implicit">
- <xs:complexType>
- <xs:sequence dfdl:separator=",">
- <xs:element name="foo" dfdl:lengthKind="delimited" type="xs:string" default="abcde"/>
- <xs:element name="afterFoo" dfdl:lengthKind="explicit" dfdl:length="5" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>)
- val compiler = Compiler()
- val pf = compiler.compileNode(sch)
- if (pf.isError) {
- val msgs = pf.getDiagnostics.map(_.getMessage()).mkString("\n")
- throw new Exception(msgs)
- }
- val u = pf.onPath("/").asInstanceOf[DataProcessor]
- if (u.isError) {
- val msgs = u.getDiagnostics.map(_.getMessage()).mkString("\n")
- throw new Exception(msgs)
- }
-
- val xml = <bar xmlns={ XMLUtils.EXAMPLE_NAMESPACE }><afterFoo>Hello</afterFoo></bar>
-
- val rootERD = u.ssrd.elementRuntimeData
-
- val inputter = new ScalaXMLInfosetInputter(xml)
- inputter.initialize(rootERD, u.getTunables())
- val is = Adapter(inputter)
-
- val Start(bar_s: DIComplex) = is.next
- assertNotNull(bar_s)
- val Start(foo_s: DISimple) = is.next
- val End(foo_e: DISimple) = is.next
- assertNotNull(foo_e)
- val Start(afterFoo_s: DISimple) = is.next
- val End(afterFoo_e: DISimple) = is.next
- assertNotNull(afterFoo_e)
- val End(bar_e: DIComplex) = is.next
- assertNotNull(bar_e)
-
- assertEquals("abcde", foo_s.dataValue)
- assertEquals("Hello", afterFoo_s.dataValue)
- }
-
-}
diff --git a/daffodil-core/src/test/scala/org/apache/daffodil/dsom/TestDsomCompiler.scala b/daffodil-core/src/test/scala/org/apache/daffodil/dsom/TestDsomCompiler.scala
index a27fbc5..79f039e 100644
--- a/daffodil-core/src/test/scala/org/apache/daffodil/dsom/TestDsomCompiler.scala
+++ b/daffodil-core/src/test/scala/org/apache/daffodil/dsom/TestDsomCompiler.scala
@@ -672,4 +672,2014 @@ class TestDsomCompiler extends Logging {
assertTrue(ese.path.contains("sequence[3]"))
}
+
+ val dummyGroupRef = null // just because otherwise we have to construct too many things.
+
+ def FindValue(collection: Map[String, String], key: String, value: String): Boolean = {
+ val found: Boolean = Option(collection.find(x => x._1 == key && x._2 == value)) match {
+ case Some(_) => true
+ case None => false
+ }
+ found
+ }
+
+ // @Test def testInitiator() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="data" type="xs:string" dfdl:initiator="*" dfdl:lengthKind="explicit" dfdl:length="{ 4 }"/>)
+ // // val actual = TestUtils.testString(testSchema, "*word")
+ // // val actualString = actual.result.toString
+ // // assertTrue(actualString.startsWith("<data"))
+ // // assertTrue(actualString.endsWith(">word</data>"))
+ //
+ // val infoset = <data xmlns={ example }>word</data>
+ // TestUtils.testUnparsing(testSchema, infoset, "*word")
+ // }
+
+ // @Test def testTerminator() {
+ // // LoggingDefaults.setLoggingLevel(LogLevel.Debug)
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="data" type="xs:string" dfdl:terminator="!" dfdl:lengthKind="explicit" dfdl:length="{ 2 }"/>)
+ // // val actual = TestUtils.testString(testSchema, "37!")
+ // // val actualString = actual.result.toString
+ // // assertTrue(actualString.startsWith("<data"))
+ // // assertTrue(actualString.endsWith(">37</data>"))
+ //
+ // val infoset = <data xmlns={ example }>37</data>
+ // TestUtils.testUnparsing(testSchema, infoset, "37!")
+ // }
+
+ // @Test def testDelims() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="data" type="xs:string" dfdl:initiator="*" dfdl:terminator="! $" dfdl:lengthKind="explicit" dfdl:length="{ 2 }"/>)
+ // // val actual = TestUtils.testString(testSchema, "*37$")
+ // // val actualString = actual.result.toString
+ // // assertTrue(actualString.startsWith("<data"))
+ // // assertTrue(actualString.endsWith(">37</data>"))
+ //
+ // val infoset = <data xmlns={ example }>37</data>
+ // TestUtils.testUnparsing(testSchema, infoset, "*37!")
+ // }
+
+ // @Test def testUnparseMultiElem1() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ //
+ // <xs:element name="list" type="tns:example1">
+ // <xs:annotation>
+ // <xs:appinfo source={ dfdl }>
+ // <dfdl:element alignmentUnits="bytes"/>
+ // </xs:appinfo>
+ // </xs:annotation>
+ // </xs:element>
+ // <xs:complexType name="example1">
+ // <xs:sequence>
+ // <xs:element name="somedata" type="xs:float" dfdl:length="6" dfdl:lengthKind="explicit"/>
+ // <xs:element name="moredata" type="xs:int" dfdl:length="2" dfdl:lengthKind="explicit"/>
+ // </xs:sequence>
+ // </xs:complexType>)
+ // // val actual = TestUtils.testString(testSchema, "943.2801")
+ // // val actualString = actual.result.toString
+ // // assertTrue(actualString.startsWith("<list"))
+ // // assertTrue(actualString.endsWith("><somedata>943.28</somedata><moredata>1</moredata></list>"))
+ //
+ // val infoset = <list xmlns={ example }><somedata>943.28</somedata><moredata>1</moredata></list>
+ // // TODO: unparse needs to restore leading zeros removed in parse?
+ // //testUnparsing(testSchema, infoset, "943.2801")
+ // TestUtils.testUnparsing(testSchema, infoset, "943.281")
+ // }
+
+ // @Test def testUnparseMultiElem2() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ //
+ // <xs:element name="list" type="tns:example1">
+ // <xs:annotation>
+ // <xs:appinfo source={ dfdl }>
+ // <dfdl:element alignmentUnits="bytes"/>
+ // </xs:appinfo>
+ // </xs:annotation>
+ // </xs:element>
+ // <xs:complexType name="example1">
+ // <xs:sequence dfdl:separator="^">
+ // <xs:element name="somedata" type="xs:double" dfdl:length="5" dfdl:lengthKind="explicit"/>
+ // <xs:element name="moredata" type="xs:string" dfdl:length="3" dfdl:lengthKind="explicit" dfdl:initiator="%"/>
+ // <xs:element name="anddata" type="xs:int" dfdl:length="2" dfdl:lengthKind="explicit"/>
+ // </xs:sequence>
+ // </xs:complexType>)
+ // // val actual = TestUtils.testString(testSchema, "50.93^%XYZ^42")
+ // // val actualString = actual.result.toString
+ // // assertTrue(actualString.startsWith("<list"))
+ // // assertTrue(actualString.endsWith("><somedata>50.93</somedata><moredata>XYZ</moredata><anddata>42</anddata></list>"))
+ //
+ // val infoset = <list xmlns={ example }><somedata>50.93</somedata><moredata>XYZ</moredata><anddata>42</anddata></list>
+ // TestUtils.testUnparsing(testSchema, infoset, "50.93^%XYZ^42")
+ // }
+
+ // @Test def testUnparseNested() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ //
+ // <xs:element name="list" type="tns:example1">
+ // <xs:annotation>
+ // <xs:appinfo source={ dfdl }>
+ // <dfdl:element alignmentUnits="bytes"/>
+ // </xs:appinfo>
+ // </xs:annotation>
+ // </xs:element>
+ // <xs:complexType name="example1">
+ // <xs:sequence>
+ // <xs:element name="somedata" type="tns:example2">
+ // <xs:annotation>
+ // <xs:appinfo source={ dfdl }>
+ // <dfdl:element alignmentUnits="bytes"/>
+ // </xs:appinfo>
+ // </xs:annotation>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:complexType>
+ // <xs:complexType name="example2">
+ // <xs:sequence>
+ // <xs:element name="moredata" type="xs:double" dfdl:length="7" dfdl:lengthKind="explicit"/>
+ // <xs:element name="anddata" type="xs:string" dfdl:length="6" dfdl:lengthKind="explicit"/>
+ // </xs:sequence>
+ // </xs:complexType>)
+ // // val actual = TestUtils.testString(testSchema, "11235.8qwerty")
+ // // val actualString = actual.result.toString
+ // // assertTrue(actualString.startsWith("<list"))
+ // // assertTrue(actualString.endsWith("><somedata><moredata>11235.8</moredata><anddata>qwerty</anddata></somedata></list>"))
+ //
+ // val infoset = <list xmlns={ example }><somedata><moredata>11235.8</moredata><anddata>qwerty</anddata></somedata></list>
+ // TestUtils.testUnparsing(testSchema, infoset, "11235.8qwerty")
+ // }
+
+ // // @Test def testUnparseNestedChildren() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ //
+ // <xs:element name="list" type="tns:example1">
+ // <xs:annotation>
+ // <xs:appinfo source={ dfdl }>
+ // <dfdl:element alignmentUnits="bytes"/>
+ // </xs:appinfo>
+ // </xs:annotation>
+ // </xs:element>
+ // <xs:complexType name="example1">
+ // <xs:sequence>
+ // <xs:element name="data" type="tns:example2">
+ // <xs:annotation>
+ // <xs:appinfo source={ dfdl }>
+ // <dfdl:element alignmentUnits="bytes"/>
+ // </xs:appinfo>
+ // </xs:annotation>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:complexType>
+ // <xs:complexType name="example2">
+ // <xs:sequence>
+ // <xs:element name="somedata" type="xs:string" dfdl:length="3" dfdl:lengthKind="explicit"/>
+ // <xs:element name="moredata" type="xs:int" dfdl:length="8" dfdl:lengthKind="explicit"/>
+ // </xs:sequence>
+ // </xs:complexType>)
+ // // val actual = TestUtils.testString(testSchema, "abc87654321")
+ // // val actualString = actual.result.toString
+ // // assertTrue(actualString.startsWith("<list"))
+ // // assertTrue(actualString.endsWith("><data><somedata>abc</somedata><moredata>87654321</moredata></data></list>"))
+ //
+ // val infoset = <list xmlns={ example }><data><somedata>abc</somedata><moredata>87654321</moredata></data></list>
+ // TestUtils.testUnparsing(testSchema, infoset, "abc87654321")
+ // }
+
+ // @Test def testUnparseDelimited() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ //
+ // <xs:element name="list" type="tns:example1">
+ // <xs:annotation>
+ // <xs:appinfo source={ dfdl }>
+ // <dfdl:element alignmentUnits="bytes"/>
+ // </xs:appinfo>
+ // </xs:annotation>
+ // </xs:element>
+ // <xs:complexType name="example1">
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:int" dfdl:lengthKind="delimited"/>
+ // <xs:element name="b" type="xs:double" dfdl:lengthKind="delimited"/>
+ // <xs:element name="c" type="xs:string" dfdl:lengthKind="delimited"/>
+ // <xs:element name="d" type="xs:int" dfdl:lengthKind="delimited"/>
+ // </xs:sequence>
+ // </xs:complexType>)
+ // // val actual = TestUtils.testString(testSchema, "246813579,90.3761,hello,100")
+ // // val actualString = actual.result.toString
+ // // assertTrue(actualString.startsWith("<list"))
+ // // assertTrue(actualString.endsWith("><a>246813579</a><b>90.3761</b><c>hello</c><d>100</d></list>"))
+ //
+ // val infoset = <list xmlns={ example }><a>246813579</a><b>90.3761</b><c>hello</c><d>100</d></list>
+ // TestUtils.testUnparsing(testSchema, infoset, "246813579,90.3761,hello,100")
+ // }
+
+ // @Test def testUnparseAlignmentBits() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ //
+ // <xs:element name="list" type="tns:example1">
+ // <xs:annotation>
+ // <xs:appinfo source={ dfdl }>
+ // <dfdl:element alignmentUnits="bits"/>
+ // </xs:appinfo>
+ // </xs:annotation>
+ // </xs:element>
+ // <xs:complexType name="example1">
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:int" dfdl:lengthKind="delimited"/>
+ // <xs:element name="b" type="xs:double" dfdl:lengthKind="delimited"/>
+ // <xs:element name="c" type="xs:string" dfdl:length="3" dfdl:lengthKind="explicit"/>
+ // <xs:element name="d" type="xs:int" dfdl:length="8" dfdl:lengthKind="explicit"/>
+ // </xs:sequence>
+ // </xs:complexType>)
+ //
+ // val infoset = <list xmlns={ example }><a>246813579</a><b>90.3761</b><c>abc</c><d>10034567</d></list>
+ // TestUtils.testUnparsing(testSchema, infoset, "246813579,90.3761,abc,10034567")
+ // }
+
+ // @Test def testUnparseChoice1() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ //
+ // <xs:element name="list" type="tns:example1">
+ // <xs:annotation>
+ // <xs:appinfo source={ dfdl }>
+ // <dfdl:element alignmentUnits="bits"/>
+ // </xs:appinfo>
+ // </xs:annotation>
+ // </xs:element>
+ // <xs:complexType name="example1">
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:int" dfdl:lengthKind="explicit" dfdl:length="3"/>
+ // <xs:element name="b" type="xs:string" dfdl:lengthKind="explicit" dfdl:length="4"/>
+ // <xs:element name="choice">
+ // <xs:complexType>
+ // <xs:choice dfdl:choiceLengthKind="implicit">
+ // <xs:element name="c" type="xs:int" dfdl:initiator="choice1:" dfdl:lengthKind="explicit" dfdl:length="{ 7 }"/>
+ // <xs:element name="d" type="xs:double" dfdl:initiator="choice2:" dfdl:lengthKind="explicit" dfdl:length="{ 7 }"/>
+ // </xs:choice>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:complexType>)
+ // // val actual = TestUtils.testString(testSchema, "567,word,choice1:203867")
+ // // val actualString = actual.result.toString
+ // // assertTrue(actualString.startsWith("<list"))
+ // // assertTrue(actualString.endsWith("><a>567</a><b>word</b><choice><c>203867</c></choice></list>"))
+ //
+ // val infoset = <list xmlns={ example }><a>567</a><b>word</b><choice><c>203867</c></choice></list>
+ // TestUtils.testUnparsing(testSchema, infoset, "567,word,choice1:203867")
+ // }
+
+ // @Test def testUnparseChoice2() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ //
+ // <xs:element name="list" type="tns:example1">
+ // <xs:annotation>
+ // <xs:appinfo source={ dfdl }>
+ // <dfdl:element alignmentUnits="bits"/>
+ // </xs:appinfo>
+ // </xs:annotation>
+ // </xs:element>
+ // <xs:complexType name="example1">
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:int" dfdl:lengthKind="explicit" dfdl:length="3"/>
+ // <xs:element name="b" type="xs:string" dfdl:lengthKind="explicit" dfdl:length="4"/>
+ // <xs:element name="choice">
+ // <xs:complexType>
+ // <xs:choice dfdl:choiceLengthKind="implicit">
+ // <xs:element name="c" type="xs:int" dfdl:initiator="choice1:" dfdl:lengthKind="explicit" dfdl:length="{ 7 }"/>
+ // <xs:element name="d" type="xs:double" dfdl:initiator="choice2:" dfdl:lengthKind="explicit" dfdl:length="{ 7 }"/>
+ // </xs:choice>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:complexType>)
+ // // val actual = TestUtils.testString(testSchema, "567,word,choice2:2038.67")
+ // // val actualString = actual.result.toString
+ // // assertTrue(actualString.startsWith("<list"))
+ // // assertTrue(actualString.endsWith("><a>567</a><b>word</b><choice><d>2038.67</d></choice></list>"))
+ //
+ // val infoset = <list xmlns={ example }><a>567</a><b>word</b><choice><d>2038.67</d></choice></list>
+ // TestUtils.testUnparsing(testSchema, infoset, "567,word,choice2:2038.67")
+ // }
+
+ // @Test def testUnparseBinaryIntBE() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="data" type="xs:int" dfdl:representation="binary"/>)
+ // // val actual = TestUtils.testBinary(testSchema, "0000000F")
+ // // val actualString = actual.result.toString
+ // // assertTrue(actualString.startsWith("<data"))
+ // // assertTrue(actualString.endsWith(">15</data>"))
+ //
+ // val infoset = <data xmlns={ example }>15</data>
+ // val bytes = List[Byte](0, 0, 0, 15).toArray
+ // TestUtils.testUnparsingBinary(testSchema, infoset, bytes)
+ // }
+
+ // @Test def testUnparseBinaryIntLE() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="data" type="xs:int" dfdl:representation="binary" dfdl:byteOrder='littleEndian'/>)
+ // // val actual = TestUtils.testBinary(testSchema, "0F000000")
+ // // val actualString = actual.result.toString
+ // // assertTrue(actualString.startsWith("<data"))
+ // // assertTrue(actualString.endsWith(">15</data>"))
+ //
+ // val infoset = <data xmlns={ example }>15</data>
+ // val bytes = List[Byte](15, 0, 0, 0).toArray
+ // TestUtils.testUnparsingBinary(testSchema, infoset, bytes)
+ // }
+
+ // @Test def testUnparseBinary1() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ //
+ // <xs:element name="list" type="tns:example1">
+ // <xs:annotation>
+ // <xs:appinfo source={ dfdl }>
+ // <dfdl:element alignmentUnits="bytes"/>
+ // </xs:appinfo>
+ // </xs:annotation>
+ // </xs:element>
+ // <xs:complexType name="example1">
+ // <xs:sequence dfdl:separator="">
+ // <xs:element name="byte" type="xs:byte" dfdl:length="2" dfdl:lengthKind="explicit" dfdl:representation="binary"/>
+ // <xs:element name="short" type="xs:short" dfdl:length="4" dfdl:lengthKind="explicit" dfdl:representation="binary"/>
+ // <xs:element name="long" type="xs:long" dfdl:length="4" dfdl:lengthKind="explicit" dfdl:representation="binary"/>
+ // </xs:sequence>
+ // </xs:complexType>)
+ //
+ // val infoset = <list xmlns={ example }><byte>31</byte><short>-112</short><long>1030</long></list>
+ // val bytes = List[Byte](31, -1, -112, 0, 0, 0, 0, 0, 0, 4, 6).toArray
+ // TestUtils.testUnparsingBinary(testSchema, infoset, bytes)
+ // }
+
+ // @Test def testHasPatternFacets() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="e1" type="tns:st1" dfdl:lengthKind="explicit" dfdl:length="1"/>
+ // <xs:simpleType name="st1">
+ // <xs:restriction base="xs:string">
+ // <xs:pattern value="1"/>
+ // <xs:pattern value="2"/>
+ // <xs:pattern value="3"/>
+ // </xs:restriction>
+ // </xs:simpleType>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val decl = declf.forRoot()
+ //
+ // assertEquals(1, decl.patternValues.length)
+ // val (_, pattern) = decl.patternValues(0)
+ // assertEquals("1|2|3", pattern.toString())
+ // }
+
+ // @Test def testPatternFacetsInheritance() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="e1" type="tns:st1" dfdl:lengthKind="explicit" dfdl:length="1"/>
+ // <xs:simpleType name="st1">
+ // <xs:restriction base="tns:st2">
+ // <xs:pattern value="1"/>
+ // <xs:pattern value="2"/>
+ // <xs:pattern value="3"/>
+ // </xs:restriction>
+ // </xs:simpleType>
+ // <xs:simpleType name="st2">
+ // <xs:restriction base="tns:st3">
+ // <xs:pattern value="4"/>
+ // <xs:pattern value="5"/>
+ // <xs:pattern value="6"/>
+ // </xs:restriction>
+ // </xs:simpleType>
+ // <xs:simpleType name="st3">
+ // <xs:restriction base="xs:string">
+ // <xs:pattern value="7"/>
+ // <xs:pattern value="8"/>
+ // <xs:pattern value="9"/>
+ // </xs:restriction>
+ // </xs:simpleType>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val decl = declf.forRoot()
+ //
+ // assertEquals(3, decl.patternValues.length)
+ // val (_, st1) = decl.patternValues(0)
+ // val (_, st2) = decl.patternValues(1)
+ // val (_, st3) = decl.patternValues(2)
+ //
+ // assertEquals("1|2|3", st1.toString())
+ // assertEquals("4|5|6", st2.toString())
+ // assertEquals("7|8|9", st3.toString())
+ // }
+
+ // /**
+ // * Here we just want to test that we can detect next
+ // * elements across sequences. All elements are 'required'.
+ // */
+ // @Test def test_could_be_next_method_01() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence>
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string"/>
+ // <xs:element name="c" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:sequence>
+ // <xs:element name="four" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="j" type="xs:string"/>
+ // <xs:element name="k" type="xs:string"/>
+ // <xs:element name="l" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: ElementBase, two: ElementBase, three: ElementBase, _: Sequence) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val elemsFollowingOne = one.possibleNextTerms
+ // assertEquals(1, elemsFollowingOne.length)
+ // assertEquals("two", elemsFollowingOne(0).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // assertEquals(1, elemsFollowingTwo.length)
+ // assertEquals("three", elemsFollowingTwo(0).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // assertEquals(1, elemsFollowingThree.length)
+ // val seqFollowingThree = elemsFollowingThree(0).asInstanceOf[Sequence]
+ //
+ // val Seq(four: ElementBase) = seqFollowingThree.allSelfContainedTermsTerminatedByRequiredElement
+ // assertEquals("four", four.name)
+ //
+ // }
+
+ // /**
+ // * Here we want to detect that element 'three' is optional.
+ // * As such, the list of possible elements after 'two' should
+ // * contain 'three' and 'four'.
+ // */
+ // @Test def test_could_be_next_method_02() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence>
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string"/>
+ // <xs:element name="c" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:sequence>
+ // <xs:element name="four" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="j" type="xs:string"/>
+ // <xs:element name="k" type="xs:string"/>
+ // <xs:element name="l" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: ElementBase, two: ElementBase, three: ElementBase, _: Sequence) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val elemsFollowingOne = one.possibleNextTerms
+ // assertEquals(1, elemsFollowingOne.length)
+ // assertEquals("two", elemsFollowingOne(0).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // assertEquals(2, elemsFollowingTwo.length)
+ // assertEquals("three", elemsFollowingTwo(0).asInstanceOf[ElementBase].name)
+ // val seqFollowingThree = elemsFollowingTwo(1).asInstanceOf[Sequence]
+ // val Seq(four: ElementBase) = seqFollowingThree.groupMembers
+ // assertEquals("four", four.name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // assertEquals(1, elemsFollowingThree.length)
+ // val seqFollowingThree2 = elemsFollowingThree(0).asInstanceOf[Sequence]
+ // val Seq(four2: ElementBase) = seqFollowingThree2.groupMembers
+ // assertEquals("four", four2.name)
+ // }
+
+ // /**
+ // * Here because 'two' is optional, we expect to see
+ // * 'two' and 'three' in 'one's possibleNextTerms list.
+ // */
+ // @Test def test_could_be_next_method_03() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence>
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string"/>
+ // <xs:element name="c" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:sequence>
+ // <xs:element name="four" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="j" type="xs:string"/>
+ // <xs:element name="k" type="xs:string"/>
+ // <xs:element name="l" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: ElementBase, two: ElementBase, three: ElementBase, _: Sequence) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val elemsFollowingOne = one.possibleNextTerms
+ // assertEquals(2, elemsFollowingOne.length)
+ // assertEquals("two", elemsFollowingOne(0).asInstanceOf[ElementBase].name)
+ // assertEquals("three", elemsFollowingOne(1).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // assertEquals(1, elemsFollowingTwo.length)
+ // assertEquals("three", elemsFollowingTwo(0).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // assertEquals(1, elemsFollowingThree.length)
+ // val seqFollowingThree = elemsFollowingThree(0).asInstanceOf[Sequence]
+ // val Seq(four: ElementBase) = seqFollowingThree.groupMembers
+ // assertEquals("four", four.name)
+ //
+ // }
+
+ // /**
+ // * Here because 'one' is optional, we expect to see
+ // * 'two' in 'one's possibleNextTerms list.
+ // */
+ // @Test def test_could_be_next_method_04() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence>
+ // <xs:element name="one" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string"/>
+ // <xs:element name="c" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:sequence>
+ // <xs:element name="four" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="j" type="xs:string"/>
+ // <xs:element name="k" type="xs:string"/>
+ // <xs:element name="l" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: ElementBase, two: ElementBase, three: ElementBase, _: Sequence) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val elemsFollowingOne = one.possibleNextTerms
+ // assertEquals(1, elemsFollowingOne.length)
+ // assertEquals("two", elemsFollowingOne(0).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // assertEquals(1, elemsFollowingTwo.length)
+ // assertEquals("three", elemsFollowingTwo(0).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // assertEquals(1, elemsFollowingThree.length)
+ // val seqFollowingThree = elemsFollowingThree(0).asInstanceOf[Sequence]
+ // val Seq(four: ElementBase) = seqFollowingThree.groupMembers
+ // assertEquals("four", four.name)
+ //
+ // }
+
+ // /**
+ // * Here because 'two', 'three', and 'four' are optional...
+ // *
+ // * name possibleNextTerms
+ // * =======================
+ // * one two, three, four
+ // * two three, four
+ // * three four
+ // * four -empty-
+ // */
+ // @Test def test_could_be_next_method_05() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence>
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string"/>
+ // <xs:element name="c" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:sequence>
+ // <xs:element name="four" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="j" type="xs:string"/>
+ // <xs:element name="k" type="xs:string"/>
+ // <xs:element name="l" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: ElementBase, two: ElementBase, three: ElementBase, seq: Sequence) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val Seq(four: ElementBase) = seq.groupMembers
+ //
+ // val elemsFollowingOne = one.possibleNextTerms
+ // val Seq(eTwo: ElementBase, eThree: ElementBase, seqFollowingThree: Sequence) = one.possibleNextTerms
+ // assertEquals(3, elemsFollowingOne.length)
+ // assertEquals("two", eTwo.name)
+ // assertEquals("three", eThree.name)
+ // val Seq(eFour: ElementBase) = seqFollowingThree.groupMembers
+ // assertEquals("four", eFour.name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // val Seq(eThree_2: ElementBase, seqFollowingThree_2: Sequence) = two.possibleNextTerms
+ // assertEquals(2, elemsFollowingTwo.length)
+ // assertEquals("three", eThree_2.name)
+ // val Seq(eFour_2: ElementBase) = seqFollowingThree_2.groupMembers
+ // assertEquals("four", eFour_2.name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // val Seq(seqFollowingThree_3: Sequence) = three.possibleNextTerms
+ // assertEquals(1, elemsFollowingThree.length)
+ // val Seq(eFour_3: ElementBase) = seqFollowingThree_3.groupMembers
+ // assertEquals("four", eFour_3.name)
+ //
+ // val elemsFollowingFour = four.possibleNextTerms
+ // assertEquals(0, elemsFollowingFour.length)
+ //
+ // }
+
+ // /**
+ // * Here because 'two', and 'three' are optional...
+ // *
+ // * name possibleNextTerms
+ // * =======================
+ // * one two, three, four
+ // * two three, four
+ // * three four
+ // * four -empty-
+ // */
+ // @Test def test_could_be_next_method_06() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence>
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string"/>
+ // <xs:element name="c" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:sequence>
+ // <xs:element name="four" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="j" type="xs:string"/>
+ // <xs:element name="k" type="xs:string"/>
+ // <xs:element name="l" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: ElementBase, two: ElementBase, three: ElementBase, seq: Sequence) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val Seq(four: ElementBase) = seq.groupMembers
+ //
+ // val elemsFollowingOne = one.possibleNextTerms
+ // val Seq(two_1: ElementBase, three_1: ElementBase, seqFollowingThree_1: Sequence) = one.possibleNextTerms
+ // val Seq(four_1: ElementBase) = seqFollowingThree_1.groupMembers
+ // assertEquals(3, elemsFollowingOne.length)
+ // assertEquals("two", two_1.name)
+ // assertEquals("three", three_1.name)
+ // assertEquals("four", four_1.name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // val Seq(three_2: ElementBase, seqFollowingThree_2: Sequence) = two.possibleNextTerms
+ // val Seq(four_2: ElementBase) = seqFollowingThree_2.groupMembers
+ // assertEquals(2, elemsFollowingTwo.length)
+ // assertEquals("three", three_2.name)
+ // assertEquals("four", four_2.name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // val Seq(seqFollowingThree_3: Sequence) = three.possibleNextTerms
+ // val Seq(four_3: ElementBase) = seqFollowingThree_3.groupMembers
+ // assertEquals(1, elemsFollowingThree.length)
+ // assertEquals("four", four_3.name)
+ //
+ // val elemsFollowingFour = four.possibleNextTerms
+ // assertEquals(0, elemsFollowingFour.length)
+ //
+ // }
+
+ // /**
+ // * Here because 'two', and 'three' are optional...
+ // *
+ // * name possibleNextTerms
+ // * =======================
+ // * one two, three, four
+ // * a b
+ // * b c
+ // * c two, three, four
+ // * two three, four
+ // * three four
+ // * four -empty-
+ // */
+ // @Test def test_could_be_next_method_07() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence>
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string"/>
+ // <xs:element name="c" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:sequence>
+ // <xs:element name="four" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="j" type="xs:string"/>
+ // <xs:element name="k" type="xs:string"/>
+ // <xs:element name="l" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: LocalElementDecl, two: LocalElementDecl, three: LocalElementDecl, seq: Sequence) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val Seq(four: LocalElementDecl) = seq.groupMembers
+ //
+ // val oneCT = one.complexType
+ // val oneCTSeq = oneCT.sequence
+ // val elemsFollowingOneCTSeq = oneCTSeq.possibleNextTerms
+ //
+ // val Seq(two_1: ElementBase, three_1: ElementBase, seqFollowingThree_1: Sequence) = oneCTSeq.possibleNextTerms
+ // val Seq(four_1: ElementBase) = seqFollowingThree_1.groupMembers
+ // assertEquals(3, elemsFollowingOneCTSeq.length)
+ // assertEquals("two", two_1.name)
+ // assertEquals("three", three_1.name)
+ // assertEquals("four", four_1.name)
+ //
+ // val Seq(a: LocalElementDecl, b: LocalElementDecl, c: LocalElementDecl) = oneCTSeq.groupMembers
+ //
+ // val elemsFollowingA = a.possibleNextTerms
+ // assertEquals(1, elemsFollowingA.length)
+ // assertEquals("b", elemsFollowingA(0).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingB = b.possibleNextTerms
+ // assertEquals(1, elemsFollowingB.length)
+ // assertEquals("c", elemsFollowingB(0).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingC = c.possibleNextTerms
+ // val Seq(two_2: ElementBase, three_2: ElementBase, seqFollowingThree_2: Sequence) = c.possibleNextTerms
+ // val Seq(four_2: ElementBase) = seqFollowingThree_2.groupMembers
+ // assertEquals(3, elemsFollowingC.length)
+ // assertEquals("two", two_2.name)
+ // assertEquals("three", three_2.name)
+ // assertEquals("four", four_2.name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // val Seq(three_3: ElementBase, seqFollowingThree_3: Sequence) = two.possibleNextTerms
+ // val Seq(four_3: ElementBase) = seqFollowingThree_3.groupMembers
+ // assertEquals(2, elemsFollowingTwo.length)
+ // assertEquals("three", three_3.name)
+ // assertEquals("four", four_3.name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // val Seq(seqFollowingThree_4: Sequence) = three.possibleNextTerms
+ // val Seq(four_4: ElementBase) = seqFollowingThree_4.groupMembers
+ // assertEquals(1, elemsFollowingThree.length)
+ // assertEquals("four", four_4.name)
+ //
+ // val elemsFollowingFour = four.possibleNextTerms
+ // assertEquals(0, elemsFollowingFour.length)
+ //
+ // }
+
+ // /**
+ // * Here we've added three levels of sequences
+ // * that contain optional elements.
+ // *
+ // * The innermost sequence is in the last position.
+ // *
+ // * name possibleNextTerms
+ // * =======================
+ // * one two, three, four
+ // * a b, c, s-1, s-2, s-3
+ // * b c, s-1, s-2, s-3
+ // * c s-1, s-2, s-3
+ // * two three, four
+ // * three four
+ // * four -empty-
+ // */
+ // @Test def test_could_be_next_method_08() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence>
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ // <xs:element name="c" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ // <xs:sequence dfdl:separator="-">
+ // <xs:element name="s-1" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ // <xs:element name="s-2" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ // <xs:element name="s-3" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:sequence>
+ // <xs:element name="four" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="j" type="xs:string"/>
+ // <xs:element name="k" type="xs:string"/>
+ // <xs:element name="l" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: LocalElementDecl, two: LocalElementDecl, three: LocalElementDecl, seq: Sequence) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val Seq(four: LocalElementDecl) = seq.groupMembers
+ //
+ // val oneCT = one.complexType
+ // val oneCTSeq = oneCT.sequence
+ // val elemsFollowingOneCTSeq = oneCTSeq.possibleNextTerms
+ //
+ // val Seq(two_1: ElementBase, three_1: ElementBase, seqFollowingThree_1: Sequence) = oneCTSeq.possibleNextTerms
+ // val Seq(four_1: ElementBase) = seqFollowingThree_1.groupMembers
+ // assertEquals(3, elemsFollowingOneCTSeq.length)
+ // assertEquals("two", two_1.name)
+ // assertEquals("three", three_1.name)
+ // assertEquals("four", four_1.name)
+ //
+ // val Seq(a: LocalElementDecl, b: LocalElementDecl, c: LocalElementDecl, _: Sequence) = oneCTSeq.groupMembers
+ //
+ // val elemsFollowingA = a.possibleNextTerms
+ // val Seq(b_1: ElementBase, c_1: ElementBase, seqFollowingC_1: Sequence) = a.possibleNextTerms
+ // val Seq(s1_1: ElementBase, s2_1: ElementBase, s3_1: ElementBase) = seqFollowingC_1.groupMembers
+ // assertEquals(3, elemsFollowingA.length)
+ // assertEquals("b", b_1.name)
+ // assertEquals("c", c_1.name)
+ // assertEquals("s-1", s1_1.name)
+ // assertEquals("s-2", s2_1.name)
+ // assertEquals("s-3", s3_1.name)
+ //
+ // val elemsFollowingB = b.possibleNextTerms
+ // val Seq(c_2: ElementBase, seqFollowingC_2: Sequence) = b.possibleNextTerms
+ // val Seq(s1_2: ElementBase, s2_2: ElementBase, s3_2: ElementBase) = seqFollowingC_2.groupMembers
+ // assertEquals(2, elemsFollowingB.length)
+ // assertEquals("c", c_2.name)
+ // assertEquals("s-1", s1_2.name)
+ // assertEquals("s-2", s2_2.name)
+ // assertEquals("s-3", s3_2.name)
+ //
+ // val elemsFollowingC = c.possibleNextTerms
+ // val Seq(seqFollowingC_3: Sequence) = c.possibleNextTerms
+ // val Seq(s1_3: ElementBase, s2_3: ElementBase, s3_3: ElementBase) = seqFollowingC_3.groupMembers
+ // assertEquals(1, elemsFollowingC.length)
+ // assertEquals("s-1", s1_3.name)
+ // assertEquals("s-2", s2_3.name)
+ // assertEquals("s-3", s3_3.name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // val Seq(three_2: ElementBase, seqFollowingThree_2: Sequence) = two.possibleNextTerms
+ // val Seq(four_2: ElementBase) = seqFollowingThree_2.groupMembers
+ // assertEquals(2, elemsFollowingTwo.length)
+ // assertEquals("three", three_2.name)
+ // assertEquals("four", four_2.name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // val Seq(seqFollowingThree_3: Sequence) = three.possibleNextTerms
+ // val Seq(four_3: ElementBase) = seqFollowingThree_3.groupMembers
+ // assertEquals(1, elemsFollowingThree.length)
+ // assertEquals("four", four_3.name)
+ //
+ // val elemsFollowingFour = four.possibleNextTerms
+ // assertEquals(0, elemsFollowingFour.length)
+ //
+ // }
+
+ // /**
+ // * Here we've added three levels of sequences
+ // * that contain optional elements.
+ // *
+ // * The inner most sequence is in the middle.
+ // *
+ // * name possibleNextTerms
+ // * =======================
+ // * one two, three, four
+ // * a b, s-1, s-2, s-3
+ // * b s-1, s-2, s-3
+ // * c two, three, four
+ // * two three, four
+ // * three four
+ // * four -empty-
+ // */
+ // @Test def test_could_be_next_method_09() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence>
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ // <xs:sequence dfdl:separator="-">
+ // <xs:element name="s-1" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ // <xs:element name="s-2" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ // <xs:element name="s-3" type="xs:string"/>
+ // </xs:sequence>
+ // <xs:element name="c" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:sequence>
+ // <xs:element name="four" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="j" type="xs:string"/>
+ // <xs:element name="k" type="xs:string"/>
+ // <xs:element name="l" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: LocalElementDecl, two: LocalElementDecl, three: LocalElementDecl, seq: Sequence) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val Seq(four: LocalElementDecl) = seq.groupMembers
+ //
+ // val oneCT = one.complexType
+ // val oneCTSeq = oneCT.sequence
+ // val elemsFollowingOneCTSeq = oneCTSeq.possibleNextTerms
+ //
+ // val Seq(two_1: ElementBase, three_1: ElementBase, seqFollowingThree_1: Sequence) = oneCTSeq.possibleNextTerms
+ // val Seq(four_1: ElementBase) = seqFollowingThree_1.groupMembers
+ // assertEquals(3, elemsFollowingOneCTSeq.length)
+ // assertEquals("two", two_1.name)
+ // assertEquals("three", three_1.name)
+ // assertEquals("four", four_1.name)
+ //
+ // val Seq(a: LocalElementDecl, b: LocalElementDecl, _: Sequence, c: LocalElementDecl) = oneCTSeq.groupMembers
+ //
+ // val elemsFollowingA = a.possibleNextTerms
+ // val Seq(b_1: ElementBase, seqFollowingA: Sequence) = a.possibleNextTerms
+ // val Seq(s1_1: ElementBase, s2_1: ElementBase, s3_1: ElementBase) = seqFollowingA.groupMembers
+ // assertEquals(2, elemsFollowingA.length)
+ // assertEquals("b", b_1.name)
+ // assertEquals("s-1", s1_1.name)
+ // assertEquals("s-2", s2_1.name)
+ // assertEquals("s-3", s3_1.name)
+ //
+ // val elemsFollowingB = b.possibleNextTerms
+ // val Seq(seqFollowingB: Sequence) = b.possibleNextTerms
+ // val Seq(s1_2: ElementBase, s2_2: ElementBase, s3_2: ElementBase) = seqFollowingB.groupMembers
+ // assertEquals(1, elemsFollowingB.length)
+ // assertEquals("s-1", s1_2.name)
+ // assertEquals("s-2", s2_2.name)
+ // assertEquals("s-3", s3_2.name)
+ //
+ // val elemsFollowingC = c.possibleNextTerms
+ // val Seq(two_2: ElementBase, three_2: ElementBase, seqFollowingThree_2: Sequence) = c.possibleNextTerms
+ // val Seq(four_2: ElementBase) = seqFollowingThree_2.groupMembers
+ // assertEquals(3, elemsFollowingC.length)
+ // assertEquals("two", two_2.name)
+ // assertEquals("three", three_2.name)
+ // assertEquals("four", four_2.name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // val Seq(three_3: ElementBase, seqFollowingThree_3: Sequence) = two.possibleNextTerms
+ // val Seq(four_3: ElementBase) = seqFollowingThree_3.groupMembers
+ // assertEquals(2, elemsFollowingTwo.length)
+ // assertEquals("three", three_3.name)
+ // assertEquals("four", four_3.name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // val Seq(seqFollowingThree_4: Sequence) = three.possibleNextTerms
+ // val Seq(four_4: ElementBase) = seqFollowingThree_4.groupMembers
+ // assertEquals(1, elemsFollowingThree.length)
+ // assertEquals("four", four_4.name)
+ //
+ // val elemsFollowingFour = four.possibleNextTerms
+ // assertEquals(0, elemsFollowingFour.length)
+ //
+ // }
+
+ // /**
+ // * Here we've added three levels of sequences
+ // * that contain optional elements.
+ // *
+ // * The inner most sequence is in the beginning.
+ // *
+ // * name possibleNextTerms
+ // * =======================
+ // * one two, three, four
+ // * a b
+ // * b c
+ // * c two, three, four
+ // * two three, four
+ // * three four
+ // * four -empty-
+ // */
+ // @Test def test_could_be_next_method_10() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence>
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:sequence dfdl:separator="-">
+ // <xs:element name="s-1" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ // <xs:element name="s-2" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ // <xs:element name="s-3" type="xs:string"/>
+ // </xs:sequence>
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ // <xs:element name="c" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:sequence>
+ // <xs:element name="four" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="j" type="xs:string"/>
+ // <xs:element name="k" type="xs:string"/>
+ // <xs:element name="l" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: LocalElementDecl, two: LocalElementDecl, three: LocalElementDecl, seq: Sequence) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val Seq(four: LocalElementDecl) = seq.groupMembers
+ //
+ // val oneCT = one.complexType
+ // val oneCTSeq = oneCT.sequence
+ // val elemsFollowingOneCTSeq = oneCTSeq.possibleNextTerms
+ //
+ // val Seq(two_1: ElementBase, three_1: ElementBase, seqFollowingThree_1: Sequence) = oneCTSeq.possibleNextTerms
+ // val Seq(four_1: ElementBase) = seqFollowingThree_1.groupMembers
+ // assertEquals(3, elemsFollowingOneCTSeq.length)
+ // assertEquals("two", two_1.name)
+ // assertEquals("three", three_1.name)
+ // assertEquals("four", four_1.name)
+ //
+ // val Seq(_: Sequence, a: LocalElementDecl, b: LocalElementDecl, c: LocalElementDecl) = oneCTSeq.groupMembers
+ //
+ // val elemsFollowingA = a.possibleNextTerms
+ // val Seq(b_2: ElementBase, c_2: ElementBase, two_2: ElementBase, three_2: ElementBase, seqFollowingThree_2: Sequence) = a.possibleNextTerms
+ // val Seq(four_2: ElementBase) = seqFollowingThree_2.groupMembers
+ // assertEquals(5, elemsFollowingA.length)
+ // assertEquals("b", b_2.name)
+ // assertEquals("c", c_2.name)
+ // assertEquals("two", two_2.name)
+ // assertEquals("three", three_2.name)
+ // assertEquals("four", four_2.name)
+ //
+ // val elemsFollowingB = b.possibleNextTerms
+ // val Seq(c_3: ElementBase, two_3: ElementBase, three_3: ElementBase, seqFollowingThree_3: Sequence) = b.possibleNextTerms
+ // val Seq(four_3: ElementBase) = seqFollowingThree_3.groupMembers
+ // assertEquals(4, elemsFollowingB.length)
+ // assertEquals("c", c_3.name)
+ // assertEquals("two", two_3.name)
+ // assertEquals("three", three_3.name)
+ // assertEquals("four", four_3.name)
+ //
+ // val elemsFollowingC = c.possibleNextTerms
+ // val Seq(two_4: ElementBase, three_4: ElementBase, seqFollowingThree_4: Sequence) = c.possibleNextTerms
+ // val Seq(four_4: ElementBase) = seqFollowingThree_4.groupMembers
+ // assertEquals(3, elemsFollowingC.length)
+ // assertEquals("two", two_4.name)
+ // assertEquals("three", three_4.name)
+ // assertEquals("four", four_4.name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // val Seq(three_5: ElementBase, seqFollowingThree_5: Sequence) = two.possibleNextTerms
+ // val Seq(four_5: ElementBase) = seqFollowingThree_5.groupMembers
+ // assertEquals(2, elemsFollowingTwo.length)
+ // assertEquals("three", three_5.name)
+ // assertEquals("four", four_5.name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // val Seq(seqFollowingThree_6: Sequence) = three.possibleNextTerms
+ // val Seq(four_6: ElementBase) = seqFollowingThree_6.groupMembers
+ // assertEquals(1, elemsFollowingThree.length)
+ // assertEquals("four", four_6.name)
+ //
+ // val elemsFollowingFour = four.possibleNextTerms
+ // assertEquals(0, elemsFollowingFour.length)
+ //
+ // }
+
+ // /**
+ // * Here we just want to test that we can detect next
+ // * elements across sequences (unordered). All elements are 'required'.
+ // * However, because these are unordered sequences optionality doesn't matter.
+ // */
+ // @Test def test_could_be_next_method_11() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence dfdl:sequenceKind="unordered">
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator=",">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string"/>
+ // <xs:element name="c" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: ElementBase, two: ElementBase, three: ElementBase) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val elemsFollowingOne = one.possibleNextTerms
+ // assertEquals(3, elemsFollowingOne.length)
+ // assertEquals("one", elemsFollowingOne(0).asInstanceOf[ElementBase].name)
+ // assertEquals("two", elemsFollowingOne(1).asInstanceOf[ElementBase].name)
+ // assertEquals("three", elemsFollowingOne(2).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // assertEquals(3, elemsFollowingTwo.length)
+ // assertEquals("one", elemsFollowingTwo(0).asInstanceOf[ElementBase].name)
+ // assertEquals("two", elemsFollowingTwo(1).asInstanceOf[ElementBase].name)
+ // assertEquals("three", elemsFollowingTwo(2).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // assertEquals(3, elemsFollowingThree.length)
+ // assertEquals("one", elemsFollowingThree(0).asInstanceOf[ElementBase].name)
+ // assertEquals("two", elemsFollowingThree(1).asInstanceOf[ElementBase].name)
+ // assertEquals("three", elemsFollowingThree(2).asInstanceOf[ElementBase].name)
+ // }
+
+ // /**
+ // * Unordered Sequences
+ // *
+ // * Here the fact that 'three' is optional doesn't matter. The
+ // * elements are in an unordered sequence, so any of the elements:
+ // * one, two or three could be next.
+ // */
+ // @Test def test_could_be_next_method_12() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence dfdl:sequenceKind="unordered">
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string"/>
+ // <xs:element name="c" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: ElementBase, two: ElementBase, three: ElementBase) =
+ // rootCTSeq.groupMembers
+ //
+ // val elemsFollowingOne = one.possibleNextTerms
+ // assertEquals(3, elemsFollowingOne.length)
+ // assertEquals("one", elemsFollowingOne(0).asInstanceOf[ElementBase].name)
+ // assertEquals("two", elemsFollowingOne(1).asInstanceOf[ElementBase].name)
+ // assertEquals("three", elemsFollowingOne(2).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // assertEquals(3, elemsFollowingTwo.length)
+ // assertEquals("one", elemsFollowingTwo(0).asInstanceOf[ElementBase].name)
+ // assertEquals("two", elemsFollowingTwo(1).asInstanceOf[ElementBase].name)
+ // assertEquals("three", elemsFollowingTwo(2).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // assertEquals(3, elemsFollowingThree.length)
+ // assertEquals("one", elemsFollowingThree(0).asInstanceOf[ElementBase].name)
+ // assertEquals("two", elemsFollowingThree(1).asInstanceOf[ElementBase].name)
+ // assertEquals("three", elemsFollowingThree(2).asInstanceOf[ElementBase].name)
+ // }
+
+ // /**
+ // * Unordered Sequences
+ // *
+ // * Here because 'two', and 'three' are optional...
+ // *
+ // * name possibleNextTerms
+ // * =======================
+ // * one two, three
+ // * a b, c
+ // * b a, c
+ // * c a, b, one, two, three
+ // * two one, three
+ // * three one, two
+ // */
+ // @Test def test_could_be_next_method_13() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence dfdl:sequenceKind="unordered">
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string"/>
+ // <xs:element name="c" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: LocalElementDecl, two: LocalElementDecl, three: LocalElementDecl) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val oneCT = one.complexType
+ // val oneCTSeq = oneCT.sequence
+ // val elemsFollowingOneCTSeq = oneCTSeq.possibleNextTerms
+ //
+ // val Seq(one_1: ElementBase, two_1: ElementBase, three_1: ElementBase) = oneCTSeq.possibleNextTerms
+ // assertEquals(3, elemsFollowingOneCTSeq.length)
+ // assertEquals("one", one_1.name)
+ // assertEquals("two", two_1.name)
+ // assertEquals("three", three_1.name)
+ //
+ // val Seq(a: LocalElementDecl, b: LocalElementDecl, c: LocalElementDecl) = oneCTSeq.groupMembers
+ //
+ // val elemsFollowingA = a.possibleNextTerms
+ // assertEquals(6, elemsFollowingA.length)
+ // assertEquals("a", elemsFollowingA(0).asInstanceOf[ElementBase].name)
+ // assertEquals("b", elemsFollowingA(1).asInstanceOf[ElementBase].name)
+ // assertEquals("c", elemsFollowingA(2).asInstanceOf[ElementBase].name)
+ // assertEquals("one", elemsFollowingA(3).asInstanceOf[ElementBase].name)
+ // assertEquals("two", elemsFollowingA(4).asInstanceOf[ElementBase].name)
+ // assertEquals("three", elemsFollowingA(5).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingB = b.possibleNextTerms
+ // assertEquals(6, elemsFollowingB.length)
+ // assertEquals("a", elemsFollowingB(0).asInstanceOf[ElementBase].name)
+ // assertEquals("b", elemsFollowingB(1).asInstanceOf[ElementBase].name)
+ // assertEquals("c", elemsFollowingB(2).asInstanceOf[ElementBase].name)
+ // assertEquals("one", elemsFollowingB(3).asInstanceOf[ElementBase].name)
+ // assertEquals("two", elemsFollowingB(4).asInstanceOf[ElementBase].name)
+ // assertEquals("three", elemsFollowingB(5).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingC = c.possibleNextTerms
+ // val Seq(a_2: ElementBase, b_2: ElementBase, c_2: ElementBase, one_2: ElementBase, two_2: ElementBase, three_2: ElementBase) = c.possibleNextTerms
+ // assertEquals(6, elemsFollowingC.length)
+ // assertEquals("a", a_2.name)
+ // assertEquals("b", b_2.name)
+ // assertEquals("c", c_2.name)
+ // assertEquals("one", one_2.name)
+ // assertEquals("two", two_2.name)
+ // assertEquals("three", three_2.name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // val Seq(one_3: ElementBase, two_3: ElementBase, three_3: ElementBase) = two.possibleNextTerms
+ // assertEquals(3, elemsFollowingTwo.length)
+ // assertEquals("one", one_3.name)
+ // assertEquals("two", two_3.name)
+ // assertEquals("three", three_3.name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // val Seq(one_4: ElementBase, two_4: ElementBase, three_4: ElementBase) = three.possibleNextTerms
+ // assertEquals(3, elemsFollowingThree.length)
+ // assertEquals("one", one_4.name)
+ // assertEquals("two", two_4.name)
+ // assertEquals("three", three_4.name)
+ // }
+
+ // /**
+ // * Unordered Sequences
+ // *
+ // * Here because 'two', and 'three' are optional...
+ // *
+ // * name possibleNextTerms
+ // * =======================
+ // * one two, three
+ // * a b
+ // * b c
+ // * c one, two, three
+ // * two one, three
+ // * three one, two
+ // */
+ // @Test def test_could_be_next_method_13_1() {
+ // val testSchema = SchemaUtils.dfdlTestSchema(
+ // <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd"/>,
+ // <dfdl:format ref="tns:GeneralFormat"/>,
+ // <xs:element name="root">
+ // <xs:complexType>
+ // <xs:sequence dfdl:sequenceKind="unordered">
+ // <xs:element name="one" dfdl:terminator=":">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator="," dfdl:sequenceKind="ordered">
+ // <xs:element name="a" type="xs:string"/>
+ // <xs:element name="b" type="xs:string"/>
+ // <xs:element name="c" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="two" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
+ // <xs:element name="d" type="xs:string"/>
+ // <xs:element name="e" type="xs:string"/>
+ // <xs:element name="f" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // <xs:element name="three" dfdl:terminator=":" minOccurs="0" maxOccurs="1">
+ // <xs:complexType>
+ // <xs:sequence dfdl:separator="," dfdl:sequenceKind="unordered">
+ // <xs:element name="g" type="xs:string"/>
+ // <xs:element name="h" type="xs:string"/>
+ // <xs:element name="i" type="xs:string"/>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>
+ // </xs:sequence>
+ // </xs:complexType>
+ // </xs:element>)
+ //
+ // val compiler = Compiler()
+ // val sset = compiler.compileNode(testSchema).sset
+ // val Seq(schema) = sset.schemas
+ // val Seq(schemaDoc, _) = schema.schemaDocuments
+ // val Seq(declf) = schemaDoc.globalElementDecls
+ // val root = declf.forRoot()
+ // val rootCT = root.complexType
+ //
+ // // Verify that nothing follows the root, as it is the root.
+ // val elemsFollowingRoot = root.possibleNextTerms
+ // assertEquals(0, elemsFollowingRoot.length)
+ //
+ // val rootCTSeq = rootCT.sequence //... which is a sequence
+ //
+ // // Verify that nothing follows the sequence of the root.
+ // val elemsFollowingRootSeq = rootCTSeq.possibleNextTerms
+ // assertEquals(0, elemsFollowingRootSeq.length)
+ //
+ // val Seq(one: LocalElementDecl, two: LocalElementDecl, three: LocalElementDecl) =
+ // rootCTSeq.groupMembers // has an element and a sub-sequence as its children.
+ //
+ // val oneCT = one.complexType
+ // val oneCTSeq = oneCT.sequence
+ // val elemsFollowingOneCTSeq = oneCTSeq.possibleNextTerms
+ //
+ // val Seq(one_1: ElementBase, two_1: ElementBase, three_1: ElementBase) = oneCTSeq.possibleNextTerms
+ // assertEquals(3, elemsFollowingOneCTSeq.length)
+ // assertEquals("one", one_1.name)
+ // assertEquals("two", two_1.name)
+ // assertEquals("three", three_1.name)
+ //
+ // val Seq(a: LocalElementDecl, b: LocalElementDecl, c: LocalElementDecl) = oneCTSeq.groupMembers
+ //
+ // val elemsFollowingA = a.possibleNextTerms
+ // assertEquals(1, elemsFollowingA.length)
+ // assertEquals("b", elemsFollowingA(0).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingB = b.possibleNextTerms
+ // assertEquals(1, elemsFollowingB.length)
+ // assertEquals("c", elemsFollowingB(0).asInstanceOf[ElementBase].name)
+ //
+ // val elemsFollowingC = c.possibleNextTerms
+ // val Seq(one_2: ElementBase, two_2: ElementBase, three_2: ElementBase) = c.possibleNextTerms
+ // assertEquals(3, elemsFollowingC.length)
+ // assertEquals("one", one_2.name)
+ // assertEquals("two", two_2.name)
+ // assertEquals("three", three_2.name)
+ //
+ // val elemsFollowingTwo = two.possibleNextTerms
+ // val Seq(one_3: ElementBase, two_3: ElementBase, three_3: ElementBase) = two.possibleNextTerms
+ // assertEquals(3, elemsFollowingTwo.length)
+ // assertEquals("one", one_3.name)
+ // assertEquals("two", two_3.name)
+ // assertEquals("three", three_3.name)
+ //
+ // val elemsFollowingThree = three.possibleNextTerms
+ // val Seq(one_4: ElementBase, two_4: ElementBase, three_4: ElementBase) = three.possibleNextTerms
+ // assertEquals(3, elemsFollowingThree.length)
+ // assertEquals("one", one_4.name)
+ // assertEquals("two", two_4.name)
+ // assertEquals("three", three_4.name)
+ // }
+
}
diff --git a/daffodil-lib/src/main/scala/org/apache/daffodil/util/Misc.scala b/daffodil-lib/src/main/scala/org/apache/daffodil/util/Misc.scala
index d210c16..fbb01a6 100644
--- a/daffodil-lib/src/main/scala/org/apache/daffodil/util/Misc.scala
+++ b/daffodil-lib/src/main/scala/org/apache/daffodil/util/Misc.scala
@@ -142,15 +142,18 @@ object Misc {
// val lines = cp.split(":").toSeq
// lines
val cl = this.getClass().getClassLoader()
- val urls = cl.asInstanceOf[URLClassLoader].getURLs()
- urls.toList
+ val urls = cl match {
+ case url: URLClassLoader => url.getURLs().toSeq
+ case _ => Seq.empty
+ }
+ urls
}
def getRequiredResource(resourcePath: String): URI = {
getResourceOption(resourcePath) match {
case (None, resPath) => {
val msg = "Required resource " + resPath + " was not found.\nClasspath is " +
- (if (classPath.length == 0) "empty."
+ (if (classPath.length == 0) "unknown."
else ": " + classPath.mkString("\n"))
// System.err.println(msg)
throw new java.io.FileNotFoundException(msg)
diff --git a/daffodil-lib/src/test/scala-debug/.keep b/daffodil-lib/src/test/scala-debug/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/daffodil-lib/src/test/scala-debug/org/apache/daffodil/api/TestForMemLeak.scala b/daffodil-lib/src/test/scala-debug/org/apache/daffodil/api/TestForMemLeak.scala
deleted file mode 100644
index b0ab24d..0000000
--- a/daffodil-lib/src/test/scala-debug/org/apache/daffodil/api/TestForMemLeak.scala
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
-* This code commented out because sbt was crashing.
-*
-* It might be useful in the future so we should keep it around like this.
-*/
-//package org.apache.daffodil.api
-//
-//import junit.framework.Assert._
-//import org.junit.Test
-//
-//class Delay(v: => Any) {
-// lazy val value = { v }
-//}
-//
-//class L {
-// var list: Seq[Delay] = Nil
-//}
-//
-//class H(l: L) {
-// def R(a0: => Any): Unit = {
-// l.list :+= new Delay(a0)
-// }
-//}
-//
-//class Q(body: => String) {
-// val wasteSomeMemory = new Array[Byte](500000) // makes the memory leak obvious
-// def value = body
-//}
-//
-//class TestForMemLeak {
-//
-// @Test def testLeak() {
-// 1 to 100000 foreach { _ =>
-// System.gc()
-// Thread.sleep(10) // lets jvisualvm get a timeslice so it can open the vm quickly
-// new H(new L) {
-// (attrib.value)
-// val attrib = new Q("foobar")
-// } // Make them, and discard them.
-// }
-// }
-//}
-
diff --git a/daffodil-runtime1-unparser/src/test/scala-debug/.keep b/daffodil-runtime1-unparser/src/test/scala-debug/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/daffodil-runtime1/src/test/scala-debug/.keep b/daffodil-runtime1/src/test/scala-debug/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/daffodil-tdml-lib/src/test/resources/test-suite/ibm-contributed/dpaext1.tdml b/daffodil-tdml-lib/src/test/resources/test-suite/ibm-contributed/dpaext1-2.tdml
similarity index 100%
rename from daffodil-tdml-lib/src/test/resources/test-suite/ibm-contributed/dpaext1.tdml
rename to daffodil-tdml-lib/src/test/resources/test-suite/ibm-contributed/dpaext1-2.tdml
diff --git a/daffodil-tdml-lib/src/test/scala-debug/.keep b/daffodil-tdml-lib/src/test/scala-debug/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/daffodil-tdml-lib/src/test/scala-debug/org/apache/daffodil/tdml/TestTDMLRunner3.scala b/daffodil-tdml-lib/src/test/scala-debug/org/apache/daffodil/tdml/TestTDMLRunner3.scala
deleted file mode 100644
index 227425c..0000000
--- a/daffodil-tdml-lib/src/test/scala-debug/org/apache/daffodil/tdml/TestTDMLRunner3.scala
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.tdml
-
-import org.apache.daffodil.xml.XMLUtils
-import junit.framework.Assert.assertEquals
-import org.apache.daffodil.util._
-import org.junit.Test
-
-class TestTDMLRunner3 {
-
- val tdml = XMLUtils.TDML_NAMESPACE
- val dfdl = XMLUtils.DFDL_NAMESPACE
- val xsi = XMLUtils.XSI_NAMESPACE
- val xsd = XMLUtils.XSD_NAMESPACE
- val example = XMLUtils.EXAMPLE_NAMESPACE
- val tns = example
-
- /**
- * Test illustrates problem with multiple document parts having a RTL byte order
- * not being assembled properly.
- *
- * That or the document bitOrder is causing the parts bitOrders to be assembled incorrectly.
- *
- * There are many other tests that use RTL byte order to assemble bits together, so it is
- * something about mixing byteOrder RTL with LTR that is causing the problem.
- *
- * Bug DAFFODIL-1898
- */
- @Test def testMixedBigEndianMSBFWithLittleEndianLSBF() {
- val xml = <document bitOrder="MSBFirst" xmlns="http://www.ibm.com/xmlns/dfdl/testData">
- <documentPart type="byte" bitOrder="MSBFirst" byteOrder="LTR">AA </documentPart>
- <documentPart type="bits" bitOrder="LSBFirst" byteOrder="RTL">XXXX X001</documentPart>
- <documentPart type="bits" bitOrder="LSBFirst" byteOrder="RTL">1111 1XXX</documentPart>
- <!-- The above is AAF9 -->
- </document>
- val doc = new Document(xml, null)
- val bytes = doc.documentBytes
- val hexDigits = Misc.bytes2Hex(bytes)
- val expected = "AAF9".replace(" ", "")
- assertEquals(expected, hexDigits)
- }
-
-}
diff --git a/daffodil-tdml-lib/src/test/scala/org/apache/daffodil/tdml/UnitTestTDMLRunner.scala b/daffodil-tdml-lib/src/test/scala/org/apache/daffodil/tdml/UnitTestTDMLRunner.scala
index a5f8d3f..af39e42 100644
--- a/daffodil-tdml-lib/src/test/scala/org/apache/daffodil/tdml/UnitTestTDMLRunner.scala
+++ b/daffodil-tdml-lib/src/test/scala/org/apache/daffodil/tdml/UnitTestTDMLRunner.scala
@@ -220,7 +220,7 @@ class UnitTestTDMLRunner {
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
@Test def testTDMLResource() {
- lazy val res = Misc.getRequiredResource("/test-suite/ibm-contributed/dpaext1.tdml")
+ lazy val res = Misc.getRequiredResource("/test-suite/ibm-contributed/dpaext1-2.tdml")
lazy val ts = new DFDLTestSuite(new File(res))
val mf = ts.findTDMLResource("./fvt/ext/dpa/dpaspc121_01.dfdl.xsd")
val file = new File(mf.get)
diff --git a/daffodil-tdml-processor/src/test/scala-debug/org/apache/daffodil/tdml/TestTDMLRunner4.scala b/daffodil-tdml-processor/src/test/scala-debug/org/apache/daffodil/tdml/TestTDMLRunner4.scala
deleted file mode 100644
index 4ef32b3..0000000
--- a/daffodil-tdml-processor/src/test/scala-debug/org/apache/daffodil/tdml/TestTDMLRunner4.scala
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.tdml
-
-import org.apache.daffodil.util._
-import org.junit.Test
-
-class TestTDMLRunner4 {
-
- val testDir = "/test/tdml/"
- val runner = Runner(testDir, "tdmlQuoting.tdml", validateTDMLFile = false)
-
- /**
- * Test illustrates problem with tdml runner correctly processes apostrophes (')
- * in the html format (') within the document or infoset data. The aposrophes are
- * stripped out of actual or expected values causing the comparison to fail.
- *
- * Bug DAFFODIL-1928
- */
- @Test def test_apos_test1() { runner.runOneTest("apos_test1") }
- @Test def test_apos_test2() { runner.runOneTest("apos_test2") }
-
-}
diff --git a/daffodil-tdml-processor/src/test/scala/org/apache/daffodil/tdml/TestTDMLRunner.scala b/daffodil-tdml-processor/src/test/scala/org/apache/daffodil/tdml/TestTDMLRunner.scala
index 9c0b18a..aafba86 100644
--- a/daffodil-tdml-processor/src/test/scala/org/apache/daffodil/tdml/TestTDMLRunner.scala
+++ b/daffodil-tdml-processor/src/test/scala/org/apache/daffodil/tdml/TestTDMLRunner.scala
@@ -689,4 +689,29 @@ f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff
assertTrue(msg.contains("1995-03-24T01:30:00+00:00"))
}
+ /**
+ * Test illustrates problem with multiple document parts having a RTL byte order
+ * not being assembled properly.
+ *
+ * That or the document bitOrder is causing the parts bitOrders to be assembled incorrectly.
+ *
+ * There are many other tests that use RTL byte order to assemble bits together, so it is
+ * something about mixing byteOrder RTL with LTR that is causing the problem.
+ *
+ * Bug DAFFODIL-1898
+ */
+ // @Test def testMixedBigEndianMSBFWithLittleEndianLSBF() {
+ // val xml = <document bitOrder="MSBFirst" xmlns="http://www.ibm.com/xmlns/dfdl/testData">
+ // <documentPart type="byte" bitOrder="MSBFirst" byteOrder="LTR">AA </documentPart>
+ // <documentPart type="bits" bitOrder="LSBFirst" byteOrder="RTL">XXXX X001</documentPart>
+ // <documentPart type="bits" bitOrder="LSBFirst" byteOrder="RTL">1111 1XXX</documentPart>
+ // <!-- The above is AAF9 -->
+ // </document>
+ // val doc = new Document(xml, null)
+ // val bytes = doc.documentBytes
+ // val hexDigits = Misc.bytes2Hex(bytes)
+ // val expected = "AAF9".replace(" ", "")
+ // assertEquals(expected, hexDigits)
+ // }
+
}
diff --git a/daffodil-test-ibm1/src/main/scala-debug/org/apache/daffodil/.keep b/daffodil-test-ibm1/src/main/scala-debug/org/apache/daffodil/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/daffodil-test-ibm1/src/test/scala-debug/org/apache/daffodil/.keep b/daffodil-test-ibm1/src/test/scala-debug/org/apache/daffodil/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/daffodil-test-ibm1/src/test/scala-debug/org/apache/daffodil/IBMTests2.scala b/daffodil-test-ibm1/src/test/scala-debug/org/apache/daffodil/IBMTests2.scala
deleted file mode 100644
index f40b68e..0000000
--- a/daffodil-test-ibm1/src/test/scala-debug/org/apache/daffodil/IBMTests2.scala
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil
-
-import org.junit.Test
-import org.apache.daffodil.tdml.DFDLTestSuite
-import org.apache.daffodil.util.Misc
-import org.junit.Test
-
-class IBMTestsThatFail {
-
- val testDir = "/test-suite/ibm-contributed/"
- val tdml1 = testDir + "dpaext1.tdml"
- val tdml2 = testDir + "dpaext2.tdml"
- lazy val runner1 = new DFDLTestSuite(Misc.getRequiredResource(tdml1))
- lazy val runner2 = new DFDLTestSuite(Misc.getRequiredResource(tdml2))
-
- // DAFFODIL-1541 Need support for handling delimited data with encoding other than ISO-8859-1
- @Test def test_length_delimited_12_05() { runner1.runOneTest("length_delimited_12_05") }
-
- // DAFFODIL-853 text number advanced props (V Symbol)
- @Test def test_simple_type_properties_text_number_13_01() { runner2.runOneTest("simple_type_properties_text_number_13_01") }
-
- // DAFFODIL-840 textStandardBase (base 16)
- @Test def test_simple_type_properties_text_number_13_03() { runner2.runOneTest("simple_type_properties_text_number_13_03") }
-
- // DAFFODIL-551 Needs dfdl:utf16Width='variable' implementation
- @Test def test_syntax_entities_6_03() { runner1.runOneTest("syntax_entities_6_03") }
-}
diff --git a/daffodil-test-ibm1/src/test/scala-debug/org/apache/daffodil/TresysTests.scala b/daffodil-test-ibm1/src/test/scala-debug/org/apache/daffodil/TresysTests.scala
deleted file mode 100644
index 67a6523..0000000
--- a/daffodil-test-ibm1/src/test/scala-debug/org/apache/daffodil/TresysTests.scala
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil
-
-import org.junit.Test
-import org.apache.daffodil.tdml.DFDLTestSuite
-import org.apache.daffodil.util.Misc
-
-class TresysTestsDebug {
-
- // Debug Template
- // @Test def test_name() = Debugger.withDebugger {
- // LoggingDefaults.setLoggingLevel(LogLevel.Debug)
- // runner.runOneTest("test_name")
- // }
-
- val testDir = "/test-suite/tresys-contributed/"
-
- // Jira DFDL-1392 - Issue with escapeEscape character that is first and precedes an escape-block start.
- // Is being removed, but should be preserved as it does not precede an escape character, nor an escape block end.
- val ba = testDir + "BA.tdml"
- lazy val runnerBA = new DFDLTestSuite(Misc.getRequiredResource(ba))
- @Test def test_BA000() { runnerBA.runOneTest("BA000") } // escape schemes and delimiters
-
-}
diff --git a/daffodil-test-ibm1/src/test/scala-debug/org/apache/daffodil/TresysTests2.scala b/daffodil-test-ibm1/src/test/scala-debug/org/apache/daffodil/TresysTests2.scala
deleted file mode 100644
index 771b334..0000000
--- a/daffodil-test-ibm1/src/test/scala-debug/org/apache/daffodil/TresysTests2.scala
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil
-
-import org.apache.daffodil.util.Misc
-import org.junit.Test
-import org.apache.daffodil.tdml.DFDLTestSuite
-
-class TresysTests2 {
- val testDir = "/test-suite/tresys-contributed/"
-
- // This test passes now. Left this here to cut/paste for running other tests.
- // val ai = testDir + "AI.tdml"
- // lazy val runnerAI = new DFDLTestSuite(Misc.getRequiredResource(ai))
- //
- // @Test def test_AI000() { runnerAI.runOneTest("AI000") }
-
- // lazy val runnerMB = new DFDLTestSuite(Misc.getRequiredResource(testDir + "mixed-binary-text.tdml"))
- //
- // @Test def test_codingErrorAction() { runnerMB.runOneTest("codingErrorAction") }
-
- // val ab = testDir + "ABLargeData.tdml.dat"
- // lazy val runnerAB = new DFDLTestSuite(Misc.getRequiredResource(ab))
- // Too slow to use in regression. So slow it's a bug.
-
- val ap = testDir + "AP.tdml"
- lazy val runnerAP = new DFDLTestSuite(Misc.getRequiredResource(ap))
- @Test def test_AP000() { runnerAP.runOneTest("AP000") } // lengthKind endOfParent
-
- val at = testDir + "AT.tdml"
- lazy val runnerAT = new DFDLTestSuite(Misc.getRequiredResource(at))
- @Test def test_AT000() { runnerAT.runOneTest("AT000") } // needs newVariableInstance
- @Test def test_AT001() { runnerAT.runOneTest("AT001") } // needs newVariableInstance
-
- val bb = testDir + "BB.tdml"
- lazy val runnerBB = new DFDLTestSuite(Misc.getRequiredResource(bb))
- @Test def test_BB000() { runnerBB.runOneTest("BB000") } // occursCountKind stopValue
-
- val be = testDir + "BE.tdml"
- lazy val runnerBE = new DFDLTestSuite(Misc.getRequiredResource(be))
- //DFDL-1010
- @Test def test_BE000() { runnerBE.runOneTest("BE000") } // unordered sequences
- @Test def test_BE001() { runnerBE.runOneTest("BE001") }
-
- val bf = testDir + "BF.tdml"
- lazy val runnerBF1 = new DFDLTestSuite(Misc.getRequiredResource(bf))
- //DFDL-1010
- @Test def test_BF000() { runnerBF1.runOneTest("BF000") } // unordered sequences
- @Test def test_BF001() { runnerBF1.runOneTest("BF001") }
-
- val bg = testDir + "BG.tdml"
- lazy val runnerBG = new DFDLTestSuite(Misc.getRequiredResource(bg))
- @Test def test_BG000() { runnerBG.runOneTest("BG000") } // needs text numbers: advanced properties (DFDL-452)
-
- val sq = testDir + "sequence.tdml"
- lazy val runnerSQ = new DFDLTestSuite(Misc.getRequiredResource(sq))
- @Test def test_seq1() { runnerSQ.runOneTest("seq1") }
-
- lazy val runnerMB = new DFDLTestSuite(Misc.getRequiredResource(testDir + "mixed-binary-text.tdml"))
-
- // DFDL-935
- @Test def test_t1() { runnerMB.runOneTest("t1") }
- @Test def test_t2() { runnerMB.runOneTest("t2") }
- @Test def test_t3() { runnerMB.runOneTest("t3") }
- @Test def test_encodingErrorPolicy_error() { runnerMB.runOneTest("encodingErrorPolicy_error") }
-}
diff --git a/daffodil-test-ibm1/src/test/scala/org/apache/daffodil/IBMTests.scala b/daffodil-test-ibm1/src/test/scala/org/apache/daffodil/IBMTests.scala
index f5ac34c..adfb500 100644
--- a/daffodil-test-ibm1/src/test/scala/org/apache/daffodil/IBMTests.scala
+++ b/daffodil-test-ibm1/src/test/scala/org/apache/daffodil/IBMTests.scala
@@ -88,4 +88,16 @@ class IBMTestsThatPass {
@Test def test_sequences_separated_14_08() { runner2.runOneTest("sequences_separated_14_08") }
@Test def test_delimiter_12_02() { runner1.runOneTest("delimiter_12_02") }
+
+ // DAFFODIL-1541 Need support for handling delimited data with encoding other than ISO-8859-1
+ //@Test def test_length_delimited_12_05() { runner1.runOneTest("length_delimited_12_05") }
+
+ // DAFFODIL-853 text number advanced props (V Symbol)
+ //@Test def test_simple_type_properties_text_number_13_01() { runner2.runOneTest("simple_type_properties_text_number_13_01") }
+
+ // DAFFODIL-840 textStandardBase (base 16)
+ //@Test def test_simple_type_properties_text_number_13_03() { runner2.runOneTest("simple_type_properties_text_number_13_03") }
+
+ // DAFFODIL-551 Needs dfdl:utf16Width='variable' implementation
+ //@Test def test_syntax_entities_6_03() { runner1.runOneTest("syntax_entities_6_03") }
}
diff --git a/daffodil-test-ibm1/src/test/scala/org/apache/daffodil/TresysTests.scala b/daffodil-test-ibm1/src/test/scala/org/apache/daffodil/TresysTests.scala
index 1e48eae..7b5ff21 100644
--- a/daffodil-test-ibm1/src/test/scala/org/apache/daffodil/TresysTests.scala
+++ b/daffodil-test-ibm1/src/test/scala/org/apache/daffodil/TresysTests.scala
@@ -36,7 +36,22 @@ object TresysTests {
lazy val runnerMD = Runner(testDir, "multiple-diagnostics.tdml", compileAllTopLevel = true)
lazy val runnerMD_NV = Runner(testDir, "multiple-diagnostics.tdml", compileAllTopLevel = true, validateDFDLSchemas = false)
-
+
+ val bb = testDir + "BB.tdml"
+ lazy val runnerBB = new DFDLTestSuite(Misc.getRequiredResource(bb))
+ val be = testDir + "BE.tdml"
+ lazy val runnerBE = new DFDLTestSuite(Misc.getRequiredResource(be))
+ val bf = testDir + "BF.tdml"
+ lazy val runnerBF1 = new DFDLTestSuite(Misc.getRequiredResource(bf))
+ val bg = testDir + "BG.tdml"
+ lazy val runnerBG = new DFDLTestSuite(Misc.getRequiredResource(bg))
+ val mb = testDir + "mixed-binary-text.tdml"
+ lazy val runnerMB = new DFDLTestSuite(Misc.getRequiredResource(mb))
+
+ val ap = testDir + "AP.tdml"
+ lazy val runnerAP = new DFDLTestSuite(Misc.getRequiredResource(ap))
+ val at = testDir + "AT.tdml"
+ lazy val runnerAT = new DFDLTestSuite(Misc.getRequiredResource(at))
val ax = testDir + "AX.tdml"
lazy val runnerAX = new DFDLTestSuite(Misc.getRequiredResource(ax))
val av0 = testDir + "AV000.tdml"
@@ -50,6 +65,7 @@ object TresysTests {
val nsd = testDir + "nested-separator-delimited.tdml"
lazy val runnerNSD = new DFDLTestSuite(Misc.getRequiredResource(nsd))
+
/* Very big test data files, so each is in its own TDML file */
// val ab7 = testDir + "ABLargeData.tdml.dat"
@@ -64,7 +80,6 @@ object TresysTests {
val sq = testDir + "sequence.tdml"
lazy val runnerSQ = new DFDLTestSuite(Misc.getRequiredResource(sq))
- lazy val runnerMB = new DFDLTestSuite(Misc.getRequiredResource(testDir + "mixed-binary-text.tdml"))
lazy val runnerNG = new DFDLTestSuite(Misc.getRequiredResource(testDir + "nested_group_ref.tdml"))
val af = testDir + "AF.tdml"
lazy val runnerAF = new DFDLTestSuite(Misc.getRequiredResource(af))
@@ -80,11 +95,13 @@ object TresysTests {
val az = testDir + "AZ.tdml"
lazy val runnerAZ = new DFDLTestSuite(Misc.getRequiredResource(az))
- // val ba = testDir + "BA.tdml"
- // lazy val runnerBA = new DFDLTestSuite(Misc.getRequiredResource(ba))
+ val ba = testDir + "BA.tdml"
+ lazy val runnerBA = new DFDLTestSuite(Misc.getRequiredResource(ba))
- lazy val runnerBC = Runner(testDir, "BC.tdml")
- lazy val runnerBD = Runner(testDir, "BD.tdml")
+ val bc = testDir + "BC.tdml"
+ lazy val runnerBC = Runner(testDir, bc)
+ val bd = testDir + "BD.tdml"
+ lazy val runnerBD = Runner(testDir, bd)
}
class TresysTests {
@@ -158,9 +175,35 @@ class TresysTests {
@Test def test_AZ000() { runnerAZ.runOneTest("AZ000") } // escape schemes
- // Jira DFDL-1392
- // @Test def test_BA000() { runnerBA.runOneTest("BA000") } // escape schemes and delimiters
+ // Jira DFDL-1392 - Issue with escapeEscape character that is first and precedes an escape-block start.
+ // Is being removed, but should be preserved as it does not precede an escape character, nor an escape block end.
+ //@Test def test_BA000() { runnerBA.runOneTest("BA000") } // escape schemes and delimiters
+ //@Test def test_BB000() { runnerBB.runOneTest("BB000") } // occursCountKind stopValue
+
+ //DFDL-1010
+ //@Test def test_BE000() { runnerBE.runOneTest("BE000") } // unordered sequences
+ //@Test def test_BE001() { runnerBE.runOneTest("BE001") }
+
+ //DFDL-1010
+ //@Test def test_BF000() { runnerBF1.runOneTest("BF000") } // unordered sequences
+ //@Test def test_BF001() { runnerBF1.runOneTest("BF001") }
+
+ //@Test def test_BG000() { runnerBG.runOneTest("BG000") } // needs text numbers: advanced properties (DFDL-452)
+
+ //@Test def test_BC000() { runnerBC.runOneTest("BC000") } // text boolean type
+ //@Test def test_BD000() { runnerBD.runOneTest("BD000") } // binary boolean type
+
+ //@Test def test_AP000() { runnerAP.runOneTest("AP000") } // lengthKind endOfParent
+
+ //@Test def test_AT000() { runnerAT.runOneTest("AT000") } // needs newVariableInstance
+ //@Test def test_AT001() { runnerAT.runOneTest("AT001") } // needs newVariableInstance
+
+ //@Test def test_seq1() { runnerSQ.runOneTest("seq1") }
+
+ // DFDL-935
+ //@Test def test_t1() { runnerMB.runOneTest("t1") }
+ //@Test def test_t2() { runnerMB.runOneTest("t2") }
+ //@Test def test_t3() { runnerMB.runOneTest("t3") }
+ //@Test def test_encodingErrorPolicy_error() { runnerMB.runOneTest("encodingErrorPolicy_error") }
- @Test def test_BC000() { runnerBC.runOneTest("BC000") } // text boolean type
- @Test def test_BD000() { runnerBD.runOneTest("BD000") } // binary boolean type
}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section00/general/TestUnparserGeneralDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section00/general/TestUnparserGeneralDebug.scala
deleted file mode 100644
index 7839e64..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section00/general/TestUnparserGeneralDebug.scala
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section00.general
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestUnparserGeneralDebug {
- val testDir = "/org/apache/daffodil/section00/general/"
- val runner = Runner(testDir, "testUnparserGeneral.tdml")
-
- @AfterClass def shutDown {
- runner.reset
- }
-}
-
-class TestUnparserGeneralDebug {
-
- import TestUnparserGeneralDebug._
-
- //DFDL-1420
- @Test def test_apostrophe_01() { runner.runOneTest("apostrophe_01") }
-
- //DFDL-1395
- @Test def test_puaInfosetChars_03() { runner.runOneTest("puaInfosetChars_03") }
- @Test def test_puaInfosetChars_04() { runner.runOneTest("puaInfosetChars_04") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section02/processing_errors/TestProcessingErrors.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section02/processing_errors/TestProcessingErrors.scala
deleted file mode 100644
index f864dc6..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section02/processing_errors/TestProcessingErrors.scala
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section02.processing_errors
-
-import org.junit.Test
-import org.apache.daffodil.util._
-import org.apache.daffodil.tdml.DFDLTestSuite
-import org.junit.AfterClass
-import org.apache.daffodil.tdml.Runner
-
-object TestProcessingErrorsDebug {
- val testDir = "/org/apache/daffodil/section02/processing_errors/"
- val aa = testDir + "dfdl-schema-validation-diagnostics.tdml"
- var runner = new DFDLTestSuite(Misc.getRequiredResource(aa), validateTDMLFile = false, validateDFDLSchemas = false)
-
- val runner02 = Runner(testDir, "ProcessingErrors.tdml", validateTDMLFile = false, validateDFDLSchemas = false)
- val runner02Validate = Runner(testDir, "ProcessingErrors.tdml", validateTDMLFile = true, validateDFDLSchemas = true)
-
- @AfterClass def shutDown {
- runner = null
- runner02.reset
- runner02Validate.reset
- }
-
-}
-
-class TestProcessingErrorsDebug {
-
- import TestProcessingErrorsDebug._
-
- @Test def test_delimiterNotFound01() { runner02.runOneTest("delimiterNotFound01") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section02/validation_errors/TestValidationErrDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section02/validation_errors/TestValidationErrDebug.scala
deleted file mode 100644
index 1af5104..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section02/validation_errors/TestValidationErrDebug.scala
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section02.validation_errors
-
-import org.junit.Test
-import org.apache.daffodil.util._
-import org.apache.daffodil.tdml.DFDLTestSuite
-
-class TestValidationErrDebug {
- val testDir = "/org/apache/daffodil/section02/validation_errors/"
- val aa = testDir + "Validation.tdml"
- lazy val runner = new DFDLTestSuite(Misc.getRequiredResource(aa))
-
- // DFDL-903
- @Test def test_choice_errorNotSuppressed_validationErrorCheck() { runner.runOneTest("choice_errorNotSuppressed_validationErrorCheck") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section05/simple_types/TestSimpleTypesDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section05/simple_types/TestSimpleTypesDebug.scala
deleted file mode 100644
index a2ea14a..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section05/simple_types/TestSimpleTypesDebug.scala
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section05.simple_types
-
-import junit.framework.Assert._
-import org.junit.Test
-import org.apache.daffodil.Implicits._
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestSimpleTypesDebug {
-
- val testDir = "/org/apache/daffodil/section05/simple_types/"
-
- val runner = Runner(testDir, "SimpleTypes.tdml")
- val runnerAL = Runner(testDir, "AL.tdml")
- val runner2 = Runner(testDir, "WhiteSpace.tdml")
- val runnerAJ = Runner(testDir, "AJ.tdml")
- val runnerAK = Runner(testDir, "AK.tdml")
- val runner1 = Runner(testDir, "BitOrder.tdml")
- val runnerST = Runner(testDir, "simple-type-bases.tdml")
- val runner3 = Runner(testDir, "BitOrderInvalid.tdml")
-
- @AfterClass def shutDown() {
- runner.reset
- runnerAL.reset
- runner2.reset
- runnerAJ.reset
- runnerAK.reset
- runner1.reset
- runnerST.reset
- }
-}
-
-class TestSimpleTypesDebug {
-
- import TestSimpleTypesDebug._
-
- @Test def test_warning_exercise() {
- val exc = intercept[Exception] {
- runner.runOneTest("warning_exercise")
- }
- assertTrue(exc.getMessage().contains("Did not find"))
- }
-
- //////////////////////// DFDL-529 /////////////////////////////
-
- @Test def test_dateCalendarCenturyStart() { runner.runOneTest("dateCalendarCenturyStart") }
- @Test def test_dateCalendarCenturyStart2() { runner.runOneTest("dateCalendarCenturyStart2") }
-
- //////////////////////// DFDL-845 ////////////////////////////
-
- @Test def test_whiteSpaceDuringValidShort() { runner.runOneTest("whiteSpaceDuringValidShort") }
- @Test def test_whiteSpaceDuringValidInteger() { runner.runOneTest("whiteSpaceDuringValidInteger") }
- @Test def test_whiteSpaceDuringValidUnsignedLong() { runner.runOneTest("whiteSpaceDuringValidUnsignedLong") }
- @Test def test_whiteSpaceDuringValidUnsignedShort() { runner.runOneTest("whiteSpaceDuringValidUnsignedShort") }
- @Test def test_whiteSpaceDuringValidUnsignedByte() { runner.runOneTest("whiteSpaceDuringValidUnsignedByte") }
- @Test def test_whiteSpaceDuringValidUnsignedInt() { runner.runOneTest("whiteSpaceDuringValidUnsignedInt") }
- @Test def test_whiteSpaceDuringValidInt() { runner.runOneTest("whiteSpaceDuringValidInt") }
- @Test def test_whiteSpaceDuringValidLong() { runner.runOneTest("whiteSpaceDuringValidLong") }
- @Test def test_whiteSpaceDuringValidByte() { runner.runOneTest("whiteSpaceDuringValidByte") }
-
- /////////////////////// DFDL-1042 /////////////////////////////////////////////
-
- @Test def test_dateStrictCheckPolicy01() { runner.runOneTest("dateStrictCheckPolicy01") }
- @Test def test_timeStrictCheckPolicy01() { runner.runOneTest("timeStrictCheckPolicy01") }
- @Test def test_timeStrictCheckPolicy02() { runner.runOneTest("timeStrictCheckPolicy02") }
- @Test def test_timeFormatting5() { runner.runOneTest("timeFormatting5") }
-
- ///////////////////////////////////////////////////////////////////////////////////
-
- @Test def test_posinteger_binary_01() { runner.runOneTest("nonNegInt_binary_01") }
-
- @Test def test_whiteSpaceAfterLax() { runner2.runOneTest("whiteSpaceAfterLax") }
- @Test def test_redefinedFormat() { runner2.runOneTest("redefinedFormat") }
-
- @Test def test_bitOrderChange() { runner1.runOneTest("bitOrderChange") }
- @Test def test_bitOrderDocument() { runner1.runOneTest("bitOrderDocument") }
- @Test def test_bitOrderTypeByte() { runner1.runOneTest("bitOrderTypeByte") }
- @Test def test_bitOrderChangeInvalid3() { runner1.runOneTest("bitOrderChangeInvalid3") }
-
- @Test def test_bitOrderChangeInvalid() { runner3.runOneTest("bitOrderChangeInvalid") }
-
- //////////////////////// DAFFODIL-1945 /////////////////////////////
- @Test def test_dateCalendarDaysInFirstWeek3() { runner.runOneTest("dateCalendarDaysInFirstWeek3") }
- @Test def test_dateCalendarDaysInFirstWeek5() { runner.runOneTest("dateCalendarDaysInFirstWeek5") }
-
- @Test def test_dateCalendarFirstDayOfWeek03() { runner.runOneTest("dateCalendarFirstDayOfWeek03") }
- @Test def test_dateCalendarFirstDayOfWeek04() { runner.runOneTest("dateCalendarFirstDayOfWeek04") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section05/simple_types/TestSimpleTypesUnparseDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section05/simple_types/TestSimpleTypesUnparseDebug.scala
deleted file mode 100644
index 65523a3..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section05/simple_types/TestSimpleTypesUnparseDebug.scala
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section05.simple_types
-
-import org.apache.daffodil.tdml.Runner
-import org.junit._
-
-object TestSimpleTypesUnparseDebug {
-
- val testDir = "/org/apache/daffodil/section05/simple_types/"
-
- val runner = Runner(testDir, "SimpleTypesUnparse.tdml")
-
- @AfterClass def shutDown() {
- runner.reset
- }
-}
-
-class TestSimpleTypesUnparseDebug {
- import TestSimpleTypesUnparseDebug._
-
- //DFDL-1454
- //dfdl:hexBinary not behaving like xs:hexBinary
- @Test def test_hexBinary_unparse_13() { runner.runOneTest("hexBinary_unparse_13") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section06/entities/TestEntitiesDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section06/entities/TestEntitiesDebug.scala
deleted file mode 100644
index 504c012..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section06/entities/TestEntitiesDebug.scala
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section06.entities
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestEntitiesDebug {
- private val testDir = "/org/apache/daffodil/section06/entities/"
-
- val runner = Runner(testDir, "charClassEntities.tdml")
- val runner_01 = Runner(testDir, "Entities.tdml")
- val runnerEntity = Runner(testDir, "entities_01.tdml")
- val runnerInvalid = Runner(testDir, "InvalidEntities.tdml")
-
- @AfterClass def shutDown {
- runner.reset
- runner_01.reset
- runnerEntity.reset
- runnerInvalid.reset
- }
-}
-
-class TestEntitiesDebug {
-
- import TestEntitiesDebug._
-
- // DFDL-378
- @Test def test_dataDumpEncoding() { runner_01.runOneTest("dataDumpEncoding") }
-
- // JIRA DFDL-1400 - separator in different encoding than terms being separated.
- @Test def test_text_entities_6_03b() { runner_01.runOneTest("text_entities_6_03b") }
-
- //DFDL-258 - raw byte entities
- @Test def test_byte_entities_6_10() { runner_01.runOneTest("byte_entities_6_10") }
-
- // Regression - we used to just reject %ES; in terminators. Now we accept it, but it doesn't work
- // right. JIRA DFDL-1477
- @Test def test_entity_fail_03() { runnerEntity.runOneTest("entity_fail_03") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section06/namespaces/TestNamespacesDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section06/namespaces/TestNamespacesDebug.scala
deleted file mode 100644
index f4b819d..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section06/namespaces/TestNamespacesDebug.scala
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section06.namespaces
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestNamespacesDebug {
- val testDir = "/org/apache/daffodil/section06/namespaces/"
-
- val runner = Runner(testDir, "namespaces.tdml", validateTDMLFile = true, validateDFDLSchemas = false)
- val runner2 = Runner(testDir, "multiFile.tdml", validateTDMLFile = false, validateDFDLSchemas = false)
- val runner3 = Runner(testDir, "includeImport.tdml")
- val runnerWithSchemaValidation = Runner(testDir, "multiFile.tdml", validateTDMLFile = true, validateDFDLSchemas = true)
-
- @AfterClass def shutDown {
- runner.reset
- runner2.reset
- runner3.reset
- runnerWithSchemaValidation.reset
- }
-}
-
-class TestNamespacesDebug {
-
- import TestNamespacesDebug._
-
- @Test def test_multi_encoding_04() { runner.runOneTest("multi_encoding_04") }
- @Test def test_multi_encoding_05() { runner.runOneTest("multi_encoding_05") }
- @Test def test_indexOutOfBounds_01() { runner.runOneTest("indexOutOfBounds_01") }
-
- // DFDL-1204 - this test no longer works. New loader won't accept character U+00B7 as a character
- // in a prefix name.
- @Test def test_namespaceSpecialChars() { runner.runOneTest("namespaceSpecialChars") }
-
- // DFDL-1663
- @Test def test_namespaceLimitParse() { runner.runOneTest("namespaceLimitParse") }
- @Test def test_namespaceLimitUnparse() { runner.runOneTest("namespaceLimitUnparse") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/assertions/TestAssertionsDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/assertions/TestAssertionsDebug.scala
deleted file mode 100644
index ada7304..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/assertions/TestAssertionsDebug.scala
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section07.assertions
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestAssertionsDebug {
- val testDir = "/org/apache/daffodil/section07/assertions/"
- val runner = Runner(testDir, "assert.tdml", validateTDMLFile = false)
-
- @AfterClass def tearDown {
- runner.reset
- }
-
-}
-
-class TestAssertionsDebug {
-
- import TestAssertionsDebug._
-
- //DFDL-474
- @Test def test_assertExpressionEmpty() { runner.runOneTest("assertExpressionEmpty") }
-
- // DFDL-1043
- @Test def test_assertFailShowsValue2() { runner.runOneTest("assertFailShowsValue2") }
-
- //DFDL-1210: This test should be removed, an assert failing will no longer show the value
- @Test def test_assertFailShowsValue() { runner.runOneTest("assertFailShowsValue") }
-
- //DFDL-2001
- @Test def test_testPatternX() { runner.runOneTest("testPatternX") }
- @Test def test_testPatternUnicode() { runner.runOneTest("testPatternUnicode") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/defineFormat/defineFormatTestsDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/defineFormat/defineFormatTestsDebug.scala
deleted file mode 100644
index 3a4d294..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/defineFormat/defineFormatTestsDebug.scala
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section07.defineFormat
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object defineFormatTestsDebug {
- val testDir = "/org/apache/daffodil/section07/defineFormat/"
- val runner = Runner(testDir, "defineFormat.tdml")
-
- @AfterClass def tearDown() {
- runner.reset
- }
-
-}
-
-class defineFormatTestsDebug {
-
- import defineFormatTestsDebug._
-
- //DFDL-1276
- @Test def test_format_with_comment() { runner.runOneTest("format_with_comment") }
-
- //DFDL-478
- @Test def test_nameCollision() { runner.runOneTest("nameCollision") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/discriminators/TestDiscriminators3.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/discriminators/TestDiscriminators3.scala
deleted file mode 100644
index c913451..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/discriminators/TestDiscriminators3.scala
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section07.discriminators
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestDiscriminators3 {
- val testDir = "/org/apache/daffodil/section07/discriminators/"
- val runner = Runner(testDir, "discriminator.tdml")
-
- @AfterClass def shutDown() {
- runner.reset
- }
-
-}
-
-class TestDiscriminators3 {
-
- import TestDiscriminators3._
-
- // DAFFODIL-1971
- @Test def test_discrimExpression_04() = { runner.runOneTest("discrimExpression_04") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/escapeScheme/TestEscapeSchemeDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/escapeScheme/TestEscapeSchemeDebug.scala
deleted file mode 100644
index 7cf4b27..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/escapeScheme/TestEscapeSchemeDebug.scala
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section07.escapeScheme
-
-import org.junit.Test
-import org.apache.daffodil.util._
-import org.apache.daffodil.tdml.DFDLTestSuite
-
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestEscapeSchemeDebug {
- val testDir = "/org/apache/daffodil/section07/escapeScheme/"
- val runner = Runner(testDir, "escapeScheme.tdml", validateTDMLFile = false)
- val runnerNeg = Runner(testDir, "escapeSchemeNeg.tdml", validateTDMLFile = false)
- val runner2 = Runner(testDir, "escapeScenarios.tdml", validateTDMLFile = false)
-
- @AfterClass def shutDown() {
- runner.reset
- runnerNeg.reset
- runner2.reset
- }
-}
-
-class TestEscapeSchemeDebug {
-
- import TestEscapeSchemeDebug._
-
- @Test def test_escapeSchemeNonUnique() { runner.runOneTest("escapeSchemeNonUnique") }
-
- val bb = testDir + "escapeScenarios.tdml"
- lazy val runner2 = new DFDLTestSuite(Misc.getRequiredResource(bb), validateTDMLFile = false)
-
- //DFDL-961
- @Test def test_scenario3_11_postfix() { runner2.runOneTest("scenario3_11_postfix") }
-
- @Test def test_escBlkMultipleEEC() { runner.runOneTest("escBlkMultipleEEC") } // DAFFODIL-1972
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/variables/TestVariablesDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/variables/TestVariablesDebug.scala
deleted file mode 100644
index 588d819..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section07/variables/TestVariablesDebug.scala
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section07.variables
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestVariablesDebug {
- val testDir = "/org/apache/daffodil/section07/variables/"
- val runner = Runner(testDir, "variables.tdml")
- val runner_01 = Runner(testDir, "variables_01.tdml")
-
- @AfterClass def shutDown {
- runner.reset
- runner_01.reset
- }
-
-}
-
-class TestVariablesDebug {
-
- import TestVariablesDebug._
-
- @Test def test_varInstance() { runner.runOneTest("varInstance") }
-
- // DFDL-1443 & DFDL-1448 - workaround for too-early variable evaluation
- @Test def test_setAfterReadErr_d() { runner_01.runOneTest("setAfterReadErr_d") }
- @Test def test_setAfterReadErr() { runner.runOneTest("setAfterReadErr") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section08/property_scoping/TestPropertyScopingDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section08/property_scoping/TestPropertyScopingDebug.scala
deleted file mode 100644
index 05e80b8..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section08/property_scoping/TestPropertyScopingDebug.scala
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section08.property_scoping
-
-import org.junit.Test
-import org.apache.daffodil.util._
-import org.apache.daffodil.tdml.DFDLTestSuite
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestPropertyScopingDebug {
- val testDir = "/org/apache/daffodil/section08/property_scoping/"
- val runner = Runner(testDir, "PropertyScoping.tdml")
- val runner_01 = Runner(testDir, "PropertyScoping_01.tdml")
-
- @AfterClass def shutDown {
- runner.reset
- runner_01.reset
- }
-}
-
-class TestPropertyScopingDebug {
-
- import TestPropertyScopingDebug._
-
- //DFDL-1036 (was fixed) now DFDL-1159
- @Test def test_localAnnotation_05() { runner.runOneTest("localAnnotation_05") }
-
- val tdml = testDir + "PropertyScoping_01.tdml"
- lazy val runner_01 = new DFDLTestSuite(Misc.getRequiredResource(tdml))
-
- // See DFDL-1337
- @Test def test_unparse_property_scoping_02() { runner_01.runOneTest("unparse_property_scoping_02") }
- // See DFDL-1342
- @Test def test_unparse_property_scoping_04() { runner_01.runOneTest("unparse_property_scoping_04") }
- @Test def test_unparse_property_scoping_05() { runner_01.runOneTest("unparse_property_scoping_05") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section11/content_framing_properties/TestContentFramingPropertiesDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section11/content_framing_properties/TestContentFramingPropertiesDebug.scala
deleted file mode 100644
index 7764756..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section11/content_framing_properties/TestContentFramingPropertiesDebug.scala
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section11.content_framing_properties
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestContentFramingPropertiesDebug {
-
- private val testDir_02 = "/org/apache/daffodil/section11/content_framing_properties/"
- lazy val runner2 = Runner(testDir_02, "ContentFramingProps.tdml")
-
- @AfterClass def shutdown {
- runner2.reset
- }
-}
-
-class TestContentFramingPropertiesDebug {
-
- import TestContentFramingPropertiesDebug._
-
- // DFDL-751 - 7-bit ASCII alignment should be 1 bit, complains that it needs to be 8 bits
- @Test def test_alignmentPacked7BitASCII_02() { runner2.runOneTest("alignmentPacked7BitASCII_02") }
- @Test def test_alignmentPacked7BitASCII_05() { runner2.runOneTest("alignmentPacked7BitASCII_05") }
-
- // Implementing DFDL-951 caused regression - see DFDL-965
- @Test def test_xml_utf8_4byte_chars() { runner2.runOneTest("xml_utf8_4byte_chars") }
- @Test def test_xml_utf8_4byte_chars_01() { runner2.runOneTest("xml_utf8_4byte_chars_01") }
-
- // JIRA Ticket DFDL-1386 - 4-byte utf-8 characters/surrogate-pair issue.
- @Test def test_encodingNoError() { runner2.runOneTest("encodingNoError") }
-
- // DFDL-935 to re-enable, needs encodingErrorPolicy="error"
- @Test def test_packed7BitASCII_unparse3() { runner2.runOneTest("packed7BitASCII_unparse3") }
- @Test def test_octalLSBF_unparse_error() { runner2.runOneTest("octalLSBF_unparse_error") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/aligned_data/TestAlignedDataDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/aligned_data/TestAlignedDataDebug.scala
deleted file mode 100644
index 6c44e41..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/aligned_data/TestAlignedDataDebug.scala
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section12.aligned_data
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestAlignedDataDebug {
- val testDir_01 = "/org/apache/daffodil/section12/aligned_data/"
- val runner1 = Runner(testDir_01, "Aligned_Data.tdml")
- val runner2 = Runner(testDir_01, "BinaryInput_01.tdml")
-
- @AfterClass def shutDown {
- runner1.reset
- runner2.reset
- }
-}
-
-class TestAlignedDataDebug {
-
- import TestAlignedDataDebug._
-
- // DFDL-1217
- @Test def test_alignmentOptionalElem03() = { runner1.runOneTest("alignmentOptionalElem03") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/delimiter_properties/TestDelimiterPropertiesUnparseDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/delimiter_properties/TestDelimiterPropertiesUnparseDebug.scala
deleted file mode 100644
index 7446a26..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/delimiter_properties/TestDelimiterPropertiesUnparseDebug.scala
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section12.delimiter_properties
-
-import org.junit.Test
-import org.junit.AfterClass
-import org.apache.daffodil.util._
-import org.apache.daffodil.tdml.DFDLTestSuite
-
-object TestDelimiterPropertiesUnparseDebug {
-
- val testDir_02 = "/org/apache/daffodil/section12/delimiter_properties/"
- val tdml_02 = testDir_02 + "DelimiterPropertiesUnparse.tdml"
- var runner = new DFDLTestSuite(Misc.getRequiredResource(tdml_02))
-
- @AfterClass def shutDown {
- runner = null
- }
-
-}
-
-class TestDelimiterPropertiesUnparseDebug {
-
- import TestDelimiterPropertiesUnparseDebug._
-
- //DFDL-1287, DFDL-947
- @Test def test_unparseSeparatorLeadingSpace() { runner.runOneTest("unparseSeparatorLeadingSpace") }
-
- //DFDL-1213
- @Test def test_unparseMultipleInitiators04() { runner.runOneTest("unparseMultipleInitiators04") }
- @Test def test_unparseMultipleInitiators05() { runner.runOneTest("unparseMultipleInitiators05") }
- @Test def test_unparseMultipleInitiators06() { runner.runOneTest("unparseMultipleInitiators06") }
- @Test def test_unparseMultipleTerminators03() { runner.runOneTest("unparseMultipleTerminators03") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/lengthKind/TestLengthKindDelimitedDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/lengthKind/TestLengthKindDelimitedDebug.scala
deleted file mode 100644
index 2f6f0bd..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/lengthKind/TestLengthKindDelimitedDebug.scala
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section12.lengthKind
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestLengthKindDelimitedDebug {
- private val testDir = "/org/apache/daffodil/section12/lengthKind/"
-
- val runner = Runner(testDir, "DelimitedTests.tdml")
- val runnerAB = Runner(testDir, "AB.tdml")
- val runnerAN = Runner(testDir, "AN.tdml")
-
- @AfterClass def shutDown {
- runner.reset
- runnerAB.reset
- runnerAN.reset
- }
-
-}
-
-class TestLengthKindDelimitedDebug {
-
- import TestLengthKindDelimitedDebug._
-
- // DAFFODIL-230 dfdl:documentFinalTerminatorCanBeMissing
- @Test def test_NumSeq_10() { runner.runOneTest("NumSeq_10") }
-
- // DAFFODIL-1975
- @Test def test_NumSeq_13a() { runner.runOneTest("NumSeq_13a") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/lengthKind/TestLengthKindExplicitDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/lengthKind/TestLengthKindExplicitDebug.scala
deleted file mode 100644
index 0df74fd..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/lengthKind/TestLengthKindExplicitDebug.scala
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section12.lengthKind
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestLengthKindExplicitDebug {
- val testDir = "/org/apache/daffodil/section12/lengthKind/"
- val runner = Runner(testDir, "ExplicitTests.tdml")
-
- @AfterClass def shutDown {
- runner.reset
- }
-
-}
-
-class TestLengthKindExplicitDebug {
-
- import TestLengthKindExplicitDebug._
-
- @Test def test_lengthRuntimeSDENaN() = { runner.runOneTest("test_lengthRuntimeSDENaN") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/lengthKind/TestLengthKindPatternDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/lengthKind/TestLengthKindPatternDebug.scala
deleted file mode 100644
index c57841a..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/lengthKind/TestLengthKindPatternDebug.scala
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section12.lengthKind
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestLengthKindPatternDebug {
- val testDir = "/org/apache/daffodil/section12/lengthKind/"
-
- val runner = Runner(testDir, "PatternTests.tdml")
-
- @AfterClass def shutDown {
- runner.reset
- }
-}
-
-class TestLengthKindPatternDebug {
- import TestLengthKindPatternDebug._
-
- // DFDL-935 dfdl:encodingErrorPolicy='error'
- @Test def test_LengthPatternIllegalBits_02_EncodingErrorPolicy_Error() { runner.runOneTest("LengthPatternIllegalBits_02_EncodingErrorPolicy_Error") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/length_properties/TestLengthPropertiesDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/length_properties/TestLengthPropertiesDebug.scala
deleted file mode 100644
index e60c9e1..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section12/length_properties/TestLengthPropertiesDebug.scala
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section12.length_properties
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestLengthPropertiesDebug {
- val testDir_02 = "/org/apache/daffodil/section12/length_properties/"
-
- val runner_02 = Runner(testDir_02, "LengthProperties.tdml")
-
- @AfterClass def shutDown {
- runner_02.reset
- }
-
-}
-
-class TestLengthPropertiesDebug {
-
- import TestLengthPropertiesDebug._
-
- // DFDL-931 Uses lengthUnits bytes with utf-8 encoding and explicit lengthKind
- @Test def test_LengthProp_02() { runner_02.runOneTest("LengthProp_02") }
- @Test def test_LengthProp_charVsBytes() { runner_02.runOneTest("LengthProp_charVsBytes") }
- @Test def test_LengthProp_charVsBytes2() { runner_02.runOneTest("LengthProp_charVsBytes2") }
- @Test def test_LengthProp_longByteLength() { runner_02.runOneTest("LengthProp_longByteLength") }
-
- // should just skip the 2 excess bytes
- @Test def test_LengthProp_06() { runner_02.runOneTest("LengthProp_06") }
-
- //DFDL-460
- @Test def test_LengthProp_floatBits() { runner_02.runOneTest("LengthProp_floatBits") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section13/text_number_props/TestTextNumberPropsDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section13/text_number_props/TestTextNumberPropsDebug.scala
deleted file mode 100644
index 9c11f69..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section13/text_number_props/TestTextNumberPropsDebug.scala
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section13.text_number_props
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestTextNumberPropsDebug {
- val testDir = "/org/apache/daffodil/section13/text_number_props/"
- val runner = Runner(testDir, "TextNumberProps.tdml")
-
- @AfterClass def shutDown() {
- runner.reset
- }
-}
-
-class TestTextNumberPropsDebug {
-
- import TestTextNumberPropsDebug._
-
- // DFDL-847
- @Test def test_textStandardDecimalSeparator10() { runner.runOneTest("textStandardDecimalSeparator10") }
- @Test def test_textStandardDecimalSeparator11() { runner.runOneTest("textStandardDecimalSeparator11") }
-
- // DFDL-853
- @Test def test_textNumberPattern_pSymbol01() { runner.runOneTest("textNumberPattern_pSymbol01") }
- @Test def test_textNumberPattern_pSymbol02() { runner.runOneTest("textNumberPattern_pSymbol02") }
-
- // DFDL-861
- @Test def test_infnanCaseInsensitive() { runner.runOneTest("infnanCaseInsensitive") }
- @Test def test_expCaseSensitive() { runner.runOneTest("expCaseSensitive") }
-
- // DAFFODIL-1981
- @Test def test_expEmptyString() { runner.runOneTest("expEmptyString") }
- @Test def test_expEmptyString2() { runner.runOneTest("expEmptyString2") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section14/occursCountKind/TestOCKImplicitDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section14/occursCountKind/TestOCKImplicitDebug.scala
deleted file mode 100644
index 7d7b86c..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section14/occursCountKind/TestOCKImplicitDebug.scala
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section14.occursCountKind
-
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestOCKImplicitDebug {
- val testDir = "/org/apache/daffodil/section14/occursCountKind/"
- val runner = Runner(testDir, "ockImplicit.tdml")
-
- @AfterClass def shutDown {
- runner.reset
- }
-
-}
-
-class TestOCKImplicitDebug {
-
- // Waiting on DFDL-823 for clearer error message
- // @Test def test_ockImplicit7() { runner.runOneTest("ockImplicit7") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section14/sequence_groups/TestSequenceGroupsDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section14/sequence_groups/TestSequenceGroupsDebug.scala
deleted file mode 100644
index 2c52cd2..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section14/sequence_groups/TestSequenceGroupsDebug.scala
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section14.sequence_groups
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestSequenceGroupsDebug {
-
- val testDir_01 = "/org/apache/daffodil/section14/sequence_groups/"
-
- val runner_01 = Runner(testDir_01, "SequenceGroupDelimiters.tdml")
- var runner_02 = Runner(testDir_01, "SequenceGroup.tdml", validateTDMLFile = false)
-
- @AfterClass def shutDown {
- runner_01.reset
- runner_02.reset
- }
-
-}
-
-class TestSequenceGroupsDebug {
-
- import TestSequenceGroupsDebug._
-
- //DFDL-284
- @Test def test_hiddenGroupLoop() { runner_02.runOneTest("hiddenGroupLoop") }
-
- @Test def test_emptySequenceSDE() { runner_02.runOneTest("emptySequenceSDE") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section14/unordered_sequences/TestUnorderedSequences.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section14/unordered_sequences/TestUnorderedSequences.scala
deleted file mode 100644
index 94cd24f..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section14/unordered_sequences/TestUnorderedSequences.scala
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section14.unordered_sequences
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestUnorderedSequencesDebug {
- val testDir = "/org/apache/daffodil/section14/unordered_sequences/"
- val runner = Runner(testDir, "UnorderedSequences.tdml")
-
- @AfterClass def shutDown {
- runner.reset
- }
-
-}
-
-class TestUnorderedSequencesDebug {
-
- import TestUnorderedSequencesDebug._
-
- //DFDL-1010
- @Test def test_simple = { runner.runOneTest("test_simple") }
- @Test def test_simple_fail_scalar = { runner.runOneTest("test_simple_fail_scalar") }
- @Test def test_simple_min_max_occurs = { runner.runOneTest("test_simple_min_max_occurs") }
- @Test def test_simple_min_max_occurs_fail = { runner.runOneTest("test_simple_min_max_occurs_fail") }
- @Test def test_simple_delimited = { runner.runOneTest("test_simple_delimited") }
- @Test def test_simple_nil = { runner.runOneTest("test_simple_nil") }
- @Test def test_simple_invalid_path_to_branch = { runner.runOneTest("test_simple_invalid_path_to_branch") }
- @Test def test_simple_invalid_path_to_branch_does_not_exist = { runner.runOneTest("test_simple_invalid_path_to_branch_does_not_exist") }
- @Test def test_nested_valid_path_to_branch = { runner.runOneTest("test_nested_valid_path_to_branch") }
- @Test def test_nested_multiple_valid_paths_to_branch = { runner.runOneTest("test_nested_multiple_valid_paths_to_branch") }
- @Test def test_nested_multiple_invalid_paths_to_branch = { runner.runOneTest("test_nested_multiple_invalid_paths_to_branch") }
- @Test def test_nested_path_evaluates_to_nodelist = { runner.runOneTest("test_nested_path_evaluates_to_nodelist") }
- @Test def test_nested_invalid_path_to_branch = { runner.runOneTest("test_nested_invalid_path_to_branch") }
- @Test def test_nested_invalid_path_to_branch_2 = { runner.runOneTest("test_nested_invalid_path_to_branch_2") }
- @Test def test_nested_invalid_path_to_branch_3 = { runner.runOneTest("test_nested_invalid_path_to_branch_3") }
- @Test def test_sde_element_element_ref = { runner.runOneTest("test_sde_element_element_ref") }
- @Test def test_sde_optional_array_ock_parsed = { runner.runOneTest("test_sde_optional_array_ock_parsed") }
- @Test def test_sde_unique_names_in_ns = { runner.runOneTest("test_sde_unique_names_in_ns") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section15/choice_groups/TestChoiceDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section15/choice_groups/TestChoiceDebug.scala
deleted file mode 100644
index 2e3eaa2..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section15/choice_groups/TestChoiceDebug.scala
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section15.choice_groups
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestChoiceDebug {
- val testDir = "/org/apache/daffodil/section15/choice_groups/"
-
- val runnerCH = Runner(testDir, "choice.tdml")
-
- @AfterClass def shutDown {
- runnerCH.reset
- }
-
-}
-
-class TestChoiceDebug {
-
- import TestChoiceDebug._
-
- @Test def test_choice_noBranch() { runnerCH.runOneTest("choice_noBranch") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section16/array_optional_elem/TestArrayOptionalElemDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section16/array_optional_elem/TestArrayOptionalElemDebug.scala
deleted file mode 100644
index 96f92f9..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section16/array_optional_elem/TestArrayOptionalElemDebug.scala
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section16.array_optional_elem
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestArrayOptionalElemDebug {
- private val testDir = "/org/apache/daffodil/section16/array_optional_elem/"
- private val testDir01 = "/org/apache/daffodil/section05/facets/"
-
- val runner = Runner(testDir, "ArrayOptionalElem.tdml")
- val runner01 = Runner(testDir01, "Facets.tdml", validateTDMLFile = false)
- val rBack = Runner(testDir, "backtracking.tdml")
-
- @AfterClass def shutDown {
- runner.reset
- runner01.reset
- rBack.reset
- }
-
-}
-
-class TestArrayOptionalElemDebug {
-
- import TestArrayOptionalElemDebug._
-
- @Test def test_arrayExpressions03() { runner.runOneTest("arrayExpressions03") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section16/array_optional_elem/TestUnparseArrayOptionalElemDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section16/array_optional_elem/TestUnparseArrayOptionalElemDebug.scala
deleted file mode 100644
index 631c160..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section16/array_optional_elem/TestUnparseArrayOptionalElemDebug.scala
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section16.array_optional_elem
-
-import org.junit._
-import org.apache.daffodil.tdml.Runner
-
-object TestUnparseArrayOptionalElemDebug {
-
- val testDir = "/org/apache/daffodil/section16/array_optional_elem/"
-
- val runner_fixed = Runner(testDir, "UnparseArrayFixedOptionalElem.tdml")
- val runner_imp = Runner(testDir, "UnparseArrayImplicitOptionalElem.tdml")
- val runner_parsed = Runner(testDir, "UnparseArrayParsedOptionalElem.tdml")
- val runner_expr = Runner(testDir, "UnparseArrayExpressionConstant.tdml")
- val runner_delim = Runner(testDir, "UnparseArrayDelimitedOptionalElem.tdml")
-
- @AfterClass def tearDown() {
- runner_fixed.reset
- runner_imp.reset
- runner_parsed.reset
- runner_expr.reset
- runner_delim.reset
- }
-
-}
-
-class TestUnparseArrayOptionalElemDebug {
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section17/calc_value_properties/TestInputValueCalcDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section17/calc_value_properties/TestInputValueCalcDebug.scala
deleted file mode 100644
index 696600d..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section17/calc_value_properties/TestInputValueCalcDebug.scala
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section17.calc_value_properties
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestInputValueCalcDebug {
- val testDir = "/org/apache/daffodil/section17/calc_value_properties/"
-
- val runner = Runner(testDir, "inputValueCalc.tdml", validateTDMLFile = false)
- val runnerAR = Runner(testDir, "AR.tdml")
- val runnerAQ = Runner(testDir, "AQ.tdml")
- val runnerAA = Runner(testDir, "AA.tdml")
-
- @AfterClass def shutDown {
- runner.reset
- runnerAR.reset
- runnerAQ.reset
- runnerAA.reset
- }
-
-}
-
-class TestInputValueCalcDebug {
-
- import TestInputValueCalcDebug._
-
- //DFDL-1025
- @Test def test_InputValueCalc_refers_self() { runner.runOneTest("InputValueCalc_refers_self") }
- @Test def test_InputValueCalc_circular_ref() { runner.runOneTest("InputValueCalc_circular_ref") }
-
- //DFDL-1024
- @Test def test_InputValueCalc_optional_elem() { runner.runOneTest("InputValueCalc_optional_elem") }
- @Test def test_InputValueCalc_array_elem() { runner.runOneTest("InputValueCalc_array_elem") }
- @Test def test_InputValueCalc_global_elem() { runner.runOneTest("InputValueCalc_global_elem") }
-
- @Test def test_AQ001() { runnerAQ.runOneTest("AQ001") } // This appears to expect an error, but doesn't state why.
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section17/calc_value_properties/TestOutputValueCalcDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section17/calc_value_properties/TestOutputValueCalcDebug.scala
deleted file mode 100644
index 68bf31b..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section17/calc_value_properties/TestOutputValueCalcDebug.scala
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section17.calc_value_properties
-
-//import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestOutputValueCalcDebug {
- private val testDir = "/org/apache/daffodil/section17/calc_value_properties/"
-
- val runner2 = Runner(testDir, "outputValueCalc2.tdml")
-
- @AfterClass def shutdown {
- runner2.reset
- }
-}
-
-class TestOutputValueCalcDebug {
-// import TestOutputValueCalcDebug._
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section23/dfdl_expressions/TestDFDLExpressionsDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section23/dfdl_expressions/TestDFDLExpressionsDebug.scala
deleted file mode 100644
index c5fad72..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section23/dfdl_expressions/TestDFDLExpressionsDebug.scala
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section23.dfdl_expressions
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestDFDLExpressionsDebug {
- val testDir = "/org/apache/daffodil/section23/dfdl_expressions/"
- val testDir2 = "/org/apache/daffodil/section23/dfdl_functions/"
-
- // I'm not sure these belong in section23, but there is no section of the spec that
- // is about all these properties together, yet, since there is common mechanism here
- // I really think their tests should not be scattered all over to the sections where each
- // property is defined.
-
- val testDir4 = "/org/apache/daffodil/section23/runtime_properties/"
-
- val runner = Runner(testDir, "expressions.tdml", validateTDMLFile = false, validateDFDLSchemas = false)
- val runner2 = Runner(testDir2, "Functions.tdml")
- val runner2_utf8 = Runner(testDir2, "Functions_UTF8.tdml")
- val runner2b = Runner(testDir2, "Functions-neg.tdml")
- val runner3 = Runner(testDir, "expression_fail.tdml", validateTDMLFile = false)
- val runner4 = Runner(testDir4, "runtime-properties.tdml", validateTDMLFile = true, validateDFDLSchemas = false)
- val runner_fun = Runner(testDir, "functions.tdml")
-
- val testDir5 = "/org/apache/daffodil/section23/dfdl_expressions/"
- val runner5 = Runner(testDir5, "expressions.tdml")
-
- @AfterClass def shutDown() {
- runner4.reset
- runner.reset
- runner_fun.reset
- runner2.reset
- runner2_utf8.reset
- runner2b.reset
- runner3.reset
- }
-}
-
-class TestDFDLExpressionsDebug {
-
- import TestDFDLExpressionsDebug._
-
- //DFDL-1146
- @Test def test_attribute_axis_01() { runner.runOneTest("attribute_axis_01") }
- @Test def test_attribute_axis_02() { runner.runOneTest("attribute_axis_02") }
- @Test def test_attribute_axis_03() { runner.runOneTest("attribute_axis_03") }
-
- //DFDL-1111
- @Test def test_diagnostics_01() { runner.runOneTest("diagnostics_01") }
- @Test def test_diagnostics_02() { runner.runOneTest("diagnostics_02") }
- @Test def test_diagnostics_03() { runner.runOneTest("diagnostics_03") }
-
- //DFDL-1035 - tests need better diagnostic
- @Test def test_dfdlCheckConstraints() { runner.runOneTest("dfdlCheckConstraints") }
- @Test def test_dfdlCheckConstraints2() { runner.runOneTest("dfdlCheckConstraints2") }
-
- @Test def test_regexCompatFail() { runner.runOneTest("regexCompatFail") }
-
- // lengthUnits bytes with variable-width charater set and specified lengthKind
- @Test def test_lke3_rel() { runner.runOneTest("lke3_rel") } // uses lengthUnits bytes with utf-8
-
- // DFDL-1043
- @Test def test_checkConstraintsComplexTypeFails() { runner.runOneTest("checkConstraintsComplexTypeFails") }
-
- //DFDL-1164
- @Test def test_predicate_02() { runner.runOneTest("predicate_02") }
- @Test def test_predicate_03() { runner.runOneTest("predicate_03") }
-
- //DFDL-1059
- @Test def test_self_axis_01() { runner.runOneTest("self_axis_01") }
- @Test def test_multiple_axis_01() { runner.runOneTest("multiple_axis_01") }
-
- //DFDL-1076
- @Test def test_not_04() { runner2.runOneTest("not_04") }
-
- //DFDL-1115
- @Test def test_xsDateTime_constructor_03() { runner2.runOneTest("xsDateTime_constructor_03") }
-
- //DFDL-1159 (unordered sequences)
- @Test def test_count_05() { runner2.runOneTest("count_05") }
- @Test def test_count_06() { runner2.runOneTest("count_06") }
- @Test def test_count_08() { runner2.runOneTest("count_08") }
-
- //DFDL-1118
- @Test def test_more_count_0() { runner2.runOneTest("more_count_0") }
- @Test def test_more_count_1() { runner2.runOneTest("more_count_1") }
- @Test def test_more_count_1b_2() { runner2.runOneTest("more_count_1b_2") }
- @Test def test_more_count_2() { runner2.runOneTest("more_count_2") }
-
- //DFDL-1075
- @Test def test_not_05() { runner2.runOneTest("not_05") }
- @Test def test_not_07() { runner2.runOneTest("not_07") }
-
- //DFDL-1120
- @Test def test_exists_10() { runner2.runOneTest("exists_10") }
-
- //DFDL-1124
- @Test def test_date_constructor_01() { runner2.runOneTest("date_constructor_01") }
-
- //DFDL-1080
- @Test def test_empty_02() { runner2.runOneTest("empty_02") }
- @Test def test_exists_02() { runner2.runOneTest("exists_02") }
-
- //DFDL-1189
- @Test def test_exactly_one_01() { runner2.runOneTest("exactly_one_01") }
- @Test def test_exactly_one_02() { runner2.runOneTest("exactly_one_02") }
- @Test def test_exactly_one_03() { runner2.runOneTest("exactly_one_03") }
- @Test def test_exactly_one_04() { runner2.runOneTest("exactly_one_04") }
- @Test def test_exactly_one_05() { runner2.runOneTest("exactly_one_05") }
- @Test def test_exactly_one_06() { runner2.runOneTest("exactly_one_06") }
-
- //DFDL-1091
- @Test def test_count_05b() { runner2.runOneTest("count_05b") }
-
- // Fails due to invariant failure slotIndexInParent
- @Test def test_local_name_07() { runner2.runOneTest("local_name_07") }
-
- //DFDL-1097
- @Test def test_local_name_06() { runner2.runOneTest("local_name_06") }
-
- //DFDL-1101
- @Test def test_namespace_uri_01() { runner2.runOneTest("namespace_uri_01") }
- @Test def test_namespace_uri_02() { runner2.runOneTest("namespace_uri_02") }
- //DFDL-1114
- @Test def test_namespace_uri_03() { runner2.runOneTest("namespace_uri_03") }
- @Test def test_namespace_uri_04() { runner2.runOneTest("namespace_uri_04") }
- @Test def test_namespace_uri_05() { runner2.runOneTest("namespace_uri_05") }
- @Test def test_namespace_uri_06() { runner2.runOneTest("namespace_uri_06") }
-
- // These tests had the same names as others in the tdml file, and so were not
- // being seen or run. Names changed so they run, and they fail.
- @Test def test_date_constructor_02a() { runner2.runOneTest("date_constructor_02a") }
- @Test def test_date_constructor_03a() { runner2.runOneTest("date_constructor_03a") }
- @Test def test_nonNeg_constructor_02a() { runner2.runOneTest("nonNeg_constructor_02a") }
-
- @Test def test_element_long_form_whitespace() { runner.runOneTest("element_long_form_whitespace") }
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section24/regular_expressions/TestRegularExpressionsDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/section24/regular_expressions/TestRegularExpressionsDebug.scala
deleted file mode 100644
index 80b0138..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/section24/regular_expressions/TestRegularExpressionsDebug.scala
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.section24.regular_expressions
-
-import org.junit.Test
-import org.apache.daffodil.tdml.Runner
-import org.junit.AfterClass
-
-object TestRegularExpressionsDebug {
- val testDir = "/org/apache/daffodil/section24/regular_expressions/"
- val runner = Runner(testDir, "RegularExpressions.tdml")
-
- @AfterClass def shutDown {
- runner.reset
- }
-
-}
-
-class TestRegularExpressionsDebug {
-
- import TestRegularExpressionsDebug._
-
- // Unsupported Java 7 features (should return Schema Definition Errors)
- @Test def test_testRegEx_04() { runner.runOneTest("testRegEx_04") }
- @Test def test_testRegEx_05() { runner.runOneTest("testRegEx_05") }
- @Test def test_testRegEx_06() { runner.runOneTest("testRegEx_06") }
- @Test def test_testRegEx_07() { runner.runOneTest("testRegEx_07") }
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/usertests/TestLeaks.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/usertests/TestLeaks.scala
deleted file mode 100644
index e0ec11d..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/usertests/TestLeaks.scala
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.usertests
-import org.junit.Test
-import org.apache.daffodil.util._
-import org.apache.daffodil.tdml.DFDLTestSuite
-
-class TestLeaks {
- val testDir = "/org/apache/daffodil/usertests/"
- val aa = testDir + "leaks.tdml"
- lazy val runner = new DFDLTestSuite(Misc.getRequiredResource(aa))
-
- def volumeRunner(tc: => Unit) {
- 1 to 100 foreach { _ =>
- // println("")
- 1 to 100 foreach { _ =>
- // print(".")
- 1 to 100 foreach { _ =>
- System.gc()
- Thread.sleep(100)
- tc
- }
- }
- }
- }
-
- @Test def test_leak1() { runner.runOneTest("leak1") }
- @Test def test_leak2() { runner.runOneTest("leak2") }
- @Test def test_leak3() { runner.runOneTest("leak3") }
- @Test def test_leak4() { runner.runOneTest("leak4") }
-
- @Test def testLeak1() { volumeRunner(test_leak1()) } // no leak - correct, but no parsing (input value calc)
-
- @Test def testLeak2() { volumeRunner(test_leak2()) } // no leak - runtime error
-
- @Test def testLeak3() { volumeRunner(test_leak3()) } // no leak - compilation error
- @Test def testLeak4() { volumeRunner(test_leak4()) } // leaks horribly
-
-}
diff --git a/daffodil-test/src/test/scala-debug/org/apache/daffodil/usertests/TestUserSubmittedTestsDebug.scala b/daffodil-test/src/test/scala-debug/org/apache/daffodil/usertests/TestUserSubmittedTestsDebug.scala
deleted file mode 100644
index 219f75f..0000000
--- a/daffodil-test/src/test/scala-debug/org/apache/daffodil/usertests/TestUserSubmittedTestsDebug.scala
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.usertests
-
-import org.junit.Test
-import org.apache.daffodil.util._
-import org.apache.daffodil.tdml.DFDLTestSuite
-import org.apache.daffodil.debugger.InteractiveDebugger
-import org.apache.daffodil.debugger.TraceDebuggerRunner
-import org.apache.daffodil.dsom.ExpressionCompilers
-import org.apache.daffodil.tdml.Runner
-
-class TestUserSubmittedTestsDebug {
- val testDir = "/org/apache/daffodil/usertests/"
- lazy val runner = Runner(testDir, "UserSubmittedTests.tdml")
-
- //DFDL-1118
- @Test def test_dfdl_782() = {
- val tr = new CustomTraceRunner1
- val db = new InteractiveDebugger(tr, ExpressionCompilers)
- runner.setDebugger(db)
-
- runner.runOneTest("test_DFDL_782")
-
- // Comment out this line to see issue
- // documented in DFDL-790
- //
- // Note: Fixed, as tests always turn off debugging at end of a test now.
- //
- // runner.setDebugging(false)
- }
-
-}
-
-class CustomTraceRunner1 extends TraceDebuggerRunner {
- private var _lines = List.empty[String]
-
- def getAllTheLines(): String = {
- val sb = new StringBuilder
- _lines.foreach(line => {
- if (line.length > 0) sb.append(line)
- })
- val allTheLines = sb.toString
- allTheLines
- }
-
- override def init(id: InteractiveDebugger): Unit = {
- _lines = List.empty[String]
- super.init(id)
- }
- override def lineOutput(line: String) = _lines :+ (line + "\n")
-
-}
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section05/simple_types/TestSimpleTypes.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section05/simple_types/TestSimpleTypes.scala
index 81c3aa2..bbedd43 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section05/simple_types/TestSimpleTypes.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section05/simple_types/TestSimpleTypes.scala
@@ -35,6 +35,13 @@ object TestSimpleTypes {
class TestSimpleTypes {
import TestSimpleTypes._
+ // @Test def test_warning_exercise() {
+ // val exc = intercept[Exception] {
+ // runner.runOneTest("warning_exercise")
+ // }
+ // assertTrue(exc.getMessage().contains("Did not find"))
+ // }
+
@Test def test_one_octet() { runner.runOneTest("OneOctetBinaryParse") }
@Test def test_oneBit2() { runner.runOneTest("OneBit2") }
@@ -108,6 +115,7 @@ class TestSimpleTypes {
@Test def test_datePatternChoice() { runner.runOneTest("datePatternChoice") }
+ // DFDL-529
// @Test def test_dateCalendarCenturyStart() { runner.runOneTest("dateCalendarCenturyStart") }
// @Test def test_dateCalendarCenturyStart2() { runner.runOneTest("dateCalendarCenturyStart2") }
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section05/simple_types/TestSimpleTypes2.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section05/simple_types/TestSimpleTypes2.scala
index bfee9be..5539f04 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section05/simple_types/TestSimpleTypes2.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section05/simple_types/TestSimpleTypes2.scala
@@ -56,7 +56,9 @@ class TestSimpleTypes2 {
@Test def test_AK000() { runnerAK.runOneTest("AK000") }
@Test def test_AK001() { runnerAK.runOneTest("AK001") }
+ //@Test def test_redefinedFormat() { runner2.runOneTest("redefinedFormat") }
@Test def test_whiteSpaceBeforeLax() { runner2.runOneTest("whiteSpaceBeforeLax") }
+ //@Test def test_whiteSpaceAfterLax() { runner2.runOneTest("whiteSpaceAfterLax") }
@Test def test_whiteSpaceDuringLax() { runner2.runOneTest("whiteSpaceDuringLax") }
@Test def test_whiteSpaceBeforeStrict() { runner2.runOneTest("whiteSpaceBeforeStrict") }
@Test def test_whiteSpaceDuringStrict() { runner2.runOneTest("whiteSpaceDuringStrict") }
@@ -79,6 +81,11 @@ class TestSimpleTypes2 {
@Test def test_bitOrderChangeInvalid2() { runner1.runOneTest("bitOrderChangeInvalid2") }
@Test def test_bitOrderChangeInvalid2Unparser() { runner1.runOneTest("bitOrderChangeInvalid2Unparser") }
@Test def test_noByteOrder() { runner1.runOneTest("noByteOrder") }
+ //@Test def test_bitOrderChange() { runner1.runOneTest("bitOrderChange") }
+ //@Test def test_bitOrderDocument() { runner1.runOneTest("bitOrderDocument") }
+ //@Test def test_bitOrderTypeByte() { runner1.runOneTest("bitOrderTypeByte") }
+ //@Test def test_bitOrderChangeInvalid3() { runner1.runOneTest("bitOrderChangeInvalid3") }
+ //@Test def test_bitOrderChangeInvalid() { runner3.runOneTest("bitOrderChangeInvalid") }
@Test def test_simpleTypeDerivedFromPrimType() { runnerST.runOneTest("simpleTypeDerivedFromPrimType") }
@Test def test_simpleTypeChainedDerivations() { runnerST.runOneTest("simpleTypeChainedDerivations") }
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section06/namespaces/TestNamespaces.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section06/namespaces/TestNamespaces.scala
index 56b9354..4c04c03 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section06/namespaces/TestNamespaces.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section06/namespaces/TestNamespaces.scala
@@ -154,6 +154,7 @@ class TestNamespaces {
@Test def test_multi_encoding_03() { runner.runOneTest("multi_encoding_03") }
// @Test def test_multi_encoding_04() { runner.runOneTest("multi_encoding_04") } //DFDL-716
// @Test def test_multi_encoding_05() { runner.runOneTest("multi_encoding_05") } //DFDL-715
+ // @Test def test_indexOutOfBounds_01() { runner.runOneTest("indexOutOfBounds_01") }
// Preliminary tests for import format schemas
@Test def test_import_format_01() { runner.runOneTest("import_format_01") }
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section07/assertions/TestAssertions.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section07/assertions/TestAssertions.scala
index d852f76..81fbf69 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section07/assertions/TestAssertions.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section07/assertions/TestAssertions.scala
@@ -97,4 +97,7 @@ class TestAssertions {
@Test def test_assertWithMessageExpression_01() { runner.runOneTest("test_assertWithMessageExpression_01") }
@Test def test_assertWithMessageExpression_02() { runner.runOneTest("test_assertWithMessageExpression_02") }
+
+ //DFDL-1210
+ //@Test def test_assertFailShowsValue() { runner.runOneTest("assertFailShowsValue") }
}
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section07/escapeScheme/TestEscapeScheme.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section07/escapeScheme/TestEscapeScheme.scala
index 0e978f9..bd2d0cc 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section07/escapeScheme/TestEscapeScheme.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section07/escapeScheme/TestEscapeScheme.scala
@@ -49,6 +49,7 @@ class TestEscapeScheme {
@Test def test_escapeSchemeFail2() { runner.runOneTest("escapeSchemeFail2") }
@Test def test_escapeSchemeFail3() { runner.runOneTest("escapeSchemeFail3") }
@Test def test_escapeSchemeNonEmpty() { runner.runOneTest("escapeSchemeNonEmpty") }
+ //@Test def test_escapeSchemeNonUnique() { runner.runOneTest("escapeSchemeNonUnique") }
@Test def test_escapeExpressions_01() { runner.runOneTest("escapeExpressions_01") }
@Test def test_escapeExpressions_01b() { runner.runOneTest("escapeExpressions_01b") }
@@ -113,6 +114,8 @@ class TestEscapeScheme {
@Test def test_scenario3_10() { runner2.runOneTest("scenario3_10") }
@Test def test_scenario3_10_postfix() { runner2.runOneTest("scenario3_10_postfix") }
@Test def test_scenario3_11() { runner2.runOneTest("scenario3_11") }
+ //DFDL-961
+ //@Test def test_scenario3_11_postfix() { runner2.runOneTest("scenario3_11_postfix") }
@Test def test_scenario3_12() { runner2.runOneTest("scenario3_12") }
@Test def test_scenario3_12_req_term() { runner2.runOneTest("scenario3_12_req_term") }
@Test def test_scenario3_13() { runner2.runOneTest("scenario3_13") }
@@ -143,4 +146,5 @@ class TestEscapeScheme {
@Test def test_escBlkAllQuotes() { runner.runOneTest("escBlkAllQuotes") }
@Test def test_escBlkEndSame() { runner.runOneTest("escBlkEndSame") }
+ //@Test def test_escBlkMultipleEEC() { runner.runOneTest("escBlkMultipleEEC") } // DAFFODIL-1972
}
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section12/delimiter_properties/TestDelimiterPropertiesUnparse.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section12/delimiter_properties/TestDelimiterPropertiesUnparse.scala
index f7e12ff..0c490d7 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section12/delimiter_properties/TestDelimiterPropertiesUnparse.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section12/delimiter_properties/TestDelimiterPropertiesUnparse.scala
@@ -36,7 +36,7 @@ class TestDelimiterPropertiesUnparse {
import TestDelimiterPropertiesUnparse._
- //DFDL-1287
+ //DFDL-1287, DFDL-947
//@Test def test_unparseSeparatorLeadingSpace() { runner.runOneTest("unparseSeparatorLeadingSpace") }
//DFDL-1213
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section12/lengthKind/TestLengthKindPattern.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section12/lengthKind/TestLengthKindPattern.scala
index 7a536c4..de0bf57 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section12/lengthKind/TestLengthKindPattern.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section12/lengthKind/TestLengthKindPattern.scala
@@ -61,6 +61,8 @@ class TestLengthKindPattern {
// DFDL-309
@Test def test_LengthPatternIllegalBits_02_EncodingErrorPolicy_Replace() { runner.runOneTest("LengthPatternIllegalBits_02_EncodingErrorPolicy_Replace") }
+ // DFDL-935 dfdl:encodingErrorPolicy='error'
+ //@Test def test_LengthPatternIllegalBits_02_EncodingErrorPolicy_Error() { runner.runOneTest("LengthPatternIllegalBits_02_EncodingErrorPolicy_Error") }
@Test def test_LengthPatternLegalBits_02() { runner.runOneTest("LengthPatternLegalBits_02") } // round trip
@Test def test_lengthKindPatternFail() { runner.runOneTest("lengthKindPatternFail") }
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section14/unordered_sequences/TestUnorderedSequencesNew.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section14/unordered_sequences/TestUnorderedSequencesNew.scala
index 75cc9d4..8c7818c 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section14/unordered_sequences/TestUnorderedSequencesNew.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section14/unordered_sequences/TestUnorderedSequencesNew.scala
@@ -26,4 +26,24 @@ class TestUnorderedSequencesNew {
val res = Misc.getRequiredResource(uos)
lazy val runner = new DFDLTestSuite(res)
+ //DFDL-1010
+ //@Test def test_simple = { runner.runOneTest("test_simple") }
+ //@Test def test_simple_fail_scalar = { runner.runOneTest("test_simple_fail_scalar") }
+ //@Test def test_simple_min_max_occurs = { runner.runOneTest("test_simple_min_max_occurs") }
+ //@Test def test_simple_min_max_occurs_fail = { runner.runOneTest("test_simple_min_max_occurs_fail") }
+ //@Test def test_simple_delimited = { runner.runOneTest("test_simple_delimited") }
+ //@Test def test_simple_nil = { runner.runOneTest("test_simple_nil") }
+ //@Test def test_simple_invalid_path_to_branch = { runner.runOneTest("test_simple_invalid_path_to_branch") }
+ //@Test def test_simple_invalid_path_to_branch_does_not_exist = { runner.runOneTest("test_simple_invalid_path_to_branch_does_not_exist") }
+ //@Test def test_nested_valid_path_to_branch = { runner.runOneTest("test_nested_valid_path_to_branch") }
+ //@Test def test_nested_multiple_valid_paths_to_branch = { runner.runOneTest("test_nested_multiple_valid_paths_to_branch") }
+ //@Test def test_nested_multiple_invalid_paths_to_branch = { runner.runOneTest("test_nested_multiple_invalid_paths_to_branch") }
+ //@Test def test_nested_path_evaluates_to_nodelist = { runner.runOneTest("test_nested_path_evaluates_to_nodelist") }
+ //@Test def test_nested_invalid_path_to_branch = { runner.runOneTest("test_nested_invalid_path_to_branch") }
+ //@Test def test_nested_invalid_path_to_branch_2 = { runner.runOneTest("test_nested_invalid_path_to_branch_2") }
+ //@Test def test_nested_invalid_path_to_branch_3 = { runner.runOneTest("test_nested_invalid_path_to_branch_3") }
+ //@Test def test_sde_element_element_ref = { runner.runOneTest("test_sde_element_element_ref") }
+ //@Test def test_sde_optional_array_ock_parsed = { runner.runOneTest("test_sde_optional_array_ock_parsed") }
+ //@Test def test_sde_unique_names_in_ns = { runner.runOneTest("test_sde_unique_names_in_ns") }
+
}
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section15/choice_groups/TestChoice.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section15/choice_groups/TestChoice.scala
index a33ffc9..425a0f0 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section15/choice_groups/TestChoice.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section15/choice_groups/TestChoice.scala
@@ -119,4 +119,6 @@ class TestChoice {
@Test def test_direct_dispatch_14() { runnerCH.runOneTest("direct_dispatch_14") }
@Test def test_direct_dispatch_15() { runnerCH.runOneTest("direct_dispatch_15") }
@Test def test_direct_dispatch_16() { runnerCH.runOneTest("direct_dispatch_16") }
+
+ //@Test def test_choice_noBranch() { runnerCH.runOneTest("choice_noBranch") }
}
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section17/calc_value_properties/TestInputValueCalc.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section17/calc_value_properties/TestInputValueCalc.scala
index ce46049..c949956 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section17/calc_value_properties/TestInputValueCalc.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section17/calc_value_properties/TestInputValueCalc.scala
@@ -45,6 +45,7 @@ class TestInputValueCalc {
@Test def test_AR000() { runnerAR.runOneTest("AR000") }
@Test def test_AQ000() { runnerAQ.runOneTest("AQ000") }
+ //@Test def test_AQ001() { runnerAQ.runOneTest("AQ001") } // This appears to expect an error, but doesn't state why.
@Test def test_AA000() { runnerAA.runOneTest("AA000") }
@Test def test_inputValueCalcErrorDiagnostic1() { runnerAA.runOneTest("inputValueCalcErrorDiagnostic1") }
@@ -124,4 +125,13 @@ class TestInputValueCalc {
@Test def test_InputValueCalc_no_representation() { runner.runOneTest("InputValueCalc_no_representation") }
@Test def test_InputValueCalc_in_format() { runner.runOneTest("InputValueCalc_in_format") }
@Test def test_InputValueCalc_with_outputValueCalc() { runner.runOneTest("InputValueCalc_with_outputValueCalc") }
+
+ //DFDL-1025
+ //@Test def test_InputValueCalc_refers_self() { runner.runOneTest("InputValueCalc_refers_self") }
+ //@Test def test_InputValueCalc_circular_ref() { runner.runOneTest("InputValueCalc_circular_ref") }
+
+ //DFDL-1024
+ //@Test def test_InputValueCalc_optional_elem() { runner.runOneTest("InputValueCalc_optional_elem") }
+ //@Test def test_InputValueCalc_array_elem() { runner.runOneTest("InputValueCalc_array_elem") }
+ //@Test def test_InputValueCalc_global_elem() { runner.runOneTest("InputValueCalc_global_elem") }
}
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section23/dfdl_expressions/TestDFDLExpressions.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section23/dfdl_expressions/TestDFDLExpressions.scala
index a2c0364..e2e4a86 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section23/dfdl_expressions/TestDFDLExpressions.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section23/dfdl_expressions/TestDFDLExpressions.scala
@@ -217,7 +217,7 @@ class TestDFDLExpressions {
@Test def test_expressionRules06() { runner.runOneTest("expressionRules06") }
// uses lengthUnits bytes with utf-8 and lengthKind Explicit
- // @Test def test_lke3_rel() { runner.runOneTest("lke3_rel") }
+ @Test def test_lke3_rel() { runner.runOneTest("lke3_rel") }
@Test def test_lke1_rel() { runner.runOneTest("lke1_rel") }
@Test def test_lke1_abs() { runner.runOneTest("lke1_abs") }
@@ -317,7 +317,7 @@ class TestDFDLExpressions {
//DFDL-1059
@Test def test_parent_axis_01() { runner.runOneTest("parent_axis_01") }
@Test def test_child_axis_01() { runner.runOneTest("child_axis_01") }
- //@Test def test_self_axis_01() { runner.runOneTest("self_axis_01") }
+ @Test def test_self_axis_01() { runner.runOneTest("self_axis_01") }
//@Test def test_multiple_axis_01() { runner.runOneTest("multiple_axis_01") }
@Test def test_attribute_axis_04() { runner.runOneTest("attribute_axis_04") }
@@ -491,7 +491,7 @@ class TestDFDLExpressions {
//@Test def test_exactly_one_01() { runner2.runOneTest("exactly_one_01") }
//@Test def test_exactly_one_02() { runner2.runOneTest("exactly_one_02") }
//@Test def test_exactly_one_03() { runner2.runOneTest("exactly_one_03") }
- //@Test def test_exactly_one_04() { runner2.runOneTest("exactly_one_04") }
+ @Test def test_exactly_one_04() { runner2.runOneTest("exactly_one_04") }
//@Test def test_exactly_one_05() { runner2.runOneTest("exactly_one_05") }
//@Test def test_exactly_one_06() { runner2.runOneTest("exactly_one_06") }
@@ -508,7 +508,7 @@ class TestDFDLExpressions {
//DFDL-1159 (unordered sequences)
//@Test def test_count_05() { runner2.runOneTest("count_05") }
//@Test def test_count_06() { runner2.runOneTest("count_06") }
- //@Test def test_count_08() { runner2.runOneTest("count_08") }
+ @Test def test_count_08() { runner2.runOneTest("count_08") }
@Test def test_local_name_01() { runner2.runOneTest("local_name_01") }
@Test def test_local_name_02() { runner2.runOneTest("local_name_02") }
@@ -810,8 +810,11 @@ class TestDFDLExpressions {
//DFDL-1124
//@Test def test_date_constructor_01() { runner2.runOneTest("date_constructor_01") }
@Test def test_date_constructor_02() { runner2.runOneTest("date_constructor_02") }
+ //@Test def test_date_constructor_02a() { runner2.runOneTest("date_constructor_02a") }
@Test def test_date_constructor_03() { runner2.runOneTest("date_constructor_03") }
+ //@Test def test_date_constructor_03a() { runner2.runOneTest("date_constructor_03a") }
@Test def test_date_constructor_04() { runner2.runOneTest("date_constructor_04") }
+ //@Test def test_nonNeg_constructor_02a() { runner2.runOneTest("nonNeg_constructor_02a") }
@Test def test_xsDateTime_constructor_01() { runner2.runOneTest("xsDateTime_constructor_01") }
@Test def test_xsDateTime_constructor_02() { runner2.runOneTest("xsDateTime_constructor_02") }
@@ -1028,4 +1031,7 @@ class TestDFDLExpressions {
//DFDL-711
@Test def test_short_parent_axis_01() { runner.runOneTest("short_parent_axis_01") }
+
+ @Test def test_element_long_form_whitespace() { runner.runOneTest("element_long_form_whitespace") }
}
+
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/section24/regular_expressions/TestRegularExpressions.scala b/daffodil-test/src/test/scala/org/apache/daffodil/section24/regular_expressions/TestRegularExpressions.scala
index ef31df7..3cffaa1 100644
--- a/daffodil-test/src/test/scala/org/apache/daffodil/section24/regular_expressions/TestRegularExpressions.scala
+++ b/daffodil-test/src/test/scala/org/apache/daffodil/section24/regular_expressions/TestRegularExpressions.scala
@@ -44,6 +44,7 @@ class TestRegularExpressions {
@Test def test_testRegEx_02() { runner.runOneTest("testRegEx_02") }
@Test def test_testRegEx_03() { runner.runOneTest("testRegEx_03") }
+ // DFDL-517
// // Unsupported Java 7 features (should return Schema Definition Errors)
// @Test def test_testRegEx_04() { runner.runOneTest("testRegEx_04") }
// @Test def test_testRegEx_05() { runner.runOneTest("testRegEx_05") }
diff --git a/daffodil-test/src/test/scala/org/apache/daffodil/usertests/TestUserSubmittedTestsNew.scala b/daffodil-test/src/test/scala/org/apache/daffodil/usertests/TestUserSubmittedTestsNew.scala
deleted file mode 100644
index 0f0316c..0000000
--- a/daffodil-test/src/test/scala/org/apache/daffodil/usertests/TestUserSubmittedTestsNew.scala
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.daffodil.usertests
-
-import org.apache.daffodil.util._
-import org.apache.daffodil.tdml.DFDLTestSuite
-
-class TestUserSubmittedTestsNew {
- val testDir = "/org/apache/daffodil/usertests/"
- val aa = testDir + "UserSubmittedTests.tdml"
- lazy val runner = new DFDLTestSuite(Misc.getRequiredResource(aa))
-
-}