Consolidate System.Private.Xml test projects (#75499)
authorStephen Toub <stoub@microsoft.com>
Wed, 14 Sep 2022 09:08:24 +0000 (05:08 -0400)
committerGitHub <noreply@github.com>
Wed, 14 Sep 2022 09:08:24 +0000 (05:08 -0400)
* Consolidate System.Private.Xml test projects

We currently have almost 30 test projects underneath System.Private.Xml\tests in various levels of nested directories.  This makes it challenging to appropriately run all of the System.Private.Xml tests when making any changes to anything in S.P.Xml, and it makes it all but impossible to get meaningful code coverage information, which in turns significantly lowers our confidence about any changes being made to the library.

This PR consolidates almost all of them into a single System.Private.Xml.Tests projects.  It is a mostly mechanical change, adding all of the relevant files to the single .csproj and deleting the individual csproj files.  In some cases I added more specific namespaces to deal with conflicts.  In others multiple projects were including the same files containing [Facts] and parameterizing them via statics that were supplied by individual files built only into the relevant projects; I fixed those by making the [Fact]s into [Theory]s and passing in all the relevant state.  I also had to fix up some cases where tests were mutating global state that then conflicted with other tests.

This explicitly does not:
- Clean up any test code beyond the minimal necessary to get this to compile.  Many of these tests are old and crusty and worthy of a complete rewrite, but I restrained myself.
- Move or rename any files around.
- Try to enable parallelization of the tests.  That’d be good to do at some point to help with test execution time, but I didn’t want to change any tests beyond what was necessary.

I did run the fixer to remove unnecessary usings, as I’d added some usings as part of mechanically fixing this without paying attention to whether they were necessary or not.

There are just two test projects that remain separate: one for trimming, and one for serialization that runs some of the same tests but with a different compilation constant set for its build.

* Fix XLinq tests

* Fix handling of AllowDefaultResolver switch

* Fix test failure on Linux

464 files changed:
src/libraries/Common/tests/System/IO/TempDirectory.cs
src/libraries/Common/tests/System/Runtime/Serialization/Utils.cs
src/libraries/Common/tests/System/Threading/TrackingSynchronizationContext.cs
src/libraries/Common/tests/System/Xml/ModuleCore/cltmconsole.cs
src/libraries/Common/tests/System/Xml/ModuleCore/cmodinfo.cs
src/libraries/Common/tests/System/Xml/ModuleCore/cparser.cs
src/libraries/Common/tests/System/Xml/ModuleCore/ctestmodule.cs
src/libraries/Common/tests/System/Xml/XPath/Common/FileHelper.cs
src/libraries/Common/tests/System/Xml/XPath/Common/Utils.cs
src/libraries/Common/tests/System/Xml/XPath/Common/XPathResultToken.cs
src/libraries/Common/tests/System/Xml/XPath/CoreFunctionLibrary/BooleanFunctionsTests.cs
src/libraries/Common/tests/System/Xml/XPath/CoreFunctionLibrary/ComplexExpressionsTests.cs
src/libraries/Common/tests/System/Xml/XPath/CoreFunctionLibrary/NodeSetFunctionsTests.cs
src/libraries/Common/tests/System/Xml/XPath/CoreFunctionLibrary/NodeSetMatchesTests.cs
src/libraries/Common/tests/System/Xml/XPath/CoreFunctionLibrary/NumberFunctionsTests.cs
src/libraries/Common/tests/System/Xml/XPath/CoreFunctionLibrary/ParameterTypeCoercionTests.cs
src/libraries/Common/tests/System/Xml/XPath/CoreFunctionLibrary/StringFunctionsTests.cs
src/libraries/Common/tests/System/Xml/XPath/CustomerScenarios/CustomerScenariosTests.cs
src/libraries/Common/tests/System/Xml/XPath/CustomerScenarios/MatchesTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncExpressions/BasicMatchesTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncExpressions/BasicsTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncExpressions/BooleansTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncExpressions/NodeSetsMatchesTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncExpressions/NodeSetsTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncExpressions/NumbersTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncExpressions/SetContextFunctionalTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncExpressions/SetContextMatchesTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathAbbreviatedSyntaxMatchesTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathAbbreviatedSyntaxTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathAxeCombinationsTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathAxeComplexExprMatchesTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathAxeComplexExprTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathAxeMatchesTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathAxesTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathNodeMatchesTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathNodeTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathPredicateComplexExprTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathPredicateMatchesTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathPredicatePositionTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/PathPredicatesTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/StepMatchesTests.cs
src/libraries/Common/tests/System/Xml/XPath/FuncLocation/StepsTests.cs
src/libraries/Common/tests/System/Xml/XPath/MiscellaneousCases/GlobalizationTests.cs
src/libraries/Common/tests/System/Xml/XPath/MiscellaneousCases/LexicalStructureTests.cs
src/libraries/Common/tests/System/Xml/XPath/MiscellaneousCases/MatchesTests.cs
src/libraries/Common/tests/System/Xml/XPath/MiscellaneousCases/MiscellaneousCasesTests.cs
src/libraries/Common/tests/System/Xml/XPath/MiscellaneousCases/NodeSetsTests.cs
src/libraries/Common/tests/System/Xml/XPath/MiscellaneousCases/RegressionTestsTests.cs
src/libraries/Common/tests/System/Xml/XPath/TestsWithEncoding/MiscWithEncodings.cs
src/libraries/Common/tests/System/Xml/XPath/XDocument/CreateNavigatorComparer.cs [moved from src/libraries/System.Private.Xml.Linq/tests/XPath/XDocument/CreateNavigatorComparer.cs with 100% similarity]
src/libraries/Common/tests/System/Xml/XPath/XDocument/CreateNavigatorFromXDocument.cs [moved from src/libraries/System.Private.Xml.Linq/tests/XPath/XDocument/CreateNavigatorFromXDocument.cs with 100% similarity]
src/libraries/Common/tests/System/Xml/XPath/XDocument/NavigatorComparer.cs [moved from src/libraries/System.Private.Xml.Linq/tests/XPath/XDocument/NavigatorComparer.cs with 100% similarity]
src/libraries/Common/tests/System/Xml/XPath/XPathExpressionTests/CompileTests.cs
src/libraries/Common/tests/System/Xml/XPath/XPathExpressionTests/EvaluateTests.cs
src/libraries/Common/tests/System/Xml/XPath/XmlDocument/CreateNavigatorFromXmlDocument.cs
src/libraries/Common/tests/System/Xml/XmlCoreTest/AsyncUtil.cs
src/libraries/Common/tests/System/Xml/XmlCoreTest/FilePathUtil.cs
src/libraries/Common/tests/System/Xml/XmlCoreTest/ManagedNodeWriter.cs
src/libraries/Common/tests/System/Xml/XmlCoreTest/ReaderCreateUtil.cs
src/libraries/Common/tests/System/Xml/XmlCoreTest/ReaderUtil.cs
src/libraries/Common/tests/System/Xml/XmlCoreTest/WriterFactory.cs
src/libraries/Common/tests/System/Xml/XmlDiff/XmlDiff.cs
src/libraries/Common/tests/System/Xml/XmlDiff/XmlDiffDocument.cs
src/libraries/Common/tests/TestUtilities/System/AssertExtensions.cs
src/libraries/Common/tests/TestUtilities/System/DisableParallelizationPerAssembly.cs
src/libraries/Common/tests/TestUtilities/System/IO/FileCleanupTestBase.cs
src/libraries/Common/tests/TestUtilities/System/PlatformDetection.cs
src/libraries/System.Private.Xml.Linq/tests/XPath/XDocument/System.Xml.XPath.XDocument.Tests.csproj [deleted file]
src/libraries/System.Private.Xml.Linq/tests/XPath/XDocument/XDocumentXPathTest.cs [deleted file]
src/libraries/System.Private.Xml/System.Private.Xml.sln
src/libraries/System.Private.Xml/tests/AllowDefaultResolverContext.cs [new file with mode: 0644]
src/libraries/System.Private.Xml/tests/Misc/System.Xml.Misc.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/CharReaderTests.cs
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/InheritedCases.cs
src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/System.Xml.RW.CharCheckingReader.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/Readers/CustomReader/CReaderTestModule.cs
src/libraries/System.Private.Xml/tests/Readers/CustomReader/InheritedCases.cs
src/libraries/System.Private.Xml/tests/Readers/CustomReader/System.Xml.RW.CustomReader.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/Readers/Directory.Build.props [deleted file]
src/libraries/System.Private.Xml/tests/Readers/FactoryReader/FactoryReaderTests.cs
src/libraries/System.Private.Xml/tests/Readers/FactoryReader/InheritedCases.cs
src/libraries/System.Private.Xml/tests/Readers/FactoryReader/Normalization.cs
src/libraries/System.Private.Xml/tests/Readers/FactoryReader/System.Xml.RW.FactoryReader.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/Readers/FactoryReader/TCNormalization.cs
src/libraries/System.Private.Xml/tests/Readers/NameTable/CNameTableTestModule.cs
src/libraries/System.Private.Xml/tests/Readers/NameTable/InheritNameTable.cs
src/libraries/System.Private.Xml/tests/Readers/NameTable/System.Xml.RW.NameTable.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/Readers/NameTable/TCRecordNameTableAdd.cs
src/libraries/System.Private.Xml/tests/Readers/NameTable/TCRecordNameTableGet.cs
src/libraries/System.Private.Xml/tests/Readers/NameTable/TCUserNameTable.cs
src/libraries/System.Private.Xml/tests/Readers/NameTable/TestFiles.cs
src/libraries/System.Private.Xml/tests/Readers/NameTable/XmlNameTable.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/CReaderTestModule.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/ConformanceSettings.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/CreateOverloads.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/FilterSettings.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/Interactions.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/MaxSettings.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/ReaderSettings.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/System.Xml.RW.ReaderSettings.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/TCCloseInput.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/TCConformanceSettings.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/TCCreateOverloads.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/TCDtdProcessingCoreReader.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/TCDtdProcessingNonCoreReader.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/TCFilterSettings.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/TCLineInfo.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/TCMaxSettings.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/TCOneByteStream.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/TCRSGeneric.cs
src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/TCReaderSettings.cs
src/libraries/System.Private.Xml/tests/Readers/SubtreeReader/InheritedCases.cs
src/libraries/System.Private.Xml/tests/Readers/SubtreeReader/SubtreeReaderTests.cs
src/libraries/System.Private.Xml/tests/Readers/SubtreeReader/System.Xml.RW.SubtreeReader.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/Readers/WrappedReader/InheritedCases.cs
src/libraries/System.Private.Xml/tests/Readers/WrappedReader/System.Xml.RW.WrappedReader.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/Readers/WrappedReader/WrappedReaderTests.cs
src/libraries/System.Private.Xml/tests/System.Private.Xml.Tests.csproj [new file with mode: 0644]
src/libraries/System.Private.Xml/tests/Writers/RwFactory/CFactoryModule.cs
src/libraries/System.Private.Xml/tests/Writers/RwFactory/CModCmdLine.cs
src/libraries/System.Private.Xml/tests/Writers/RwFactory/CRWFactory.cs
src/libraries/System.Private.Xml/tests/Writers/RwFactory/CXmlDriverEngine.cs
src/libraries/System.Private.Xml/tests/Writers/RwFactory/CXmlDriverException.cs
src/libraries/System.Private.Xml/tests/Writers/RwFactory/CXmlDriverModule.cs
src/libraries/System.Private.Xml/tests/Writers/RwFactory/CXmlDriverParam.cs
src/libraries/System.Private.Xml/tests/Writers/RwFactory/CXmlDriverScenario.cs
src/libraries/System.Private.Xml/tests/Writers/RwFactory/CXmlDriverVariation.cs
src/libraries/System.Private.Xml/tests/Writers/RwFactory/ReaderFactory.cs
src/libraries/System.Private.Xml/tests/Writers/RwFactory/System.Xml.RW.RwFactory.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/Writers/RwFactory/WriterFactory.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/EndOfLineHandlingTests.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/ErrorCondition.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/NamespaceHandlingTests.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/ReaderParamTestCase.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/System.Xml.RW.XmlWriterApi.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCAttribute.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCAutoCL.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCAutoComplete.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCCheckChars.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCCloseOutput.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCDefaultWriterSettingsTests.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCDocType.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCDocument.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCElement.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCErrorState.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFlushClose.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFragmentCL.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCIndent.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCIndentChars.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCNewLineChars.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCNewLineHandling.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCNewLineOnAttributes.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCOmitXmlDecl.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCStandAlone.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCWriteAttributes.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCWriteBuffer.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCWriteNode_XmlReader.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCWriterSettingsMisc.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCWriterWithMemoryStream.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TestExtensions.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/WriteEndDocumentOnCloseTest.cs
src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/XmlWriterTestCaseBase.cs
src/libraries/System.Private.Xml/tests/XPath/XPathDocument/System.Xml.XPath.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XPath/XPathDocument/XmlReaderXPathTest.cs [deleted file]
src/libraries/System.Private.Xml/tests/XPath/XmlDocument/System.Xml.XPath.XmlDocument.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XPath/XmlDocument/XmlDocumentXPathTest.cs [deleted file]
src/libraries/System.Private.Xml/tests/XmlConvert/EncodeDecodeTests.cs
src/libraries/System.Private.Xml/tests/XmlConvert/MiscellaneousTests.cs
src/libraries/System.Private.Xml/tests/XmlConvert/SqlXmlConvertTests.cs
src/libraries/System.Private.Xml/tests/XmlConvert/SqlXmlConvertTests0.cs
src/libraries/System.Private.Xml/tests/XmlConvert/SqlXmlConvertTests1.cs
src/libraries/System.Private.Xml/tests/XmlConvert/SqlXmlConvertTests2.cs
src/libraries/System.Private.Xml/tests/XmlConvert/SqlXmlConvertTests3.cs
src/libraries/System.Private.Xml/tests/XmlConvert/System.Xml.RW.XmlConvert.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XmlConvert/ToTypeTests.cs
src/libraries/System.Private.Xml/tests/XmlConvert/VerifyNameTests1.cs
src/libraries/System.Private.Xml/tests/XmlConvert/VerifyNameTests2.cs
src/libraries/System.Private.Xml/tests/XmlConvert/VerifyNameTests3.cs
src/libraries/System.Private.Xml/tests/XmlConvert/VerifyNameTests4.cs
src/libraries/System.Private.Xml/tests/XmlConvert/VerifyNameTests5.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlBaseCharConvertTests.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlBaseCharConvertTests1.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlBaseCharConvertTests2.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlBaseCharConvertTests3.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlCombiningCharConvertTests.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlCombiningCharConvertTests1.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlCombiningCharConvertTests2.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlCombiningCharConvertTests3.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlConvertTests.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlDigitCharConvertTests.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlDigitCharConvertTests1.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlDigitCharConvertTests2.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlDigitCharConvertTests3.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlEmbeddedNullCharConvertTests.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlEmbeddedNullCharConvertTests1.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlEmbeddedNullCharConvertTests2.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlEmbeddedNullCharConvertTests3.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlIdeographicCharConvertTests.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlIdeographicCharConvertTests1.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlIdeographicCharConvertTests2.cs
src/libraries/System.Private.Xml/tests/XmlConvert/XmlIdeographicCharConvertTests3.cs
src/libraries/System.Private.Xml/tests/XmlDocument/System.Xml.XmlDocument.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XmlDocument/XmlAttributeCollectionTests/AppendTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlAttributeCollectionTests/CollectionInterfaceTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlAttributeCollectionTests/CopyToTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlAttributeCollectionTests/IndexerTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlAttributeCollectionTests/InsertAfterTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlAttributeCollectionTests/InsertBeforeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlAttributeCollectionTests/PrependTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlAttributeCollectionTests/RemoveAllTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlAttributeCollectionTests/RemoveAtTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlAttributeCollectionTests/RemoveTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlAttributeCollectionTests/SetNamedItemTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlAttributeTests/SpecifiedTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlCharacterDataTests/AppendDataTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlCharacterDataTests/DataTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlCharacterDataTests/DeleteDataTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlCharacterDataTests/InsertDataTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlCharacterDataTests/LengthTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlCharacterDataTests/ReplaceTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlCharacterDataTests/SubstringTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/CreateAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/CreateCDataSectionTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/CreateCommentTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/CreateDocumentFragment.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/CreateElementTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/CreateProcessingInstruction.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/CreateTextNodeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/CreateXmlDeclarationTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/GetElementsByTagNameTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/ImportNodeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/LoadTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/NameTableTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/NodeChangedTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/NodeChangingTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/NodeInsertedTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/NodeInsertingTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/NodeRemovedTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlDocumentTests/NodeRemovingTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlElementTests/GetAttributeNodeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlElementTests/GetAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlElementTests/GetElementsByTagNameTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlElementTests/HasAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlElementTests/RemoveAttributeNodeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlElementTests/RemoveAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlElementTests/SetAttributeNodeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlElementTests/SetAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlImplementationTests/CreateDocumentTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlImplementationTests/HasFeatureTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNamedNodeMapTests/CountTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNamedNodeMapTests/GetNameTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNamedNodeMapTests/GetNamedItemTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNamedNodeMapTests/ItemTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNamedNodeMapTests/RemoveNamedItemTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNamedNodeMapTests/SetNamedItemTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeListTests/CountTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeListTests/ItemTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/AppendChildTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/AttributesTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/ChildNodesTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/CloneNodeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/FirstChildTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/HasChildNodesTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/InsertBeforeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/InsertTests/OneElementTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/InsertTests/TestHelper.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/InsertTests/ThreeElementTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/InsertTests/TwoElementTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/InsertTests/TwoTextNodeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/LastChildTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/LocalNameTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/NameTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/NamespaceURITests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/NextSiblingTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/NodeTypeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/NormalizeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/OwnerDocumentTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/ParentNodeTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/PrefixTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/PreviousSiblingTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/RemoveChildTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/ReplaceChildTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/SupportsTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlNodeTests/ValueTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlProcessingInstructionTests/DataTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlProcessingInstructionTests/TargetTests.cs
src/libraries/System.Private.Xml/tests/XmlDocument/XmlTextTests/SplitTextTests.cs
src/libraries/System.Private.Xml/tests/XmlNodeReader/System.Xml.XmlNodeReader.Tests/NodeReaderTestHelper.cs
src/libraries/System.Private.Xml/tests/XmlNodeReader/System.Xml.XmlNodeReader.Tests/System.Xml.XmlNodeReader.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XmlNodeReader/System.Xml.XmlNodeReader.Tests/XmlNodeReaderConstructionTests.cs
src/libraries/System.Private.Xml/tests/XmlNodeReader/System.Xml.XmlNodeReader.Tests/XmlNodeReaderGetAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlNodeReader/System.Xml.XmlNodeReader.Tests/XmlNodeReaderMiscTests.cs
src/libraries/System.Private.Xml/tests/XmlNodeReader/System.Xml.XmlNodeReader.Tests/XmlNodeReaderMoveToAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlNodeReader/System.Xml.XmlNodeReader.Tests/XmlNodeReaderReadTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsArrayTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsBooleanAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsBooleanElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsBooleanTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsByteAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsByteElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsByteTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsCharElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsCharTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDateTimeAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDateTimeElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDateTimeOffsetAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDateTimeOffsetElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDateTimeOffsetTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDateTimeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDayOfWeekElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDayOfWeekTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDecimalAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDecimalElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDecimalTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDoubleAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDoubleElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsDoubleTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsExceptionElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsExceptionTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsExtendedDateTimeElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsExtendedDateTimeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsFloatAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsFloatElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsFloatTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsIntegerAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsIntegerElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsIntegerTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsLongAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsLongElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsLongTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsObjectAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsObjectElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsObjectTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsStringAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsStringElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsStringTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsTimeSpanAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsTimeSpanElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsTimeSpanTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsTimeZoneInfoElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsTimeZoneInfoTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsUriAttributeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsUriElementContentTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/ReadAsUriTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/System.Xml.RW.XmlReader.ReadContentAs.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/Utils.cs
src/libraries/System.Private.Xml/tests/XmlReader/Tests/AsyncReaderLateInitTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/Tests/BaseUriTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/Tests/DisposeTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/Tests/ReaderEncodingTests.cs
src/libraries/System.Private.Xml/tests/XmlReader/Tests/System.Xml.RW.XmlReader.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XmlReader/XmlResolver/System.Xml.RW.XmlSystemPathResolver.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XmlReader/XmlResolver/XmlSystemPathResolverTests.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/CDataReader.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/CGenericTestModule.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/CXMLGeneralTest.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/CXMLReaderAttrTest.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/CXmlReaderEntityTest.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/CommonTest.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/ErrorCondition.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/LineNumber.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/ReadBase64.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/ReadBinHex.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/ReadSubTree.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/ReadToDescendant.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/ReadToFollowing.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/ReadToNextSibling.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/ReadValue.cs
src/libraries/System.Private.Xml/tests/XmlReaderLib/XmlException.cs
src/libraries/System.Private.Xml/tests/XmlResolver/System.Xml.XmlResolver.Tests/DummyStream.cs
src/libraries/System.Private.Xml/tests/XmlResolver/System.Xml.XmlResolver.Tests/System.Xml.XmlResolver.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XmlResolver/System.Xml.XmlResolver.Tests/XmlPreloadedResolverAddRemoveTests.cs
src/libraries/System.Private.Xml/tests/XmlResolver/System.Xml.XmlResolver.Tests/XmlPreloadedResolverConstructionTests.cs
src/libraries/System.Private.Xml/tests/XmlResolver/System.Xml.XmlResolver.Tests/XmlPreloadedResolverGetEntity.cs
src/libraries/System.Private.Xml/tests/XmlResolver/System.Xml.XmlResolver.Tests/XmlPreloadedResolverMiscTests.cs
src/libraries/System.Private.Xml/tests/XmlResolver/System.Xml.XmlResolver.Tests/XmlPreloadedResolverResolveUriTests.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/CError.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/System.Xml.XmlSchemaSet.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Add_Reader.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Add_Schema.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Add_SchemaSet.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Add_URL.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_AllowXmlAttributes.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_AnyAttribute.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Compile.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Constructors.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Contains_ns.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Contains_schema.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_CopyTo.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Count.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_EnableUpaCheck.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_GlobalAttributes.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_GlobalElements.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_GlobalTypes.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Imports.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Includes.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_IsCompiled.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Misc.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_NmTokens.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_ProhibitDTD.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Remove.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_RemoveRecursive.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Reprocess.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Schemas.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_Schemas_NS.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_ValidationEventHandler.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_XmlNameTable.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/TC_SchemaSet_XmlResolver.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/CXmlTestResolver.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/Constructor_AddSchema.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/CustomImplementations.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/ExceptionVerifier.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/GetExpectedAttributes.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/GetExpectedParticles.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/Initialize_EndValidation.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/Program.cs [deleted file]
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/PropertiesTests.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/System.Xml.XmlSchema.XmlSchemaValidatorApi.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/ValidateAttribute.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/ValidateAttribute_String.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/ValidateElement.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/ValidateMisc.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/ValidateText_EndElement.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/ValidateText_String.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/ValidateWhitespace_String.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/ValidatorModule.cs
src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/XmlTestSettings.cs
src/libraries/System.Private.Xml/tests/XmlSerializer/System.Xml.XmlSerializer.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.RuntimeOnly.cs
src/libraries/System.Private.Xml/tests/XmlSerializer/XmlSerializerTests.cs
src/libraries/System.Private.Xml/tests/XmlWriter/DisposeTests.cs
src/libraries/System.Private.Xml/tests/XmlWriter/System.Xml.RW.XmlWriter.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/XmlWriter/WriteWithEncoding.cs
src/libraries/System.Private.Xml/tests/XmlWriter/WriteWithEncodingWithFallback.cs
src/libraries/System.Private.Xml/tests/XmlWriter/WriteWithInvalidSurrogate.cs
src/libraries/System.Private.Xml/tests/XmlWriter/XmlTextWriterTests.cs
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/Errata4.cs
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/OutputSettings.cs
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/System.Xml.Xsl.XslCompiledTransformApi.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/TempFiles.cs
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.cs
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompilerTests.cs
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslTransformMultith.cs
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XsltApiV2.cs
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XsltArgumentList.cs
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XsltArgumentListMultith.cs
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XsltSettings.cs
src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XunitAssemblyAttribute.cs [deleted file]
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/CXmlCache.cs
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/CXslTArgumentList.cs
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/CXslTransform.cs
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/CXslTransformMultith.cs
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/CXsltArgumentListMultith.cs
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/DataHelper.cs
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/ExceptionVerifier.cs
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/MyNavigator.cs
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/System.Xml.Xsl.XslTransformApi.Tests.csproj [deleted file]
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/XSLTransform.cs
src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/XunitAssemblyAttributes.cs [deleted file]
src/libraries/System.Runtime.Serialization.Json/tests/DataContractJsonSerializer.cs
src/libraries/System.Runtime.Serialization.Xml/tests/SerializationTypes.RuntimeOnly.cs
src/libraries/System.Runtime.Serialization.Xml/tests/SerializationTypes.cs

index 93c6d96..2803154 100644 (file)
@@ -1,8 +1,6 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System.Text;
-
 namespace System.IO
 {
     /// <summary>
index 8d4e258..c8980a6 100644 (file)
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System;
 using System.Collections.Concurrent;
 using System.Diagnostics;
-using System.IO;
-using System.Text;
-using System.Threading.Tasks;
-using System.Xml.Linq;
 using System.Linq;
 using System.Reflection;
 using System.Runtime.Loader;
+using System.Xml.Linq;
 using Xunit;
 
-internal static class Utils
+namespace System.Runtime.Serialization.Tests
 {
-    internal static void Equal<T>(T[] x, T[] y, Func<T, T, bool> f)
+    internal static class Utils
     {
-        if (x == null)
-        {
-            Assert.Null(y);
-        }
-        else if (y == null)
-        {
-            Assert.Null(x);
-        }
-        else
+        internal static void Equal<T>(T[] x, T[] y, Func<T, T, bool> f)
         {
-            Assert.True(x.Length == y.Length);
-
-            for (int i = 0; i < x.Length; i++)
+            if (x == null)
             {
-                Assert.True(f(x[i], y[i]));
+                Assert.Null(y);
             }
-        }
-    }
-
-    private static ConcurrentDictionary<string, string> s_prefixToNamespaceDesk = new ConcurrentDictionary<string, string>();
-    private static ConcurrentDictionary<string, string> s_prefixToNamespaceCoreCLR = new ConcurrentDictionary<string, string>();
-
-    internal struct CompareResult
-    {
-        public bool Equal { get; set; }
-        public string ErrorMessage { get; set; }
-    }
+            else if (y == null)
+            {
+                Assert.Null(x);
+            }
+            else
+            {
+                Assert.True(x.Length == y.Length);
 
-    internal static int Min(int a, int b)
-    {
-        if (a < b) { return a; }
-        return b;
-    }
+                for (int i = 0; i < x.Length; i++)
+                {
+                    Assert.True(f(x[i], y[i]));
+                }
+            }
+        }
 
-    internal static int Max(int a, int b)
-    {
-        if (a > b) { return a; }
-        return b;
-    }
+        private static ConcurrentDictionary<string, string> s_prefixToNamespaceDesk = new ConcurrentDictionary<string, string>();
+        private static ConcurrentDictionary<string, string> s_prefixToNamespaceCoreCLR = new ConcurrentDictionary<string, string>();
 
-    private static CompareResult CompareString(string expected, string actual)
-    {
-        if (expected == null && actual == null)
+        internal struct CompareResult
         {
-            return new CompareResult { Equal = true };
+            public bool Equal { get; set; }
+            public string ErrorMessage { get; set; }
         }
 
-        if (expected == null)
+        internal static int Min(int a, int b)
         {
-            return new CompareResult { ErrorMessage = "expected null, but actual was:\n" + actual };
+            if (a < b) { return a; }
+            return b;
         }
 
-        if (actual == null)
+        internal static int Max(int a, int b)
         {
-            return new CompareResult { ErrorMessage = "actual was null, but was expecting:\n" + expected };
+            if (a > b) { return a; }
+            return b;
         }
 
-        int commonLength = Min(actual.Length, expected.Length);
-
-        for (int currentIndex = 0; currentIndex < commonLength; ++currentIndex)
+        private static CompareResult CompareString(string expected, string actual)
         {
-            char expectedChar = expected[currentIndex];
-            char actualChar = actual[currentIndex];
+            if (expected == null && actual == null)
+            {
+                return new CompareResult { Equal = true };
+            }
 
-            if (expectedChar != actualChar)
+            if (expected == null)
             {
-                int from = Max(currentIndex - 10, 0);
-                int errPosition = currentIndex - from;
-                int to = Min(currentIndex + 20, commonLength);
-                string message = string.Format("strings differ at index {0}\n{3}\u2193\n[expected]:{1}\n[actual  ]:{2}\n{3}\u2191\n[Expected (with length={4})]:\n{5}\n[Actual (with length={6})]:\n{7}",
-                    currentIndex,
-                    expected.Substring(from, to - from),
-                    actual.Substring(from, to - from),
-                    new string(' ', errPosition + " expected :".Length),
-                    expected.Length,
-                    expected,
-                    actual.Length,
-                    actual);
-                return new CompareResult { ErrorMessage = message };
+                return new CompareResult { ErrorMessage = "expected null, but actual was:\n" + actual };
             }
-        }
 
-        if (actual.Length != commonLength)
-        {
-            return new CompareResult { ErrorMessage = "actual is longer. The unwanted suffix is:\n" + actual.Substring(commonLength) };
-        }
+            if (actual == null)
+            {
+                return new CompareResult { ErrorMessage = "actual was null, but was expecting:\n" + expected };
+            }
 
-        if (expected.Length != commonLength)
-        {
-            return new CompareResult { ErrorMessage = "expected is longer. The missing suffix is:\n" + expected.Substring(commonLength) };
-        }
+            int commonLength = Min(actual.Length, expected.Length);
 
-        return new CompareResult { Equal = true };
-    }
+            for (int currentIndex = 0; currentIndex < commonLength; ++currentIndex)
+            {
+                char expectedChar = expected[currentIndex];
+                char actualChar = actual[currentIndex];
 
-    internal static CompareResult Compare(string expected, string actual, bool runSmartXmlComparerOnFailure = true)
-    {
-        // for CORECLR we get different xml hence we have updated code for smartyXMLcomparison
+                if (expectedChar != actualChar)
+                {
+                    int from = Max(currentIndex - 10, 0);
+                    int errPosition = currentIndex - from;
+                    int to = Min(currentIndex + 20, commonLength);
+                    string message = string.Format("strings differ at index {0}\n{3}\u2193\n[expected]:{1}\n[actual  ]:{2}\n{3}\u2191\n[Expected (with length={4})]:\n{5}\n[Actual (with length={6})]:\n{7}",
+                        currentIndex,
+                        expected.Substring(from, to - from),
+                        actual.Substring(from, to - from),
+                        new string(' ', errPosition + " expected :".Length),
+                        expected.Length,
+                        expected,
+                        actual.Length,
+                        actual);
+                    return new CompareResult { ErrorMessage = message };
+                }
+            }
 
-        CompareResult stringcompare = CompareString(expected, actual);
+            if (actual.Length != commonLength)
+            {
+                return new CompareResult { ErrorMessage = "actual is longer. The unwanted suffix is:\n" + actual.Substring(commonLength) };
+            }
 
-        if (runSmartXmlComparerOnFailure == true)
+            if (expected.Length != commonLength)
+            {
+                return new CompareResult { ErrorMessage = "expected is longer. The missing suffix is:\n" + expected.Substring(commonLength) };
+            }
+
+            return new CompareResult { Equal = true };
+        }
+
+        internal static CompareResult Compare(string expected, string actual, bool runSmartXmlComparerOnFailure = true)
         {
-            if ((stringcompare.Equal != true) && (!string.IsNullOrEmpty(stringcompare.ErrorMessage)))
+            // for CORECLR we get different xml hence we have updated code for smartyXMLcomparison
+
+            CompareResult stringcompare = CompareString(expected, actual);
+
+            if (runSmartXmlComparerOnFailure == true)
             {
-                Debug.WriteLine("Basic baseline XML comparison failed with the error : {0}\n. Running the smart XML comparer", stringcompare.ErrorMessage);
-                if (!SmartXmlCompare(expected, actual))
-                {
-                    return new CompareResult { ErrorMessage = "XML comparison is also failing" };
-                }
-                else
+                if ((stringcompare.Equal != true) && (!string.IsNullOrEmpty(stringcompare.ErrorMessage)))
                 {
-                    return new CompareResult { Equal = true };
+                    Debug.WriteLine("Basic baseline XML comparison failed with the error : {0}\n. Running the smart XML comparer", stringcompare.ErrorMessage);
+                    if (!SmartXmlCompare(expected, actual))
+                    {
+                        return new CompareResult { ErrorMessage = "XML comparison is also failing" };
+                    }
+                    else
+                    {
+                        return new CompareResult { Equal = true };
+                    }
                 }
             }
+            return stringcompare;
         }
-        return stringcompare;
-    }
-
-    public static bool SmartXmlCompare(string expected, string actual)
-    {
-        XElement deskXElem = XElement.Parse(expected);
-        XElement coreCLRXElem = XElement.Parse(actual);
 
-        s_prefixToNamespaceDesk.Clear();
-        s_prefixToNamespaceCoreCLR.Clear();
+        public static bool SmartXmlCompare(string expected, string actual)
+        {
+            XElement deskXElem = XElement.Parse(expected);
+            XElement coreCLRXElem = XElement.Parse(actual);
 
-        return CompareXElements(deskXElem, coreCLRXElem);
-    }
+            s_prefixToNamespaceDesk.Clear();
+            s_prefixToNamespaceCoreCLR.Clear();
 
-    private static bool CompareXElements(XElement baselineXElement, XElement actualXElement)
-    {
-        // Check whether the XName is the same, this can be done by comparing the two XNames.
+            return CompareXElements(deskXElem, coreCLRXElem);
+        }
 
-        if (!baselineXElement.Name.Equals(actualXElement.Name))
+        private static bool CompareXElements(XElement baselineXElement, XElement actualXElement)
         {
-            // Two nodes could be same even if their localName is not the same.
-            // For example-
-
-            // Desktop
-            //<GenericBase2OfSimpleBaseDerivedSimpleBaseDerived2zbP0weY4 xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" xmlns="http://schemas.datacontract.org/2004/07/SerializationTypes">
-            //  <genericData1 z:Id="i2">
-            //    <BaseData></BaseData>
-            //    <DerivedData></DerivedData>
-            //  </genericData1>
-            //  <genericData2 z:Id="i3">
-            //    <BaseData></BaseData>
-            //    <DerivedData></DerivedData>
-            //  </genericData2>
-            //</GenericBase2OfSimpleBaseDerivedSimpleBaseDerived2zbP0weY4>
-
-            // vs CoreCLR.
-            //<GenericBase2OfSimpleBaseDerivedSimpleBaseDerived2RkuXKXCQ z:Id="i1" xmlns="http://schemas.datacontract.org/2004/07/SerializationTypes" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
-            //  <genericData1 z:Id="i2">
-            //    <BaseData />
-            //    <DerivedData />
-            //  </genericData1>
-            //  <genericData2 z:Id="i3">
-            //    <BaseData />
-            //    <DerivedData />
-            //  </genericData2>
-            //</GenericBase2OfSimpleBaseDerivedSimpleBaseDerived2RkuXKXCQ>
-
-            // Note the incorrect padding in the end of GenericBase2OfSimpleBaseDerivedSimpleBaseDerived2RkuXKXCQ
-            // The difference is MD5 hashcode applied to the Type.FullName and is because full typeName in .NET Framework and CoreCLR returns different value.
-
-            // Hack for the above reason.
-            int deskIdx, coreCLRIdx;
-            if (-1 != (deskIdx = baselineXElement.Name.LocalName.IndexOf("zbP0weY4")))
+            // Check whether the XName is the same, this can be done by comparing the two XNames.
+
+            if (!baselineXElement.Name.Equals(actualXElement.Name))
             {
-                // Check if the CoreCLR string contains the other.
-                if (-1 != (coreCLRIdx = actualXElement.Name.LocalName.IndexOf("RkuXKXCQ")))
+                // Two nodes could be same even if their localName is not the same.
+                // For example-
+
+                // Desktop
+                //<GenericBase2OfSimpleBaseDerivedSimpleBaseDerived2zbP0weY4 xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" xmlns="http://schemas.datacontract.org/2004/07/SerializationTypes">
+                //  <genericData1 z:Id="i2">
+                //    <BaseData></BaseData>
+                //    <DerivedData></DerivedData>
+                //  </genericData1>
+                //  <genericData2 z:Id="i3">
+                //    <BaseData></BaseData>
+                //    <DerivedData></DerivedData>
+                //  </genericData2>
+                //</GenericBase2OfSimpleBaseDerivedSimpleBaseDerived2zbP0weY4>
+
+                // vs CoreCLR.
+                //<GenericBase2OfSimpleBaseDerivedSimpleBaseDerived2RkuXKXCQ z:Id="i1" xmlns="http://schemas.datacontract.org/2004/07/SerializationTypes" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
+                //  <genericData1 z:Id="i2">
+                //    <BaseData />
+                //    <DerivedData />
+                //  </genericData1>
+                //  <genericData2 z:Id="i3">
+                //    <BaseData />
+                //    <DerivedData />
+                //  </genericData2>
+                //</GenericBase2OfSimpleBaseDerivedSimpleBaseDerived2RkuXKXCQ>
+
+                // Note the incorrect padding in the end of GenericBase2OfSimpleBaseDerivedSimpleBaseDerived2RkuXKXCQ
+                // The difference is MD5 hashcode applied to the Type.FullName and is because full typeName in .NET Framework and CoreCLR returns different value.
+
+                // Hack for the above reason.
+                int deskIdx, coreCLRIdx;
+                if (-1 != (deskIdx = baselineXElement.Name.LocalName.IndexOf("zbP0weY4")))
                 {
-                    // Check whether the substring before this matches
-                    if (0 == string.Compare(baselineXElement.Name.LocalName.Substring(0, deskIdx), actualXElement.Name.LocalName.Substring(0, coreCLRIdx)))
+                    // Check if the CoreCLR string contains the other.
+                    if (-1 != (coreCLRIdx = actualXElement.Name.LocalName.IndexOf("RkuXKXCQ")))
                     {
-                        // Check if the namespace matched.
-                        if (baselineXElement.Name.Namespace.Equals(actualXElement.Name.Namespace)) return true;
+                        // Check whether the substring before this matches
+                        if (0 == string.Compare(baselineXElement.Name.LocalName.Substring(0, deskIdx), actualXElement.Name.LocalName.Substring(0, coreCLRIdx)))
+                        {
+                            // Check if the namespace matched.
+                            if (baselineXElement.Name.Namespace.Equals(actualXElement.Name.Namespace)) return true;
+                        }
                     }
                 }
-            }
-            string message = string.Format("Namespace difference \n[expected]:{0}\n[actual  ]:{1}\n Padding expected elements is {2}",
-                    baselineXElement.Name.Namespace,
-                    actualXElement.Name.Namespace,
-                    actualXElement.Name.LocalName
-                    );
-            Debug.WriteLine("Either padding is different or namespace is not matching.\n" + message);
-
-            return false;
-        }
+                string message = string.Format("Namespace difference \n[expected]:{0}\n[actual  ]:{1}\n Padding expected elements is {2}",
+                        baselineXElement.Name.Namespace,
+                        actualXElement.Name.Namespace,
+                        actualXElement.Name.LocalName
+                        );
+                Debug.WriteLine("Either padding is different or namespace is not matching.\n" + message);
 
-        // Comparing attributes
-        XAttribute[] deskAtrs = baselineXElement.Attributes().OrderBy(m => m.Value).ToArray();
-        XAttribute[] coreCLRAtrs = actualXElement.Attributes().OrderBy(m => m.Value).ToArray();
+                return false;
+            }
 
-        if (deskAtrs.Length != coreCLRAtrs.Length)
-        {
-            Debug.WriteLine("Number of attributes differ.Expected number of attributes are " + deskAtrs.Length.ToString() + " Actual number of attributes are " + coreCLRAtrs.Length.ToString());
-            return false;
-        }
+            // Comparing attributes
+            XAttribute[] deskAtrs = baselineXElement.Attributes().OrderBy(m => m.Value).ToArray();
+            XAttribute[] coreCLRAtrs = actualXElement.Attributes().OrderBy(m => m.Value).ToArray();
 
-        // At this point the attributes should be all in the same order.
-        for (int i = 0; i < deskAtrs.Length; i++)
-        {
-            if (deskAtrs[i].IsNamespaceDeclaration != coreCLRAtrs[i].IsNamespaceDeclaration)
+            if (deskAtrs.Length != coreCLRAtrs.Length)
             {
-                Debug.WriteLine("Either expected attribute {0} is not namespace declaration or actual attribute {1}", deskAtrs[i].ToString(), coreCLRAtrs[i].ToString());
+                Debug.WriteLine("Number of attributes differ.Expected number of attributes are " + deskAtrs.Length.ToString() + " Actual number of attributes are " + coreCLRAtrs.Length.ToString());
                 return false;
             }
-            if (deskAtrs[i].IsNamespaceDeclaration)
+
+            // At this point the attributes should be all in the same order.
+            for (int i = 0; i < deskAtrs.Length; i++)
             {
-                if (0 != string.Compare(deskAtrs[i].Name.NamespaceName, coreCLRAtrs[i].Name.NamespaceName))
+                if (deskAtrs[i].IsNamespaceDeclaration != coreCLRAtrs[i].IsNamespaceDeclaration)
                 {
-                    Debug.WriteLine("Namespaces are different.Expected {0} namespace doesn't match with actual {1} namespace ", deskAtrs[i].Name.NamespaceName, coreCLRAtrs[i].Name.NamespaceName);
+                    Debug.WriteLine("Either expected attribute {0} is not namespace declaration or actual attribute {1}", deskAtrs[i].ToString(), coreCLRAtrs[i].ToString());
                     return false;
                 }
-                if (0 != string.Compare(deskAtrs[i].Value, coreCLRAtrs[i].Value))
+                if (deskAtrs[i].IsNamespaceDeclaration)
                 {
-                    Debug.WriteLine("Attribute values are different. Expected {0} attribute values doesn't match with actual {1} attribute value.", deskAtrs[i].Value, coreCLRAtrs[i].Value);
-                    return false;
-                }
+                    if (0 != string.Compare(deskAtrs[i].Name.NamespaceName, coreCLRAtrs[i].Name.NamespaceName))
+                    {
+                        Debug.WriteLine("Namespaces are different.Expected {0} namespace doesn't match with actual {1} namespace ", deskAtrs[i].Name.NamespaceName, coreCLRAtrs[i].Name.NamespaceName);
+                        return false;
+                    }
+                    if (0 != string.Compare(deskAtrs[i].Value, coreCLRAtrs[i].Value))
+                    {
+                        Debug.WriteLine("Attribute values are different. Expected {0} attribute values doesn't match with actual {1} attribute value.", deskAtrs[i].Value, coreCLRAtrs[i].Value);
+                        return false;
+                    }
 
-                // Update the dictionaries
-                s_prefixToNamespaceDesk[deskAtrs[i].Name.LocalName] = deskAtrs[i].Value;
-                s_prefixToNamespaceCoreCLR[coreCLRAtrs[i].Name.LocalName] = coreCLRAtrs[i].Value;
-            }
-            else
-            {
-                if (!deskAtrs[i].Name.Equals(coreCLRAtrs[i].Name))
-                {
-                    Debug.WriteLine("Attribute names are different. Expected name is {0} but actual name is {1}", deskAtrs[i].Name, coreCLRAtrs[i].Name);
-                    return false;
+                    // Update the dictionaries
+                    s_prefixToNamespaceDesk[deskAtrs[i].Name.LocalName] = deskAtrs[i].Value;
+                    s_prefixToNamespaceCoreCLR[coreCLRAtrs[i].Name.LocalName] = coreCLRAtrs[i].Value;
                 }
-
-                string deskPrefix, coreCLRPrefix;
-                if (IsPrefixedAttributeValue(deskAtrs[i].Value, out deskPrefix))
+                else
                 {
-                    if (IsPrefixedAttributeValue(coreCLRAtrs[i].Value, out coreCLRPrefix))
+                    if (!deskAtrs[i].Name.Equals(coreCLRAtrs[i].Name))
                     {
-                        // Check if they both have the same namespace.
-                        XNamespace deskns = baselineXElement.GetNamespaceOfPrefix(deskPrefix);
-                        XNamespace coreclrns = actualXElement.GetNamespaceOfPrefix(coreCLRPrefix);
-                        if (!deskns.Equals(coreclrns))
+                        Debug.WriteLine("Attribute names are different. Expected name is {0} but actual name is {1}", deskAtrs[i].Name, coreCLRAtrs[i].Name);
+                        return false;
+                    }
+
+                    string deskPrefix, coreCLRPrefix;
+                    if (IsPrefixedAttributeValue(deskAtrs[i].Value, out deskPrefix))
+                    {
+                        if (IsPrefixedAttributeValue(coreCLRAtrs[i].Value, out coreCLRPrefix))
+                        {
+                            // Check if they both have the same namespace.
+                            XNamespace deskns = baselineXElement.GetNamespaceOfPrefix(deskPrefix);
+                            XNamespace coreclrns = actualXElement.GetNamespaceOfPrefix(coreCLRPrefix);
+                            if (!deskns.Equals(coreclrns))
+                            {
+                                Debug.WriteLine("XML namespace of attribute is different. Expected is {0} but actual is {1}", deskns.NamespaceName, coreclrns.NamespaceName);
+                                return false;
+                            }
+                            // Update the dictionaries
+                            s_prefixToNamespaceDesk[deskPrefix] = deskns.NamespaceName;
+                            s_prefixToNamespaceCoreCLR[coreCLRPrefix] = coreclrns.NamespaceName;
+                        }
+                        else
                         {
-                            Debug.WriteLine("XML namespace of attribute is different. Expected is {0} but actual is {1}", deskns.NamespaceName, coreclrns.NamespaceName);
+                            Debug.WriteLine("Either expected {0} or actual {1} attribute value doesn't have prefix :", deskAtrs[i].Value, coreCLRAtrs[i].Value);
                             return false;
                         }
-                        // Update the dictionaries
-                        s_prefixToNamespaceDesk[deskPrefix] = deskns.NamespaceName;
-                        s_prefixToNamespaceCoreCLR[coreCLRPrefix] = coreclrns.NamespaceName;
-                    }
-                    else
-                    {
-                        Debug.WriteLine("Either expected {0} or actual {1} attribute value doesn't have prefix :", deskAtrs[i].Value, coreCLRAtrs[i].Value);
-                        return false;
                     }
                 }
             }
-        }
 
-        if (!CompareValue(baselineXElement.Value, actualXElement.Value)) return false;
+            if (!CompareValue(baselineXElement.Value, actualXElement.Value)) return false;
 
 
-        // Serialized values can only have XElement and XText and hence we do not traverse the complete node structures and only the descendants.
-        XElement[] deskChildElems = baselineXElement.Descendants().OrderBy(m => m.Name.NamespaceName).ToArray();
-        XElement[] coreCLRChildElems = actualXElement.Descendants().OrderBy(m => m.Name.NamespaceName).ToArray();
+            // Serialized values can only have XElement and XText and hence we do not traverse the complete node structures and only the descendants.
+            XElement[] deskChildElems = baselineXElement.Descendants().OrderBy(m => m.Name.NamespaceName).ToArray();
+            XElement[] coreCLRChildElems = actualXElement.Descendants().OrderBy(m => m.Name.NamespaceName).ToArray();
 
-        if (deskChildElems.Length != coreCLRChildElems.Length)
-        {
-            return false;
-        }
+            if (deskChildElems.Length != coreCLRChildElems.Length)
+            {
+                return false;
+            }
 
-        for (int i = 0; i < deskChildElems.Length; i++)
-        {
-            if (!CompareXElements(deskChildElems[i], coreCLRChildElems[i])) return false;
-        }
+            for (int i = 0; i < deskChildElems.Length; i++)
+            {
+                if (!CompareXElements(deskChildElems[i], coreCLRChildElems[i])) return false;
+            }
 
-        // If we have reached here, XML is same.
-        return true;
-    }
+            // If we have reached here, XML is same.
+            return true;
+        }
 
 
-    private static bool CompareValue(string deskElemValue, string coreCLRElemValue)
-    {
-        if (deskElemValue.Equals(coreCLRElemValue)) return true;
+        private static bool CompareValue(string deskElemValue, string coreCLRElemValue)
+        {
+            if (deskElemValue.Equals(coreCLRElemValue)) return true;
 
-        // For text of the form
-        // <z:QName xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:a="def">a:abc</z:QName>
+            // For text of the form
+            // <z:QName xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:a="def">a:abc</z:QName>
 
-        // In the above XML text the XElement.Value is a:abc which in CoreCLR could be something like d1p1:abc
-        // and hence we value check will fail.
-        // To mitigate this we store the namespaces from the parent XElement and use it to check the actual value.
-        string deskPrefix, coreCLRPrefix;
+            // In the above XML text the XElement.Value is a:abc which in CoreCLR could be something like d1p1:abc
+            // and hence we value check will fail.
+            // To mitigate this we store the namespaces from the parent XElement and use it to check the actual value.
+            string deskPrefix, coreCLRPrefix;
 
-        if (IsPrefixedAttributeValue(deskElemValue, out deskPrefix))
-        {
-            if (IsPrefixedAttributeValue(coreCLRElemValue, out coreCLRPrefix))
+            if (IsPrefixedAttributeValue(deskElemValue, out deskPrefix))
             {
-                // Check whether the prefixes have the right namespaces attached.
-                string deskNs, coreCLRNs;
-                if (s_prefixToNamespaceDesk.TryGetValue(deskPrefix, out deskNs))
+                if (IsPrefixedAttributeValue(coreCLRElemValue, out coreCLRPrefix))
                 {
-                    if (s_prefixToNamespaceCoreCLR.TryGetValue(coreCLRPrefix, out coreCLRNs))
+                    // Check whether the prefixes have the right namespaces attached.
+                    string deskNs, coreCLRNs;
+                    if (s_prefixToNamespaceDesk.TryGetValue(deskPrefix, out deskNs))
                     {
-                        if (deskNs.Equals(coreCLRNs))
+                        if (s_prefixToNamespaceCoreCLR.TryGetValue(coreCLRPrefix, out coreCLRNs))
                         {
-                            // Also we check that the rest of the strings match.
-                            if (0 == string.Compare(deskElemValue.Substring(deskPrefix.Length), coreCLRElemValue.Substring(coreCLRPrefix.Length)))
-                                return true;
+                            if (deskNs.Equals(coreCLRNs))
+                            {
+                                // Also we check that the rest of the strings match.
+                                if (0 == string.Compare(deskElemValue.Substring(deskPrefix.Length), coreCLRElemValue.Substring(coreCLRPrefix.Length)))
+                                    return true;
+                            }
                         }
                     }
                 }
+                Debug.WriteLine("Attribute value {0} has empty prefix value before :", coreCLRElemValue);
+                return false;
             }
-            Debug.WriteLine("Attribute value {0} has empty prefix value before :", coreCLRElemValue);
+            Debug.WriteLine("Attribute value {0} has empty prefix value before :", deskElemValue);
             return false;
         }
-        Debug.WriteLine("Attribute value {0} has empty prefix value before :", deskElemValue);
-        return false;
-    }
 
-    private static bool IsPrefixedAttributeValue(string atrValue, out string localPrefix)
-    {
-        int prefixIndex = atrValue.IndexOf(":");
-        if (prefixIndex != -1)
-        {
-            localPrefix = atrValue.Substring(0, prefixIndex);
-            return true;
-        }
-        else
+        private static bool IsPrefixedAttributeValue(string atrValue, out string localPrefix)
         {
-            localPrefix = string.Empty;
+            int prefixIndex = atrValue.IndexOf(":");
+            if (prefixIndex != -1)
+            {
+                localPrefix = atrValue.Substring(0, prefixIndex);
+                return true;
+            }
+            else
+            {
+                localPrefix = string.Empty;
+            }
+            Debug.WriteLine("Given attribute value {0} does not have any prefix value before :", atrValue);
+            return false;
         }
-        Debug.WriteLine("Given attribute value {0} does not have any prefix value before :", atrValue);
-        return false;
     }
-}
-
-internal class TestAssemblyLoadContext : AssemblyLoadContext
-{
-    private AssemblyDependencyResolver _resolver;
 
-    public TestAssemblyLoadContext(string name, bool isCollectible, string mainAssemblyToLoadPath = null) : base(name, isCollectible)
+    internal class TestAssemblyLoadContext : AssemblyLoadContext
     {
-        if (!PlatformDetection.IsBrowser)
-            _resolver = new AssemblyDependencyResolver(mainAssemblyToLoadPath ?? Assembly.GetExecutingAssembly().Location);
-    }
+        private AssemblyDependencyResolver _resolver;
 
-    protected override Assembly Load(AssemblyName name)
-    {
-        if (PlatformDetection.IsBrowser)
+        public TestAssemblyLoadContext(string name, bool isCollectible, string mainAssemblyToLoadPath = null) : base(name, isCollectible)
         {
-            return base.Load(name);
+            if (!PlatformDetection.IsBrowser)
+                _resolver = new AssemblyDependencyResolver(mainAssemblyToLoadPath ?? Assembly.GetExecutingAssembly().Location);
         }
 
-        string assemblyPath = _resolver.ResolveAssemblyToPath(name);
-        if (assemblyPath != null)
+        protected override Assembly Load(AssemblyName name)
         {
-            return LoadFromAssemblyPath(assemblyPath);
-        }
+            if (PlatformDetection.IsBrowser)
+            {
+                return base.Load(name);
+            }
 
-        return null;
+            string assemblyPath = _resolver.ResolveAssemblyToPath(name);
+            if (assemblyPath != null)
+            {
+                return LoadFromAssemblyPath(assemblyPath);
+            }
+
+            return null;
+        }
     }
 }
index 7c1b83f..62f2f81 100644 (file)
@@ -1,9 +1,7 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System.Diagnostics;
 using System.Collections.Generic;
-using Xunit;
 
 namespace System.Threading.Tests
 {
index 6f431d8..5adc623 100644 (file)
@@ -2,9 +2,9 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using System;
+using System.Diagnostics;
 using System.IO;
 using System.Text;
-using System.Diagnostics;
 
 namespace OLEDB.Test.ModuleCore
 {
index 6b84064..318a3be 100644 (file)
@@ -2,8 +2,8 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using System;
-using System.Text;
 using System.Collections.Generic;
+using System.Text;
 
 namespace OLEDB.Test.ModuleCore
 {
index 091c9c3..f903d2f 100644 (file)
@@ -2,8 +2,8 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using System;
-using System.Text;
 using System.Collections.Generic;
+using System.Text;
 
 namespace OLEDB.Test.ModuleCore
 {
index 4b7a4ef..cadc1f7 100644 (file)
@@ -2,9 +2,9 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using System;
+using System.Collections.Generic;
 using System.Diagnostics;
 using System.IO;
-using System.Collections.Generic;
 
 namespace OLEDB.Test.ModuleCore
 {
index 219a796..c43fa70 100644 (file)
@@ -3,9 +3,6 @@
 
 using System;
 using System.IO;
-using System.Reflection;
-using System.Threading.Tasks;
-using Xunit;
 
 namespace XPathTests.Common
 {
@@ -17,7 +14,7 @@ namespace XPathTests.Common
             Stream s = typeof(FileHelper).Assembly.GetManifestResourceStream(xmlPath);
             if (s == null)
             {
-                throw new Exception("Couldn't find resource.");
+                throw new Exception($"Couldn't find resource: {xmlPath}. Available: {string.Join(Environment.NewLine, typeof(FileHelper).Assembly.GetManifestResourceNames())}");
             }
             return s;
         }
index c350673..ea7e406 100644 (file)
@@ -1,32 +1,54 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
 using System;
 using System.Globalization;
 using System.Xml;
 using System.Xml.XPath;
+using Xunit;
 
 namespace XPathTests.Common
 {
     public static partial class Utils
     {
-        public static XPathNavigator CreateNavigatorFromFile(string fileName)
+        private static readonly ICreateNavigator s_xmlDocumentNavigatorCreator = new CreateNavigatorFromXmlDocument();
+        private static readonly ICreateNavigator s_xmlReaderNavigatorCreator = new CreateNavigatorFromXmlReader();
+        private static readonly ICreateNavigator s_xdocumentNavigatorCreator = new CreateNavigatorComparer();
+
+        public static readonly string ResourceFilesPath = "System.Xml.Tests.TestData.";
+
+        public enum NavigatorKind
+        {
+            XmlDocument,
+            XPathDocument,
+            XDocument,
+        }
+
+        private static ICreateNavigator NavigatorFromKind(NavigatorKind kind) =>
+            kind switch
+            {
+                NavigatorKind.XmlDocument => s_xmlDocumentNavigatorCreator,
+                NavigatorKind.XPathDocument => s_xmlReaderNavigatorCreator,
+                NavigatorKind.XDocument => s_xdocumentNavigatorCreator,
+                _ => throw new Exception($"Unknown kind: {kind}"),
+            };
+
+        public static XPathNavigator CreateNavigatorFromFile(NavigatorKind kind, string fileName)
         {
-            var navigator = _navigatorCreator.CreateNavigatorFromFile(fileName);
+            var navigator = NavigatorFromKind(kind).CreateNavigatorFromFile(fileName);
             // Will fail if file not found
             Assert.NotNull(navigator);
             return navigator;
         }
 
-        public static XPathNavigator CreateNavigator(string xml)
+        public static XPathNavigator CreateNavigator(NavigatorKind kind, string xml)
         {
-            return _navigatorCreator.CreateNavigator(xml);
+            return NavigatorFromKind(kind).CreateNavigator(xml);
         }
 
-        private static XPathNavigator CreateNavigator(string xml, string startingNodePath, XmlNamespaceManager namespaceManager)
+        private static XPathNavigator CreateNavigator(NavigatorKind kind, string xml, string startingNodePath, XmlNamespaceManager namespaceManager)
         {
-            var xPathNavigator = CreateNavigatorFromFile(xml);
+            var xPathNavigator = CreateNavigatorFromFile(kind, xml);
 
             if (string.IsNullOrWhiteSpace(startingNodePath))
                 return xPathNavigator;
@@ -43,15 +65,15 @@ namespace XPathTests.Common
             return xPathNodeIterator.Current;
         }
 
-        public static void XPathMatchTest(string xml, string testExpression, bool expected, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
+        public static void XPathMatchTest(NavigatorKind kind, string xml, string testExpression, bool expected, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
         {
-            var result = XPathMatch(xml, testExpression, namespaceManager, startingNodePath);
+            var result = XPathMatch(kind, xml, testExpression, namespaceManager, startingNodePath);
             Assert.Equal(expected, result);
         }
 
-        private static bool XPathMatch(string xml, string testExpression, XmlNamespaceManager namespaceManager, string startingNodePath)
+        private static bool XPathMatch(NavigatorKind kind, string xml, string testExpression, XmlNamespaceManager namespaceManager, string startingNodePath)
         {
-            var xPathNavigator = CreateNavigator(xml, startingNodePath, namespaceManager);
+            var xPathNavigator = CreateNavigator(kind, xml, startingNodePath, namespaceManager);
 
             var xPathExpression = xPathNavigator.Compile(testExpression);
 
@@ -66,15 +88,15 @@ namespace XPathTests.Common
             return namespaceManager == null ? current.Matches(testExpression) : current.Matches(XPathExpression.Compile(testExpression, namespaceManager));
         }
 
-        public static void XPathMatchTestThrows<T>(string xml, string testExpression, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
+        public static void XPathMatchTestThrows<T>(NavigatorKind kind, string xml, string testExpression, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
             where T : Exception
         {
-            Assert.Throws<T>(() => XPathMatch(xml, testExpression, namespaceManager, startingNodePath));
+            Assert.Throws<T>(() => XPathMatch(kind, xml, testExpression, namespaceManager, startingNodePath));
         }
 
-        private static T XPathObject<T>(string xml, string testExpression, XmlNamespaceManager namespaceManager, string startingNodePath)
+        private static T XPathObject<T>(NavigatorKind kind, string xml, string testExpression, XmlNamespaceManager namespaceManager, string startingNodePath)
         {
-            var xPathNavigator = CreateNavigator(xml, startingNodePath, namespaceManager);
+            var xPathNavigator = CreateNavigator(kind, xml, startingNodePath, namespaceManager);
 
             var xPathExpression = xPathNavigator.Compile(testExpression);
 
@@ -86,40 +108,40 @@ namespace XPathTests.Common
             return (T)Convert.ChangeType(evaluated, typeof(T), CultureInfo.InvariantCulture);
         }
 
-        internal static void XPathStringTest(string xml, string testExpression, object expected, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
+        internal static void XPathStringTest(NavigatorKind kind, string xml, string testExpression, object expected, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
         {
-            var result = XPathObject<string>(xml, testExpression, namespaceManager, startingNodePath);
+            var result = XPathObject<string>(kind, xml, testExpression, namespaceManager, startingNodePath);
 
             Assert.Equal(expected, result);
         }
 
-        internal static void XPathStringTestThrows<T>(string xml, string testExpression, string startingNodePath = null)
+        internal static void XPathStringTestThrows<T>(NavigatorKind kind, string xml, string testExpression, string startingNodePath = null)
             where T : Exception
         {
-            Assert.Throws<T>(() => XPathObject<string>(xml, testExpression, null, startingNodePath));
+            Assert.Throws<T>(() => XPathObject<string>(kind, xml, testExpression, null, startingNodePath));
         }
 
-        internal static void XPathNumberTest(string xml, string testExpression, double expected, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
+        internal static void XPathNumberTest(NavigatorKind kind, string xml, string testExpression, double expected, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
         {
-            var result = XPathObject<double>(xml, testExpression, namespaceManager, startingNodePath);
+            var result = XPathObject<double>(kind, xml, testExpression, namespaceManager, startingNodePath);
             Assert.Equal(expected, (double)result);
         }
 
-        internal static void XPathBooleanTest(string xml, string testExpression, bool expected, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
+        internal static void XPathBooleanTest(NavigatorKind kind, string xml, string testExpression, bool expected, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
         {
-            var result = XPathObject<bool>(xml, testExpression, namespaceManager, startingNodePath);
+            var result = XPathObject<bool>(kind, xml, testExpression, namespaceManager, startingNodePath);
             Assert.Equal(expected, result);
         }
 
-        internal static void XPathNumberTestThrows<T>(string xml, string testExpression, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
+        internal static void XPathNumberTestThrows<T>(NavigatorKind kind, string xml, string testExpression, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
             where T : Exception
         {
-            Assert.Throws<T>(() => XPathObject<double>(xml, testExpression, namespaceManager, startingNodePath));
+            Assert.Throws<T>(() => XPathObject<double>(kind, xml, testExpression, namespaceManager, startingNodePath));
         }
 
-        internal static void XPathNodesetTest(string xml, string testExpression, XPathResult expected, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
+        internal static void XPathNodesetTest(NavigatorKind kind, string xml, string testExpression, XPathResult expected, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
         {
-            var xPathNavigator = CreateNavigator(xml, startingNodePath, namespaceManager);
+            var xPathNavigator = CreateNavigator(kind, xml, startingNodePath, namespaceManager);
             var xExpression = xPathNavigator.Compile(testExpression);
 
             if (namespaceManager != null)
@@ -153,10 +175,10 @@ namespace XPathTests.Common
             }
         }
 
-        internal static void XPathNodesetTestThrows<T>(string xml, string testExpression, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
+        internal static void XPathNodesetTestThrows<T>(NavigatorKind kind, string xml, string testExpression, XmlNamespaceManager namespaceManager = null, string startingNodePath = null)
             where T : Exception
         {
-            var xPathNavigator = CreateNavigator(xml, startingNodePath, namespaceManager);
+            var xPathNavigator = CreateNavigator(kind, xml, startingNodePath, namespaceManager);
 
             Assert.Throws<T>(() => xPathNavigator.Select(testExpression));
         }
index 707c1fc..17738c7 100644 (file)
@@ -1,7 +1,6 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System;
 using System.Xml.XPath;
 
 namespace XPathTests.Common
index 1796cc8..7fb6127 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.CoreFunctionLibrary
 {
@@ -18,296 +16,359 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Verify result.
         /// boolean(1) = true
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest251()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest251(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"boolean(1)";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// boolean(0) = false
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest252()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest252(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"boolean(0)";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// boolean(infinity) = true
         /// boolean(1 div 0) = true
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest253()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest253(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"boolean(1 div 0)";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// boolean(NaN) = false
         /// boolean(0 div 0) = false
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest254()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest254(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"boolean(0 div 0)";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// boolean(-0) = false
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest255()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest255(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"boolean(-0)";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// boolean(2.5) = true
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest256()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest256(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"boolean(2.5)";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// boolean("test") = true
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest257()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest257(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"boolean(""Test"")";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// boolean("") = false
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest258()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest258(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"boolean("""")";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// boolean(child::*) = true
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest259()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest259(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"boolean(child::*)";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// boolean(child::DoesNotExist) = false
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest2510()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest2510(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"boolean(child::DoesNotExist)";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// not(false()) = true
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest2511()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest2511(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"not(false())";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// not(true()) = false
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest2512()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest2512(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"not(true())";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// not(boolean(child::*)) = false
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest2513()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest2513(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"not(boolean(child::*))";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// true() = true
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest2514()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest2514(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// false() = false
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest2515()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest2515(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"false()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// expected true
         /// lang("en") context node has xml:lang="en"
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest2516()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest2516(Utils.NavigatorKind kind)
         {
             var xml = "lang.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"lang(""en"")";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// expected true
         /// lang("en") ancestor has xml:lang = "en"
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest2517()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest2517(Utils.NavigatorKind kind)
         {
             var xml = "lang.xml";
             var startingNodePath = "/bookstore/book[2]";
             var testExpression = @"lang(""en"")";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// expected false
         /// lang("en-us")  is a sub-category of xml-lang="en"
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest2518()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest2518(Utils.NavigatorKind kind)
         {
             var xml = "lang.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"lang(""en-us"")";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// expected true
         /// lang("en") xml:lang = "en-us" is a sub category
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest2519()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest2519(Utils.NavigatorKind kind)
         {
             var xml = "lang.xml";
             var startingNodePath = "/bookstore/book[3]";
             var testExpression = @"lang(""en"")";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// lang() should match ignoring case, expected : true
         /// lang("EN") context node has xml:lang = "en"
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest2520()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest2520(Utils.NavigatorKind kind)
         {
             var xml = "lang.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"lang(""EN"")";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Code Coverage: Covers the case where lang() is used in an expression
         /// child::*[lang("en")]
         /// </summary>
-        [Fact]
-        public static void BooleanFunctionsTest2521()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleanFunctionsTest2521(Utils.NavigatorKind kind)
         {
             var xml = "lang.xml";
             var testExpression = @"child::*[lang(""en"")]";
@@ -325,7 +386,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
                     XmlLang = "en"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
     }
 }
index eb808a8..3903658 100644 (file)
@@ -1,11 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.CoreFunctionLibrary
 {
@@ -15,160 +12,193 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
     public static partial class ComplexExpressionsTests
     {
         /// <summary>
-        /// Complex expression for count()
+        /// Complex expression for count(Utils.NavigatorKind kind)
         /// count(/bookstore/*[count(ancestor::*) = 1])
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest272()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest272(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"count(/bookstore/*[count(ancestor::*) = 1])";
             var expected = 17d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// Complex expression for local-name()
+        /// Complex expression for local-name(Utils.NavigatorKind kind)
         /// local-name(/bookstore/magazine[3]/articles/story1/text()/following::*)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest273()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest273(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"local-name(/bookstore/magazine[3]/articles/story1/text()/following::*)";
             var expected = @"details";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// Complex expression for local-name()
+        /// Complex expression for local-name(Utils.NavigatorKind kind)
         /// local-name(child::*/following::*[last()])
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest274()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest274(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"local-name(child::*/following::*[last()])";
             var expected = @"title";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// Complex expression for name()
+        /// Complex expression for name(Utils.NavigatorKind kind)
         /// name(/bookstore/magazine[3]/articles/story1/text()/following::*)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest275()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest275(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"name(/bookstore/magazine[3]/articles/story1/text()/following::*)";
             var expected = @"details";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// Complex expression for name()
+        /// Complex expression for name(Utils.NavigatorKind kind)
         /// name(child::*/following::*[last()])
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest276()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest276(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"name(child::*/following::*[last()])";
             var expected = @"my:title";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// Complex expression for namespace-uri()
+        /// Complex expression for namespace-uri(Utils.NavigatorKind kind)
         /// namespace-uri(/bookstore/magazine[3]/articles/story1/text()/following::*)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest277()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest277(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"namespace-uri(/bookstore/magazine[3]/articles/story1/text()/following::*)";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// Complex expression for namespace-uri()
+        /// Complex expression for namespace-uri(Utils.NavigatorKind kind)
         /// namespace-uri(child::*/following::*[last()])
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest278()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest278(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"namespace-uri(child::*/following::*[last()])";
             var expected = @"urn:http//www.placeholder-name-here.com/schema/";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// Complex expression for namespace-uri()
+        /// Complex expression for namespace-uri(Utils.NavigatorKind kind)
         /// namespace-uri(/*/*)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest279()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest279(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"namespace-uri(/*/*)";
             var expected = @"http://default.htm";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// Complex expression for namespace-uri()
+        /// Complex expression for namespace-uri(Utils.NavigatorKind kind)
         /// namespace-uri(/*/*/*[1])
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest2710()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest2710(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"namespace-uri(/*/*/*[1])";
             var expected = @"http://book.htm";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// Complex expression for namespace-uri()
+        /// Complex expression for namespace-uri(Utils.NavigatorKind kind)
         /// namespace-uri(/*/*/*[2]/*[1])
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest2711()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest2711(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"namespace-uri(/*/*/*[2]/*[1])";
             var expected = @"http://book2.htm";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// count((/comment() | /bookstore/book[2]/author[1]/publication/text())/following-sibling::node())
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest2712()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest2712(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
                 @"count((/comment() | /bookstore/book[2]/author[1]/publication/text())/following-sibling::node())";
             var expected = 7d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
     }
 }
index 485b2ea..e8ec4a5 100644 (file)
@@ -1,11 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.CoreFunctionLibrary
 {
@@ -18,8 +17,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: Selects the last element child of the context node.
         /// child::*[last()]
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest221()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest221(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -35,15 +37,18 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
                     Value = "Last"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the second last element child of the context node.
         /// child::*[last() - 1]
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest222()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest222(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -59,15 +64,18 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
                     Value = "Fourth"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the last attribute node of the context node.
         /// attribute::*[last()]
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest223()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest223(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -82,15 +90,18 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
                     Value = "Last"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the second last attribute node of the context node.
         /// attribute::*[last() - 1]
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest224()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest224(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -105,15 +116,18 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
                     Value = "Fourth"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the last element child of the context node.
         /// child::*[position() = last()]
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest225()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest225(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -129,105 +143,126 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
                     Value = "Last"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// *[position() = last()] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest226()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest226(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child5";
             var testExpression = @"*[position() = last()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).
         /// *[position() = last()] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest227()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest227(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child4";
             var testExpression = @"*[position() = last()]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// @*[position() = last()] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest228()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest228(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr5";
             var testExpression = @"@*[position() = last()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).
         /// @*[position() = last()] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest229()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest229(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr4";
             var testExpression = @"@*[position() = last()]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// *[last() = 1] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2210()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2210(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test2/Child1";
             var testExpression = @"*[last() = 1]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// *[last() = 1] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2211()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2211(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child1";
             var testExpression = @"*[last() = 1]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// child::*[position() = 2]
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2212()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2212(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -243,15 +278,18 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
                     Value = "Second"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd attribute of the context node.
         /// attribute::*[position() = 2]
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2213()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2213(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -266,15 +304,18 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
                     Value = "Second"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// child::*[2]
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2214()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2214(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -290,15 +331,18 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
                     Value = "Second"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd attribute of the context node.
         /// attribute::*[2]
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2215()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2215(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -313,15 +357,18 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
                     Value = "Second"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all element children of the context node except the first two.
         /// child::*[position() > 2]
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2216()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2216(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -355,15 +402,18 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
                     Value = "Last"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all element children of the context node.
         /// child::*[position()]
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2217()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2217(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -415,225 +465,270 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
                     Value = "Last"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// *[position() = 2] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2218()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2218(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child2";
             var testExpression = @"*[position() = 2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).
         /// *[position() = 2] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2219()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2219(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child3";
             var testExpression = @"*[position() = 2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// @*[position() = 2] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2220()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2220(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr2";
             var testExpression = @"@*[position() = 2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// @*[position() = 2] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2221()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2221(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr3";
             var testExpression = @"@*[position() = 2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// *[2] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2222()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2222(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child2";
             var testExpression = @"*[2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// *[2] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2223()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2223(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child3";
             var testExpression = @"*[2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// @*[2] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2224()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2224(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr2";
             var testExpression = @"@*[2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// @*[2] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2225()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2225(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr1";
             var testExpression = @"@*[2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// *[position() > 2] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2226()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2226(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child3";
             var testExpression = @"*[position() > 2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).
         /// *[position() > 2] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2227()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2227(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child2";
             var testExpression = @"*[position() > 2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// @*[position() > 2] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2228()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2228(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr3";
             var testExpression = @"@*[position() > 2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// @*[position() > 2] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2229()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2229(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr2";
             var testExpression = @"@*[position() > 2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Number of attribute nodes.
         /// count(attribute::*)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2230()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2230(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"count(attribute::*)";
             var expected = 5d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Number of attribute nodes.
         /// count(descendant::para)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2231()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2231(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"count(descendant::Child3)";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Namespace URI of the context node.
         /// namespace-uri() (element node)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2235()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2235(Utils.NavigatorKind kind)
         {
             var xml = "xp008.xml";
             var startingNodePath = "/Doc/ns:elem";
@@ -643,7 +738,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "uri:this is a test");
             var expected = @"uri:this is a test";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -651,8 +746,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: Namespace URI of the context node.
         /// namespace-uri() (attribute node)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2236()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2236(Utils.NavigatorKind kind)
         {
             var xml = "xp008.xml";
             var startingNodePath = "/Doc/ns:elem/@ns:attr";
@@ -662,7 +760,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "uri:this is a test");
             var expected = @"uri:this is a test";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -670,8 +768,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: Namespace URI of the first child node of the context node.
         /// namespace-uri(child::*)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2237()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2237(Utils.NavigatorKind kind)
         {
             var xml = "xp008.xml";
             var startingNodePath = "/Doc";
@@ -681,7 +782,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "uri:this is a test");
             var expected = @"uri:this is a test";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -689,8 +790,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: Namespace URI of the first attribute node of the context node.
         /// namespace-uri(attribute::*)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2238()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2238(Utils.NavigatorKind kind)
         {
             var xml = "xp008.xml";
             var startingNodePath = "/Doc/ns:elem";
@@ -700,7 +804,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "uri:this is a test");
             var expected = @"uri:this is a test";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -708,8 +812,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: QName of the context node.
         /// name() (with prefix, element node)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2241()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2241(Utils.NavigatorKind kind)
         {
             var xml = "xp008.xml";
             var startingNodePath = "/Doc/ns:elem";
@@ -719,7 +826,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "uri:this is a test");
             var expected = @"ns:elem";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -727,8 +834,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: QName of the context node.
         /// name() (with prefix, attribute node)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2242()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2242(Utils.NavigatorKind kind)
         {
             var xml = "xp008.xml";
             var startingNodePath = "/Doc/ns:elem/@ns:attr";
@@ -738,7 +848,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "uri:this is a test");
             var expected = @"ns:attr";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -746,8 +856,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: QName of the first child node of the context node.
         /// name(child::*)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2243()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2243(Utils.NavigatorKind kind)
         {
             var xml = "xp008.xml";
             var startingNodePath = "/Doc";
@@ -757,7 +870,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "uri:this is a test");
             var expected = @"ns:elem";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -765,8 +878,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: QName of the first attribute node of the context node.
         /// name(attribute::*)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2244()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2244(Utils.NavigatorKind kind)
         {
             var xml = "xp008.xml";
             var startingNodePath = "/child::*/child::*";
@@ -776,7 +892,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "uri:this is a test");
             var expected = @"ns:attr";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -784,8 +900,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: QName of the context node.
         /// local-name() (with prefix, element node)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2247()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2247(Utils.NavigatorKind kind)
         {
             var xml = "xp008.xml";
             var startingNodePath = "/Doc/ns:elem";
@@ -795,7 +914,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "uri:this is a test");
             var expected = @"elem";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -803,8 +922,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: QName of the context node.
         /// local-name() (with prefix, attribute node)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2248()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2248(Utils.NavigatorKind kind)
         {
             var xml = "xp008.xml";
             var startingNodePath = "/Doc/ns:elem/@ns:attr";
@@ -814,7 +936,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "uri:this is a test");
             var expected = @"attr";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -822,8 +944,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: Local part of the expanded-name of the first child node of the context node.
         /// local-name(child::*)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2249()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2249(Utils.NavigatorKind kind)
         {
             var xml = "xp008.xml";
             var startingNodePath = "/Doc";
@@ -833,7 +958,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "uri:this is a test");
             var expected = @"elem";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -841,8 +966,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: QName of the first attribute node of the context node.
         /// local-name(attribute::*)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2250()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2250(Utils.NavigatorKind kind)
         {
             var xml = "xp008.xml";
             var startingNodePath = "/Doc/ns:elem";
@@ -852,31 +980,34 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "uri:this is a test");
             var expected = @"attr";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
-#if FEATURE_XML_XPATH_ID
         /// <summary>
         /// Data file has no DTD, so no element has an ID, expected empty node-set
         /// id("1")
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2267()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        public static void NodeSetFunctionsTest2267(Utils.NavigatorKind kind)
         {
             var xml = "id4.xml";
             var testExpression = @"id(""1"")";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
-#endif
 
         /// <summary>
         /// Expected: empty namespace uri
         /// namespace-uri() (namespace node)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2294()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2294(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/ns:store/ns:booksection/namespace::NSbook";
@@ -886,7 +1017,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "http://default.htm");
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -894,8 +1025,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: empty namespace uri
         /// namespace-uri() (namespace node = xml)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2295()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2295(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/ns:store/namespace::*[1]";
@@ -905,7 +1039,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "http://default.htm");
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -913,8 +1047,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: empty namespace uri
         /// namespace-uri() (namespace node = default ns)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2296()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2296(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/ns:store/namespace::*[2]";
@@ -924,7 +1061,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "http://default.htm");
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -932,8 +1069,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: empty namespace uri
         /// namespace-uri() (namespace node)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2297()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2297(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"namespace-uri(ns:store/ns:booksection/namespace::*)";
@@ -942,15 +1082,18 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "http://default.htm");
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Expected: empty namespace uri
         /// name() (namespace node)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2298()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2298(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/ns:store/ns:booksection/namespace::NSbook";
@@ -960,7 +1103,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "http://default.htm");
             var expected = @"NSbook";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -968,8 +1111,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: empty namespace uri
         /// name() (namespace node = xml)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest2299()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest2299(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/ns:store/namespace::*[1]";
@@ -979,7 +1125,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "http://default.htm");
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -987,8 +1133,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: empty namespace uri
         /// name() (namespace node = default ns)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest22100()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest22100(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/ns:store/namespace::*[1]";
@@ -998,7 +1147,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "http://default.htm");
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -1006,8 +1155,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: empty namespace uri
         /// name() (namespace node)
         /// </summary>
-        [Fact]
-        public static void NodeSetFunctionsTest22101()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetFunctionsTest22101(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"name(ns:store/ns:booksection/namespace::*)";
@@ -1016,7 +1168,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "http://default.htm");
             var expected = @"NSbook";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
     }
 }
index 85bee2e..77f2d16 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.CoreFunctionLibrary.NodeSetFunctions
 {
@@ -18,53 +16,65 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary.NodeSetFunctions
         /// Expected: Selects the last element child of the context node.
         /// child::*[last()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest231()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest231(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child5";
             var testExpression = @"child::*[last()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the second last element child of the context node.
         /// child::*[last() - 1]
         /// </summary>
-        [Fact]
-        public static void MatchesTest232()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest232(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child4";
             var testExpression = @"child::*[last() - 1]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the last attribute node of the context node.
         /// attribute::*[last()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest233()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest233(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr5";
             var testExpression = @"attribute::*[last()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the second last attribute node of the context node.
         /// attribute::*[last() - 1]
         /// </summary>
-        [Fact]
-        public static void MatchesTest234()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest234(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -79,399 +89,474 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary.NodeSetFunctions
                     Value = "Fourth"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the last element child of the context node.
         /// child::*[position() = last()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest235()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest235(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child5";
             var testExpression = @"child::*[position() = last()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// *[position() = last()] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest236()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest236(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child5";
             var testExpression = @"*[position() = last()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).
         /// *[position() = last()] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest237()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest237(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child4";
             var testExpression = @"*[position() = last()]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// @*[position() = last()] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest238()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest238(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr5";
             var testExpression = @"@*[position() = last()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).
         /// @*[position() = last()] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest239()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest239(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr4";
             var testExpression = @"@*[position() = last()]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// *[last() = 1] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2310()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2310(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test2/Child1";
             var testExpression = @"*[last() = 1]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// *[last() = 1] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2311()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2311(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child1";
             var testExpression = @"*[last() = 1]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// child::*[position() = 2]
         /// </summary>
-        [Fact]
-        public static void MatchesTest2312()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2312(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child2";
             var testExpression = @"child::*[position() = 2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd attribute of the context node.
         /// attribute::*[position() = 2]
         /// </summary>
-        [Fact]
-        public static void MatchesTest2313()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2313(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr2";
             var testExpression = @"attribute::*[position() = 2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// child::*[2]
         /// </summary>
-        [Fact]
-        public static void MatchesTest2314()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2314(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child2";
             var testExpression = @"child::*[2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd attribute of the context node.
         /// attribute::*[2]
         /// </summary>
-        [Fact]
-        public static void MatchesTest2315()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2315(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr2";
             var testExpression = @"attribute::*[2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all element children of the context node except the first two.
         /// child::*[position() > 2]
         /// </summary>
-        [Fact]
-        public static void MatchesTest2316()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2316(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child4";
             var testExpression = @"child::*[position() > 2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all element children of the context node.
         /// child::*[position()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest2317()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2317(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child3";
             var testExpression = @"child::*[position()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// *[position() = 2] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2318()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2318(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child2";
             var testExpression = @"*[position() = 2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).
         /// *[position() = 2] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2319()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2319(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child3";
             var testExpression = @"*[position() = 2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// @*[position() = 2] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2320()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2320(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr2";
             var testExpression = @"@*[position() = 2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// @*[position() = 2] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2321()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2321(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr3";
             var testExpression = @"@*[position() = 2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// *[2] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2322()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2322(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child2";
             var testExpression = @"*[2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// *[2] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2323()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2323(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child3";
             var testExpression = @"*[2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// @*[2] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2324()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2324(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr2";
             var testExpression = @"@*[2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// @*[2] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2325()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2325(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr1";
             var testExpression = @"@*[2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// *[position() > 2] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2326()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2326(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child3";
             var testExpression = @"*[position() > 2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).
         /// *[position() > 2] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2327()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2327(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child2";
             var testExpression = @"*[position() > 2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// @*[position() > 2] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2328()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2328(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr3";
             var testExpression = @"@*[position() > 2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// @*[position() > 2] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest2329()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest2329(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/@Attr2";
             var testExpression = @"@*[position() > 2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
-#if FEATURE_XML_XPATH_ID
         /// <summary>
         /// Data file has no DTD, so no element has an ID, expected empty node-set
         /// id("1")
         /// </summary>
-        [Fact]
-        public static void MatchesTest2352()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        public static void MatchesTest2352(Utils.NavigatorKind kind)
         {
             var xml = "id4.xml";
             var startingNodePath = "/DMV/Vehicle[1]";
             var testExpression = @"id(""1"")";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
-#endif
     }
 }
index 9f5401a..07d634e 100644 (file)
@@ -1,11 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.CoreFunctionLibrary
 {
@@ -18,391 +15,475 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Verify result.
         /// number("1") = 1
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest261()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest261(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""1"")";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// number("-1") = -1
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest262()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest262(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""-1"")";
             var expected = -1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// number(" -2 ") = -2
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest263()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest263(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number("" -2"")";
             var expected = -2d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// number("- 1") = NaN
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest264()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest264(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""- 1"")";
             var expected = double.NaN;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// number("0.1234") = 0.1234
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest265()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest265(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""0.1234"")";
             var expected = 0.1234d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// number("test") = NaN
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest266()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest266(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""test"")";
             var expected = double.NaN;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// number(true()) = 1
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest267()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest267(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(true())";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// number(false()) = 0
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest268()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest268(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(false())";
             var expected = 0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// number(child::*)
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest269()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest269(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"number(child::*)";
             var expected = 10d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// number(2) = 2
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2610()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2610(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(2)";
             var expected = 2d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result (Assuming that there are 3 element children with the string values ""1"", ""2"" and ""3"").
         /// sum(child::*)
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2611()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2611(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"sum(child::*)";
             var expected = 60d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result (Assuming that there are 3 element children with the string values ""1"", ""2"" and ""not a number"").
         /// sum(child::*) = NaN
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2612()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2612(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"sum(child::*)";
             var expected = double.NaN;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// floor(2.9) = 2
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2613()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2613(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"floor(2.9)";
             var expected = 2d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// floor(2.1) = 2
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2614()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2614(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"floor(2.1)";
             var expected = 2d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// floor(0.9) = 0
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2615()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2615(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"floor(0.9)";
             var expected = 0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// floor(-2.9) = -3
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2616()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2616(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"floor(-2.9)";
             var expected = -3d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// floor(number(child::*))
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2617()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2617(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test5";
             var testExpression = @"floor(number(child::Para[1]))";
             var expected = 2d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// ceiling(2.9) = 3
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2618()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2618(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"ceiling(2.9)";
             var expected = 3d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// ceiling(2.1) = 3
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2619()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2619(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"ceiling(2.1)";
             var expected = 3d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// ceiling(0.1) = 1
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2620()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2620(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"ceiling(0.1)";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// ceiling(-2.9) = -2
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2621()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2621(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"ceiling(-2.9)";
             var expected = -2d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// ceiling(number(child::*))
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2622()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2622(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test5";
             var testExpression = @"ceiling(number(child::Para[2]))";
             var expected = 3d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// round(2.9) = 3
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2623()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2623(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"round(2.9)";
             var expected = 3d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// round(2.1) = 2
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2624()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2624(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"round(2.1)";
             var expected = 2d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// round(2.5) = 3
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2625()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2625(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"round(2.5)";
             var expected = 3d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// round(-2.5) = -2
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2626()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2626(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"round(-2.5)";
             var expected = -2d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// round(number(child::*))
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2627()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2627(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test5";
             var testExpression = @"round(number(child::Para[3]))";
             var expected = 3d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Number(): passing in a string with a number > max(double-precision 64-bit IEEE 754 value)
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2628()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2628(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression =
@@ -410,34 +491,40 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             var expected =
                 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// number("//notAbook")
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2629()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2629(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"number(""//notAbook"")";
             var expected = double.NaN;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Test for the scanner. It has different code path for digits of the form .xxx and x.xxx
         /// floor(.9) = 0
         /// </summary>
-        [Fact]
-        public static void NumberFunctionsTest2630()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumberFunctionsTest2630(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"floor(.9)";
             var expected = 0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
     }
 }
index 4e35880..a03187f 100644 (file)
@@ -1,11 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.CoreFunctionLibrary
 {
@@ -18,14 +15,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// count() can only take node sets as arguments.
         /// count(string('book')])
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest281()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest281(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"count(string('book'))";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -33,14 +33,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// count() can only take node sets as arguments.
         /// count(true())
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest282()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest282(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"count(true())";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -48,29 +51,35 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// count() can only take node sets as arguments.
         /// count(10)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest283()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest283(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"count(10)";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// count() can only take node sets as arguments.
-        /// count()
+        /// count(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest284()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest284(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"count()";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -78,29 +87,35 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// expression returns empty node set
         /// count(//foo)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest285()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest285(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"count(//foo)";
             var expected = 0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// local-name() can only take node sets as arguments.
         /// local-name(string('book'))
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest286()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest286(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"local-name(string('book'))";
 
-            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -108,14 +123,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// local-name() can only take node sets as arguments.
         /// local-name(true())
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest287()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest287(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"local-name(true())";
 
-            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -123,59 +141,71 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// local-name() can only take node sets as arguments.
         /// local-name(10)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest288()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest288(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"local-name(10)";
 
-            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// local-name() can only take node sets as arguments.
-        /// local-name()
+        /// local-name(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest289()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest289(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"local-name()";
             var expected = @"bookstore";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// expression returns empty node set
         /// local-name(//foo)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2810()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2810(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"local-name(//foo)";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// name() can only take node sets as arguments.
         /// name(string('book'))
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2811()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2811(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"name(string('book'))";
 
-            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -183,14 +213,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// name() can only take node sets as arguments.
         /// name(true())
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2812()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2812(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"name(true())";
 
-            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -198,14 +231,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// name() can only take node sets as arguments.
         /// name(10)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2813()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2813(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"name(10)";
 
-            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -213,29 +249,35 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// expression returns empty node set
         /// name(//foo)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2814()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2814(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"name(//foo)";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// namespace-uri() can only take node sets as arguments.
         /// namespace-uri(string('book'))
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2815()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2815(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"namespace-uri(string('book'))";
 
-            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -243,14 +285,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// namespace-uri() can only take node sets as arguments.
         /// namespace-uri(true())
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2816()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2816(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"namespace-uri(true())";
 
-            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -258,14 +303,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// namespace-uri() can only take node sets as arguments.
         /// namespace-uri(10)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2817()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2817(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"namespace-uri(10)";
 
-            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -273,29 +321,35 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// expression returns empty node set
         /// namespace-uri(//foo)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2818()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2818(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"namespace-uri(//foo)";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// position() takes no args
         /// position(string('book')])
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2819()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2819(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"position(string('book'))";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -303,14 +357,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// position() takes no args
         /// position(true())
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2820()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2820(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"position(true())";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -318,14 +375,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// position() takes no args
         /// position(10)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2821()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2821(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"position(10)";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -333,14 +393,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// position() takes no args
         /// position(//foo)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2822()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2822(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"position(//foo)";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -348,14 +411,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// last() takes no args
         /// last(string('book')])
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2823()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2823(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"last(string('book'))";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -363,14 +429,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// last() takes no args
         /// last(true())
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2824()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2824(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"last(true())";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -378,14 +447,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// last() takes no args
         /// last(10)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2825()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2825(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"last(10)";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -393,14 +465,17 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// last() takes no args
         /// last(//foo)
         /// </summary>
-        [Fact]
-        public static void ParameterTypeCoercionTest2826()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ParameterTypeCoercionTest2826(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"last(//foo)";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
     }
index 6cd806c..bd97d0c 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.CoreFunctionLibrary
 {
@@ -18,790 +16,958 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Verify result.
         /// string()="context node data"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest241()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest241(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1/Para[1]";
             var testExpression = @"string()";
             var expected = @"Test";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// string(1) = "1"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest242()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest242(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string(1)";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// string(-0) = "0"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest243()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest243(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string(-0)";
             var expected = 0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// string(+0) = "0"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest244()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest244(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string(+0)";
 
-            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Verify result.
         /// string(number("NotANumber")) = "NaN"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest245()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest245(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string(number(""NotANumber""))";
             var expected = double.NaN;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// string(true()) = "true"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest246()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest246(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string(true())";
             var expected = @"true";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// string(false()) = "false"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest247()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest247(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string(false())";
             var expected = @"false";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// string(child::para) = "1st child node data"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest248()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest248(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"string(child::Para)";
             var expected = @"Test";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// concat("AA", "BB") = "AABB"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest249()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest249(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"concat(""AA"", ""BB"")";
             var expected = @"AABB";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// concat("AA", "BB", "CC") = "AABBCC"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2410()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2410(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"concat(""AA"", ""BB"", ""CC"")";
             var expected = @"AABBCC";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// concat(string(child::*), "BB") = "AABB"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2411()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2411(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"concat(string(child::*), ""BB"")";
             var expected = @"TestBB";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// starts-with("AABB", "AA") = true
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2412()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2412(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"starts-with(""AABB"", ""AA"")";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// starts-with("AABB", "BB") = false
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2413()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2413(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"starts-with(""AABB"", ""BB"")";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// starts-with("AABB", string(child::*)) = true
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2414()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2414(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"starts-with(""TestBB"", string(child::*))";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// contains("AABBCC", "BB") = true
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2415()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2415(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"contains(""AABBCC"", ""BB"")";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// contains("AABBCC", "DD") = false
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2416()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2416(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"contains(""AABBCC"", ""DD"")";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// contains("AABBCC", string(child::*)) = true
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2417()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2417(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"contains(""AATestBB"", string(child::*))";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// substring-before("AA/BB", "/") = "AA"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2418()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2418(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring-before(""AA/BB"", ""/"")";
             var expected = @"AA";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// substring-before("AA/BB", "D") = ""
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2419()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2419(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring-before(""AA/BB"", ""D"")";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// substring-before(string(child::*), "/") = "AA"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2420()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2420(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"substring-before(string(child::*), ""t"")";
             var expected = @"Tes";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// substring-after("AA/BB", "/") = "BB"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2421()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2421(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring-after(""AA/BB"", ""/"")";
             var expected = @"BB";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// substring-after("AA/BB", "D") != ""
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2422()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2422(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring-after(""AA/BB"", ""D"")";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// substring-after(string(child::*), "/") = "BB"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2423()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2423(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"substring-after(string(child::*), ""T"")";
             var expected = @"est";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// substring("ABC", 2) = "BC"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2424()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2424(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring(""ABC"", 2)";
             var expected = @"BC";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// substring("ABCD", 2, 2) = "BC"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2425()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2425(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring(""ABCD"", 2, 2)";
             var expected = @"BC";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// substring("ABCDE", 1.5, 2.6) = "BCD"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2426()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2426(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring(""ABCDE"", 1.5, 2.6)";
             var expected = @"BCD";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// substring("ABCDE", 0, 3) = "AB"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2427()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2427(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring(""ABCDE"", 0, 3)";
             var expected = @"AB";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// substring("ABCDE", 0 div 0, 3) = ""
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2428()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2428(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring(""ABCDE"", 0 div 0, 3)";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// substring("ABCDE", 1, 0 div 0) = ""
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2429()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2429(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring(""ABCDE"", 1, 0 div 0)";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// substring("ABCDE", -42, 1 div 0) = "ABCDE"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2430()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2430(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring(""ABCDE"", -42, 1 div 0)";
             var expected = @"ABCDE";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// substring("ABCDE", -1 div 0, 1 div 0) = ""
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2431()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2431(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring(""ABCDE"", -1 div 0, 1 div 0)";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// substring(string(child::*), 2) = "BC"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2432()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2432(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"substring(string(child::*), 2)";
             var expected = @"est";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// string-length("ABCDE") = 5
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2433()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2433(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string-length(""ABCDE"")";
             var expected = 5d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result ( assuming the string-value of the context node has 5 characters).
         /// string-length() = 5
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2434()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2434(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1/Para[1]";
             var testExpression = @"string-length()";
             var expected = 4d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// string-length("") = 0
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2435()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2435(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string-length("""")";
             var expected = 0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// string-length(string(child::*)) = 2
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2436()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2436(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"string-length(string(child::*))";
             var expected = 4d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// normalize-space("") = ""
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2473()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2473(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"normalize-space("""")";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// normalize-space(" \t\n\r") = ""
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2474()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2474(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = "normalize-space(\" \t\n\r\")";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// normalize-space(" Surrogate-Pair-String ") = ""
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2475()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2475(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var fourCircles = char.ConvertFromUtf32(0x1F01C);
             var testExpression = "normalize-space(\" " + fourCircles + " \")";
             var expected = fourCircles;
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// normalize-space(" AB") = "AB"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2437()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2437(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"normalize-space("" AB"")";
             var expected = @"AB";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// normalize-space("AB ") = "AB"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2438()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2438(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"normalize-space(""AB "")";
             var expected = @"AB";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// normalize-space("A B") = "A B"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2439()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2439(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"normalize-space(""A B"")";
             var expected = @"A B";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// normalize-space("     AB") = "AB"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2440()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2440(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"normalize-space(""   AB"")";
             var expected = @"AB";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// normalize-space("AB     ") = "AB"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2441()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2441(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"normalize-space(""AB   "")";
             var expected = @"AB";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// normalize-space("A     B") = "A B"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2442()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2442(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"normalize-space(""A   B"")";
             var expected = @"A B";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// normalize-space("     A     B     ") = "A B"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2443()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2443(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"normalize-space(""   A   B   "")";
             var expected = @"A B";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// normalize-space() = "A B"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2444()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2444(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test4/Para[1]";
             var testExpression = @"normalize-space()";
             var expected = @"A B";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Checks for preceding and trailing whitespace
         /// normalize-space('   abc   ')
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2445()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2445(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"normalize-space('   abc   ')";
             var expected = @"abc";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Checks for preceding and trailing whitespace (characters other than space)
         /// normalize-space('   abc   ')
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2446()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2446(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"normalize-space('                   abc                     ')";
             var expected = @"abc";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Checks for a sequence of whitespace between characters
         /// normalize-space('a     bc')
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2447()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2447(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"normalize-space('a  bc')";
             var expected = @"a bc";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Checks for a sequence of whitespace between characters (characters other than space)
         /// normalize-space('a   bc')
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2448()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2448(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"normalize-space('a                  bc')";
             var expected = @"a bc";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// A single tab should be replaced with a space
         /// normalize-space('a bc')
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2449()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2449(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"normalize-space('a  bc')";
             var expected = @"a bc";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// normalize-space(string(child::*)) = "A B"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2450()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2450(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test4";
             var testExpression = @"normalize-space(string(child::*))";
             var expected = @"A B";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// translate("", "abc", "ABC") = ""
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2472()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2472(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"translate("""", ""abc"", ""ABC"")";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// translate("unicode", "unicode", "uppercase-unicode") = "uppercase -unicode"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2476()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2476(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = "translate(\"\0x03B1\0x03B2\0x03B3\", \"\0x03B1\0x03B2\0x03B3\", \"\0x0391\0x0392\0x0393\")";
             var expected = "\0x0391\0x0392\0x0393";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// translate("surrogate-pairs", "ABC", "") = "surrogate-pairs"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2477()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2477(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var fourOClock = char.ConvertFromUtf32(0x1F553);
@@ -809,204 +975,249 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             var testExpression = @"translate(""" + fourOClock + fiveOClock + @""", ""ABC"", """")";
             var expected = fourOClock + fiveOClock;
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// translate("abc", "abca", "ABCZ") = "ABC"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2478()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2478(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"translate(""abc"", ""abca"", ""ABCZ"")";
             var expected = "ABC";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// translate("abc", "abc", "ABC") = "ABC"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2451()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2451(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"translate(""abc"", ""abc"", ""ABC"")";
             var expected = @"ABC";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// translate("aba", "b", "B") = "aBa"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2452()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2452(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"translate(""aba"", ""b"", ""B"")";
             var expected = @"aBa";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// translate("--aaa--", "abc-", "ABC") = "AAA"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2453()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2453(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"translate(""-aaa-"", ""abc-"", ""ABC"")";
             var expected = @"AAA";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// translate(string(child::*), "AB", "ab") = "aa"
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2454()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2454(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"translate(string(child::*), ""est"", ""EST"")";
             var expected = @"TEST";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// string(NaN)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2455()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2455(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string(number(0 div 0))";
             var expected = double.NaN;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// string(-0)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2456()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2456(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string(-0)";
             var expected = 0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// string(infinity)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2457()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2457(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string(number(1 div 0))";
             var expected = double.PositiveInfinity;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// string(-Infinity)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2458()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2458(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string(number(-1 div 0))";
             var expected = double.NegativeInfinity;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// for integers, leading zeros and decimal should be removed
         /// string(007.00)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2459()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2459(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string(007.00)";
             var expected = 7d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// string(-007.00)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2460()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2460(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"string(-007.00)";
             var expected = -7d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage: covers the substring() function with in a query
         /// child::*[substring(name(),0,1)="b"]
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2461()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2461(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"child::*[substring(name(),0,1)=""b""]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage: covers the substring-after() function with in a query
         /// child::*[substring-after(name(),"b")="ook"]
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2462()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2462(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"child::*[substring-after(name(),""b"")=""ook""]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage: covers the normalize-space() function with in a query
         /// child::*[normalize-space(" book")=name()]
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2463()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2463(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"child::*[normalize-space("" book"")=name()]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected: namespace uri
         /// string() (namespace node)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2464()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2464(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/ns:store/ns:booksection/namespace::NSbook";
@@ -1016,7 +1227,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "http://default.htm");
             var expected = @"http://book.htm";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -1024,8 +1235,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: xml namespace uri
         /// string() (namespace node = xml)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2465()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2465(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/ns:store/namespace::*[last()]";
@@ -1035,7 +1249,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "http://default.htm");
             var expected = @"http://www.w3.org/XML/1998/namespace";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -1043,8 +1257,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: default namespace uri
         /// string() (namespace node = default ns)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2466()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2466(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/ns:store/namespace::*[1]";
@@ -1054,7 +1271,7 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "http://default.htm");
             var expected = @"http://default.htm";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -1062,8 +1279,11 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
         /// Expected: uri of namespace
         /// string() (namespace node)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2467()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2467(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"string(ns:store/ns:booksection/namespace::*)";
@@ -1072,46 +1292,55 @@ namespace XPathTests.FunctionalTests.CoreFunctionLibrary
             namespaceManager.AddNamespace("ns", "http://default.htm");
             var expected = @"http://book.htm";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// substring("ABCDE", 1, -1)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2468()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2468(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring(""ABCDE"", 1, -1)";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// substring("ABCDE", 1, -1 div 0)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2469()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2469(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"substring(""ABCDE"", 1, -1 div 0)";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// string(/bookstore/book/title)
         /// </summary>
-        [Fact]
-        public static void StringFunctionsTest2471()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StringFunctionsTest2471(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"string(/bookstore/book/title)";
             var expected = @"Seven Years in Trenton";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
     }
 }
index 15532e5..3c8d6f9 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests
 {
@@ -18,8 +16,11 @@ namespace XPathTests.FunctionalTests
         /// Expected: The last line element of the first section of the last chapter of the context node.
         /// Chapter[last()]/Section[1]/Line[last()]
         /// </summary>
-        [Fact]
-        public static void CustomerScenariosTest301()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void CustomerScenariosTest301(Utils.NavigatorKind kind)
         {
             var xml = "xpC001.xml";
             var startingNodePath = "/Book";
@@ -35,15 +36,18 @@ namespace XPathTests.FunctionalTests
                     Value = "Porsche 911"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: The last line element of the first section of the last chapter of the doc.
         /// /Book/Chapter[last()]/Section[1]/Line[last()]
         /// </summary>
-        [Fact]
-        public static void CustomerScenariosTest302()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void CustomerScenariosTest302(Utils.NavigatorKind kind)
         {
             var xml = "xpC001.xml";
             var startingNodePath = "/Book";
@@ -59,15 +63,18 @@ namespace XPathTests.FunctionalTests
                     Value = "Porsche 911"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the second chapter element child if that child has a name attribute with value ""Chapter2"".
         /// Chapter[2][@name="Chapter2"]
         /// </summary>
-        [Fact]
-        public static void CustomerScenariosTest303()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void CustomerScenariosTest303(Utils.NavigatorKind kind)
         {
             var xml = "xpC001.xml";
             var startingNodePath = "/Book";
@@ -85,15 +92,18 @@ namespace XPathTests.FunctionalTests
                         "\n        \n            Almond Chicken\n            Sesame Chicken\n            Crispy Duck\n        \n        \n            Mashed potatoes with overcooked veggies and fat meat topped with some rich gravy\n            That's it!\n        \n        \n            Triple Bacon Cheeseburger\n            Double Bacon Cheeseburger\n            Bacon Cheeseburger\n        \n    "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: The 2nd to 4th chapter child node of the context node.
         /// Chapter[position() >= 2 and position() <= 4]
         /// </summary>
-        [Fact]
-        public static void CustomerScenariosTest304()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void CustomerScenariosTest304(Utils.NavigatorKind kind)
         {
             var xml = "xpC001.xml";
             var startingNodePath = "/Book";
@@ -122,7 +132,7 @@ namespace XPathTests.FunctionalTests
                         "\n        \n            BMW M5\n            Mercedes S Class\n            Porsche 911\n        \n        \n            Acura CL 3.2\n            Lexus RX300\n            Infiniti QX4\n        \n        \n    "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
     }
 }
index 00e04ff..2ff812f 100644 (file)
@@ -1,11 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.CustomerScenarios
 {
@@ -18,60 +15,72 @@ namespace XPathTests.FunctionalTests.CustomerScenarios
         /// Expected: The last line element of the first section of the last chapter of the context node.
         /// Chapter[last()]/Section[1]/Line[last()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest311()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest311(Utils.NavigatorKind kind)
         {
             var xml = "xpC001.xml";
             var startingNodePath = "/Book/Chapter[3]/Section[1]/Line[3]";
             var testExpression = @"Chapter[last()]/Section[1]/Line[last()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: The last line element of the first section of the last chapter of the doc.
         /// /Book/Chapter[last()]/Section[1]/Line[last()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest312()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest312(Utils.NavigatorKind kind)
         {
             var xml = "xpC001.xml";
             var startingNodePath = "/Book/Chapter[3]/Section[1]/Line[3]";
             var testExpression = @"/Book/Chapter[last()]/Section[1]/Line[last()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the second chapter element child if that child has a name attribute with value ""Chapter2"".
         /// Chapter[2][@name="Chapter2"]
         /// </summary>
-        [Fact]
-        public static void MatchesTest313()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest313(Utils.NavigatorKind kind)
         {
             var xml = "xpC001.xml";
             var startingNodePath = "/Book/Chapter[2]";
             var testExpression = @"Chapter[2][@name='Entrees']";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: The 2nd to 4th chapter child node of the context node.
         /// Chapter[position() >= 2 and position() <= 4]
         /// </summary>
-        [Fact]
-        public static void MatchesTest314()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest314(Utils.NavigatorKind kind)
         {
             var xml = "xpC001.xml";
             var startingNodePath = "/Book/Chapter[3]";
             var testExpression = @"Chapter[position() >= 2 and position() <= 4]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
     }
 }
index 2fa1d94..111b8b1 100644 (file)
@@ -1,11 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Expressions.Basics
 {
@@ -18,59 +15,71 @@ namespace XPathTests.FunctionalTests.Expressions.Basics
         /// Expected: Selects the 1st element child of the context node.
         /// child::*[((((1 + 2) * 3) - 7) div 2)]
         /// </summary>
-        [Fact]
-        public static void MatchesTest171()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest171(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/child::*[1]";
             var testExpression = @"child::*[((((1 + 2) * 3) - 7) div 2)]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// child::*[(2 * (2 -  (3 div (1 + 2))))]
         /// </summary>
-        [Fact]
-        public static void MatchesTest172()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest172(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/child::*[2]";
             var testExpression = @"child::*[(2 * (2 -  (3 div (1 + 2))))]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 1st element child of the context node.
         /// child::*[(4 - 1) div  (1 + 2)]
         /// </summary>
-        [Fact]
-        public static void MatchesTest173()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest173(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/child::*[1]";
             var testExpression = @"child::*[(4 - 1) div  (1 + 2)]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Set and get variable. Expected: Error (variables are only supported for XSL/T)
         /// child::$$Var
         /// </summary>
-        [Fact]
-        public static void MatchesTest174()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest174(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
             var testExpression = @"child::$$Var";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
     }
index 32fe3b9..3ffce77 100644 (file)
@@ -1,12 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
 using System;
-using System.Xml;
+using System.IO;
 using System.Xml.XPath;
 using XPathTests.Common;
-using System.IO;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Expressions
 {
@@ -19,8 +18,11 @@ namespace XPathTests.FunctionalTests.Expressions
         /// Expected: Selects the 1st element child of the context node.
         /// child::*[((((1 + 2) * 3) - 7) div 2)]
         /// </summary>
-        [Fact]
-        public static void BasicsTest161()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BasicsTest161(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -36,15 +38,18 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "XPath test"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 2nd element child of the context node.
         /// child::*[(2 * (2 -  (3 div (1 + 2))))]
         /// </summary>
-        [Fact]
-        public static void BasicsTest162()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BasicsTest162(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -60,15 +65,18 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "This shall test XPath test"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the 1st element child of the context node.
         /// child::*[(4 - 1) div  (1 + 2)]
         /// </summary>
-        [Fact]
-        public static void BasicsTest163()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BasicsTest163(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -84,21 +92,24 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "XPath test"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Set and get variable. Expected: Error (variables are only supported for XSL/T)
         /// child::$$Var
         /// </summary>
-        [Fact]
-        public static void BasicsTest164()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BasicsTest164(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
             var testExpression = @"child::$$Var";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
index 36cc518..3c3117d 100644 (file)
@@ -1,11 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Expressions
 {
@@ -18,1945 +15,2359 @@ namespace XPathTests.FunctionalTests.Expressions
         /// Verify result.
         /// child::para[1] = child::para[2]
         /// </summary>
-        [Fact]
-        public static void BooleansTest201()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest201(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"child::Para[1] = child::Para[2]";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::para[1] != child::para[2]
         /// </summary>
-        [Fact]
-        public static void BooleansTest202()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest202(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"child::Para[1] != child::Para[2]";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::para[1] <= child::para[2]
         /// </summary>
-        [Fact]
-        public static void BooleansTest203()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest203(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"child::Para[1] <= child::Para[2]";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::para[1] >= child::para[2]
         /// </summary>
-        [Fact]
-        public static void BooleansTest204()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest204(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"child::Para[1] >= child::Para[2]";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::para[1] > child::para[2]
         /// </summary>
-        [Fact]
-        public static void BooleansTest205()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest205(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"child::Para[1] > child::Para[2]";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::para[1] < child::para[2]
         /// </summary>
-        [Fact]
-        public static void BooleansTest206()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest206(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"child::Para[1] < child::Para[2]";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::para[1] < child::para[2] and child::para[2] < child::para[3]
         /// </summary>
-        [Fact]
-        public static void BooleansTest207()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest207(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"child::Para[1] < child::Para[2] and child::Para[2] < child::Para[3]";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::para[1] < child::para[2] or child::para[2] > child::para[3]
         /// </summary>
-        [Fact]
-        public static void BooleansTest208()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest208(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"child::Para[1] < child::Para[2] or child::Para[2] > child::Para[3]";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::* = child::*[1]
         /// </summary>
-        [Fact]
-        public static void BooleansTest209()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest209(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"child::* = child::*[1]";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::para[1] = 10
         /// </summary>
-        [Fact]
-        public static void BooleansTest2010()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2010(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"child::Para[1] = 10";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// 10 = child::para[1]
         /// </summary>
-        [Fact]
-        public static void BooleansTest2011()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2011(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"10 = child::Para[1]";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::para[1] = "Test"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2012()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2012(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"child::Para[1] = ""Test""";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// "Test" = child::para[1]
         /// </summary>
-        [Fact]
-        public static void BooleansTest2013()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2013(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"""Test"" = child::Para[1]";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::para[1] = "Test" or child::para[1] = "test"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2014()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2014(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test1";
             var testExpression = @"child::Para[1] = ""Test"" or child::Para[1] = ""test""";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
-        /// child::para[1] = true()
+        /// child::para[1] = true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2015()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2015(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test3";
             var testExpression = @"child::Para[1] = true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// true() = child::para[1]
         /// </summary>
-        [Fact]
-        public static void BooleansTest2016()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2016(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test3";
             var testExpression = @"true() = child::Para[1]";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
-        /// true() != false()
+        /// true() != false(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2017()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2017(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() != false()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 0.09 = 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest2018()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2018(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"0.09 = 0.09";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 0.09 != 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest2019()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2019(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"0.09 != 0.09";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 0.09 = 0.08
         /// </summary>
-        [Fact]
-        public static void BooleansTest2020()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2020(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"0.09 = 0.08";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 0.09 != 0.08
         /// </summary>
-        [Fact]
-        public static void BooleansTest2021()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2021(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"0.09 != 0.08";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// .000033 = .000033
         /// </summary>
-        [Fact]
-        public static void BooleansTest2022()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2022(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @".000033 =  .000033";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// "Test" = "Test"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2023()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2023(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""Test"" = ""Test""";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// "Test" != "Test"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2024()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2024(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""Test"" != ""Test""";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// "TestA" = "TestB"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2025()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2025(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""TestA"" = ""TestB""";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// "TestA" != "TestB"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2026()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2026(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""TestA"" != ""TestB""";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result (should resolve to true).
         /// true() = 5
         /// </summary>
-        [Fact]
-        public static void BooleansTest2027()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2027(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() = 5";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result (should resolve to true).
-        /// 5 = true()
+        /// 5 = true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2028()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2028(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"5 = true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result (should resolve to false).
         /// "Test" = 0
         /// </summary>
-        [Fact]
-        public static void BooleansTest2029()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2029(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""Test"" = 0";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result (should resolve to false).
         /// 0 = "Test"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2030()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2030(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"0 = ""Test""";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result (should resolve to true).
         /// false() != "Test"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2031()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2031(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"false() !=  ""Test""";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Equality of node sets - true. Two node sets should be equal if for any node in the first node set there is a node in the second node set such that the string value of the two are equal.
         /// /mydoc/numbers[2]/n = /mydoc/numbers[1]/n
         /// </summary>
-        [Fact]
-        public static void BooleansTest2032()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2032(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"/mydoc/numbers[2]/n = /mydoc/numbers[1]/n";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Equality of node sets - false. Two node sets should be equal if for any node in the first node set there is a node in the second node set such that the string value of the two are equal.
         /// /mydoc/numbers[2]/n = /mydoc/numbers[3]/n
         /// </summary>
-        [Fact]
-        public static void BooleansTest2033()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2033(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"/mydoc/numbers[2]/n = /mydoc/numbers[3]/n";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// = node set and number - true. = is true if a node in node set has a numeric value equal to the number. (Not testing other operators since they work similarly)
         /// /mydoc/numbers[1]/n = 1
         /// </summary>
-        [Fact]
-        public static void BooleansTest2034()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2034(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"/mydoc/numbers[1]/n = 1";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// = node set and number - false
         /// /mydoc/numbers[1]/n = 4
         /// </summary>
-        [Fact]
-        public static void BooleansTest2035()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2035(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"/mydoc/numbers[1]/n = 4";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// operator precedence and,or. or has precedence over and
-        /// true() and false() or true()
+        /// true() and false() or true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2036()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2036(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"true() and false() or true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Comparison of node set with string. = is true if a node in node set has a string value equal to the string constant it is being compared with.
         /// /bookstore/book/title = 'Seven Years in Trenton'
         /// </summary>
-        [Fact]
-        public static void BooleansTest2037()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2037(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book/title = 'Seven Years in Trenton'";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage: Covering case for AndExpr constructor .ctor(bool,bool)
         /// boolean(true()) and boolean(true())
         /// </summary>
-        [Fact]
-        public static void BooleansTest2038()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2038(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"boolean(true()) and boolean(true())";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage: Covering case for AndExpr getValue where first condition fails
         /// boolean(false()) and boolean(true())
         /// </summary>
-        [Fact]
-        public static void BooleansTest2039()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2039(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"boolean(false()) and boolean(true())";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "Test" > "Test"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2040()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2040(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""Test"" > ""Test""";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "Test" < "Test"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2041()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2041(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""Test"" < ""Test""";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "Test" <= "Test"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2042()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2042(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""Test"" <= ""Test""";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "Test" >= "Test"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2043()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2043(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""Test"" >= ""Test""";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// true() = false()
+        /// true() = false(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2044()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2044(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() = false()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// true() = true()
+        /// true() = true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2045()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2045(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() = true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// true() != true()
+        /// true() != true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2046()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2046(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() != true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// true() != false()
+        /// true() != false(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2047()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2047(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() != false()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// true() > true()
+        /// true() > true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2048()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2048(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() > true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// true() >= true()
+        /// true() >= true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2049()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2049(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() >= true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// true() <= true()
+        /// true() <= true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2050()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2050(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() <= true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() = number("1")
         /// </summary>
-        [Fact]
-        public static void BooleansTest2051()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2051(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() = number(""1"")";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() = number(0 div 0)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2052()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2052(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() = number(0 div 0)";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() != number("1")
         /// </summary>
-        [Fact]
-        public static void BooleansTest2053()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2053(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() != number(""1"")";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() != number('abc')
         /// </summary>
-        [Fact]
-        public static void BooleansTest2054()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2054(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() != number('abc')";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() >= number("1")
         /// </summary>
-        [Fact]
-        public static void BooleansTest2055()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2055(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() >= number(""1"")";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() >= number("abc")
         /// </summary>
-        [Fact]
-        public static void BooleansTest2056()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2056(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() >= number(""abc"")";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() <= number("1")
         /// </summary>
-        [Fact]
-        public static void BooleansTest2057()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2057(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() <= number(""1"")";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() <= number("abc")
         /// </summary>
-        [Fact]
-        public static void BooleansTest2058()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2058(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() <= number(""abc"")";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() < number("1")
         /// </summary>
-        [Fact]
-        public static void BooleansTest2059()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2059(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() < number(""1"")";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() > number("1")
         /// </summary>
-        [Fact]
-        public static void BooleansTest2060()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2060(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() > number(""1"")";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// number("1") = true()
+        /// number("1") = true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2061()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2061(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""1"") = true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// number("abc") = true()
+        /// number("abc") = true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2062()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2062(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""abc"") = true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// number("1") != true()
+        /// number("1") != true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2063()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2063(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""1"") != true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// number("abc") != true()
+        /// number("abc") != true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2064()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2064(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""abc"") != true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// number("1") >= true()
+        /// number("1") >= true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2065()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2065(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""1"") >= true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// number("abc") >= true()
+        /// number("abc") >= true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2066()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2066(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""abc"") >= true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// number("1") <= true()
+        /// number("1") <= true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2067()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2067(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""1"") <= true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// number("abc") <= true()
+        /// number("abc") <= true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2068()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2068(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""abc"") <= true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// number("1") < true()
+        /// number("1") < true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2069()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2069(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""1"") < true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// number("1") > true()
+        /// number("1") > true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2070()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2070(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(""1"") > true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() = "1"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2071()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2071(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() = ""1""";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() = ""
         /// </summary>
-        [Fact]
-        public static void BooleansTest2072()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2072(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() = """"";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() != "1"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2073()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2073(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() != ""1""";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() != ""
         /// </summary>
-        [Fact]
-        public static void BooleansTest2074()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2074(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() != """"";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() >= "1"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2075()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2075(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() >= ""1""";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() >= ""
         /// </summary>
-        [Fact]
-        public static void BooleansTest2076()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2076(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() >= """"";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() <= "1"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2077()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2077(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() <= ""1""";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() <= ""
         /// </summary>
-        [Fact]
-        public static void BooleansTest2078()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2078(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() <= """"";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() < "1"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2079()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2079(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() < ""1""";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() > "1"
         /// </summary>
-        [Fact]
-        public static void BooleansTest2080()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2080(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"true() > ""1""";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// "1" = true()
+        /// "1" = true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2081()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2081(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""1"" = true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// "" = true()
+        /// "" = true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2082()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2082(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @""""" = true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// "1" != true()
+        /// "1" != true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2083()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2083(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""1"" != true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// "" != true()
+        /// "" != true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2084()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2084(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @""""" != true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// "1" >= true()
+        /// "1" >= true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2085()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2085(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""1"" >= true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// "" >= true()
+        /// "" >= true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2086()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2086(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @""""" >= true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// "1" <= true()
+        /// "1" <= true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2087()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2087(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""1"" <= true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// "" <= true()
+        /// "" <= true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2088()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2088(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @""""" < true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// "1" < true()
+        /// "1" < true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2089()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2089(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""1"" < true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// "1" > true()
+        /// "1" > true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest2090()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2090(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""1"" > true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// 0.09 > 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest2091()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2091(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"0.09 > 0.09";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// 1.09 > 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest2092()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2092(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"1.09 > 0.09";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// 1.09 < 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest2093()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2093(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"1.09 < 0.09";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// 0.09 < 1.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest2094()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2094(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"0.09 < 1.09";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// 0.09 >= 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest2095()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2095(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"0.09 >= 0.09";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// 0.09 <= 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest2096()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2096(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"0.09 <= 0.09";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// 0.09 >= 1.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest2097()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2097(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"0.09 >= 1.09";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// 1.09 <= 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest2098()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2098(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"1.09 <= 0.09";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "0.09" = 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest2099()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest2099(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""0.09"" = 0.09";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "0.20" = 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest20100()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20100(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""0.20"" = 0.09";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "0.09" != 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest20101()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20101(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""0.09"" != 0.09";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "1.09" != 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest20102()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20102(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""1.09"" != 0.09";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "0.09" >= 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest20103()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20103(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""0.09"" >= 0.09";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "0.01" >= 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest20104()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20104(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""0.01"" >= 0.09";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "0.01" <= 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest20105()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20105(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""0.01"" <= 0.09";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "0.11" <= 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest20106()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20106(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""0.11"" <= 0.09";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "0.09" > 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest20107()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20107(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""0.09"" > 0.09";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "0.19" > 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest20108()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20108(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""0.19"" > 0.09";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "0.09" < 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest20109()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20109(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""0.09"" < 0.09";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "0.01" < 0.09
         /// </summary>
-        [Fact]
-        public static void BooleansTest20110()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20110(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"""0.01"" < 0.09";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() = /mydoc/numbers[1]/n[1]
         /// </summary>
-        [Fact]
-        public static void BooleansTest20111()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20111(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"true() = /mydoc/numbers[1]/n[1]";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() = /bookstore/title
         /// </summary>
-        [Fact]
-        public static void BooleansTest20112()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20112(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"true() = /bookstore/title";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// true() > /mydoc/numbers[1]/n[1]
         /// </summary>
-        [Fact]
-        public static void BooleansTest20113()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20113(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"true() > /mydoc/numbers[1]/n[1]";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// /mydoc/numbers[1]/n[1] = true()
+        /// /mydoc/numbers[1]/n[1] = true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest20114()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20114(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"/mydoc/numbers[1]/n[1] = true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
-        /// /bookstore/title = true()
+        /// /bookstore/title = true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest20115()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20115(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/title = true()";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// /mydoc/numbers[1]/n[1] > true
         /// </summary>
-        [Fact]
-        public static void BooleansTest20116()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20116(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"/mydoc/numbers[1]/n[1] > true";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// 1 = /mydoc/numbers[1]/n[1]
         /// </summary>
-        [Fact]
-        public static void BooleansTest20117()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20117(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"1 = /mydoc/numbers[1]/n[1]";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// 1 > /mydoc/numbers[1]/n[1]
         /// </summary>
-        [Fact]
-        public static void BooleansTest20118()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20118(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"1 > /mydoc/numbers[1]/n[1]";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// 1 = /bookstore/book[1]/title
         /// </summary>
-        [Fact]
-        public static void BooleansTest20119()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20119(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"1 = /bookstore/book[1]/title";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// /mydoc/numbers[1]/n[1] = 1
         /// </summary>
-        [Fact]
-        public static void BooleansTest20120()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20120(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"/mydoc/numbers[1]/n[1] = 1";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// /mydoc/numbers[1]/n[1] > 1
         /// </summary>
-        [Fact]
-        public static void BooleansTest20121()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20121(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"/mydoc/numbers[1]/n[1] > 1";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// /bookstore/book[1]/title = 1
         /// </summary>
-        [Fact]
-        public static void BooleansTest20122()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20122(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book[1]/title = 1";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "1" = /bookstore/book[1]/title
         /// </summary>
-        [Fact]
-        public static void BooleansTest20123()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20123(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"""1"" = /bookstore/book[1]/title";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "5" > /mydoc/numbers[1]/n[1]
         /// </summary>
-        [Fact]
-        public static void BooleansTest20124()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20124(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"""5"" > /mydoc/numbers[1]/n[1]";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// "Seven Years in Trenton" = /bookstore/book[1]/title
         /// </summary>
-        [Fact]
-        public static void BooleansTest20125()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20125(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"""Seven Years in Trenton"" = /bookstore/book[1]/title";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// /bookstore/book[1]/title = "1"
         /// </summary>
-        [Fact]
-        public static void BooleansTest20126()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20126(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book[1]/title = ""1""";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// /mydoc/numbers[1]/n[1] < "5"
         /// </summary>
-        [Fact]
-        public static void BooleansTest20127()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20127(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"/mydoc/numbers[1]/n[1] < ""5""";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage
         /// /bookstore/book[1]/title = "Seven Years in Trenton"
         /// </summary>
-        [Fact]
-        public static void BooleansTest20128()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20128(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book[1]/title = ""Seven Years in Trenton""";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// 5 &lt; unknown
         /// </summary>
-        [Fact]
-        public static void BooleansTest20129()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20129(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"5 < unknown";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// true() &gt; unknown
         /// </summary>
-        [Fact]
-        public static void BooleansTest20130()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20130(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"true() > unknown";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// true() &lt; book/price
         /// </summary>
-        [Fact]
-        public static void BooleansTest20131()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20131(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"true() < book/price";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// book &gt; false()
+        /// book &gt; false(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest20132()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20132(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book > false()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// book/price &gt; magazine/price
         /// </summary>
-        [Fact]
-        public static void BooleansTest20133()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20133(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book/price > magazine/price";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// book/price &lt; magazine/price
         /// </summary>
-        [Fact]
-        public static void BooleansTest20134()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20134(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book/price < magazine/price";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// "1" &gt; false()
+        /// "1" &gt; false(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void BooleansTest20135()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20135(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"""1"" > false()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// nodeset is first converted to boolean(true) and then number (1)
         /// true() &gt; book
         /// </summary>
-        [Fact]
-        public static void BooleansTest20136()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20136(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"true() > book";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// true() and(true()) or(true() and (false() or true()))
         /// </summary>
-        [Fact]
-        public static void BooleansTest20137()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20137(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"true() and(true()) or(true() and (false() or true()))";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Test for the scanner. It has different code path for digits of the form .xxx and x.xxx
         /// ".09" < .09
         /// </summary>
-        [Fact]
-        public static void BooleansTest20138()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void BooleansTest20138(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @""".09"" < .09";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
     }
 }
index 080038f..4cda4a5 100644 (file)
@@ -1,11 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Expressions.NodeSets
 {
@@ -18,105 +15,126 @@ namespace XPathTests.FunctionalTests.Expressions.NodeSets
         /// Expected: True (based on context node).
         /// paraA | paraB (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest191()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest191(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Title";
             var testExpression = @"Title | Chap";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).  Fix test code to move to testexpr node, thus expected=true.
         /// paraA | paraB (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest192()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest192(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
             var testExpression = @"Title | Chap";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// paraA//paraB (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest193()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest193(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para";
             var testExpression = @"Chap//Para";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// //paraA//paraB (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest194()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest194(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para";
             var testExpression = @"//Chap//Para";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// paraA/paraB (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest195()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest195(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para";
             var testExpression = @"Chap/Para";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).
         /// paraA/paraB (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest196()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest196(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para";
             var testExpression = @"Doc/Para";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all bar element nodes with para/bar children.
         /// para/bar[para/bar] (Use location path as expression against context)
         /// </summary>
-        [Fact]
-        public static void MatchesTest197()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest197(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para";
             var testExpression = @"Chap/Para[Para/Origin]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
     }
 }
index a6300d8..5346105 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Expressions
 {
@@ -18,8 +16,11 @@ namespace XPathTests.FunctionalTests.Expressions
         /// Expected: Selects all paraA and paraB element children of the context node.
         /// child::paraA | child::paraB
         /// </summary>
-        [Fact]
-        public static void NodeSetsTest181()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetsTest181(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -54,15 +55,18 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "\n   XPath test\n   Direct content\n "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all paraA, paraB and paraC element children of the context node.
         /// child::paraA | child::paraB | child::paraC
         /// </summary>
-        [Fact]
-        public static void NodeSetsTest182()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetsTest182(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -106,15 +110,18 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "\n   XPath test\n   Direct content\n "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all para element children and the parent of the context node.
         /// self::para | child::para
         /// </summary>
-        [Fact]
-        public static void NodeSetsTest183()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetsTest183(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -150,15 +157,18 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "\n   XPath test\n   Direct content\n "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all paraB element descendants of the paraA element children of the context node.
         /// paraA//paraB
         /// </summary>
-        [Fact]
-        public static void NodeSetsTest184()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetsTest184(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -192,15 +202,18 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "Second paragraph "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all paraB element descendants of the paraA element children in the document.
         /// //paraA//paraB
         /// </summary>
-        [Fact]
-        public static void NodeSetsTest185()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetsTest185(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -234,15 +247,18 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "Second paragraph "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all paraB element nodes with paraA parents that are children of the context node.
         /// paraA/paraB
         /// </summary>
-        [Fact]
-        public static void NodeSetsTest186()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetsTest186(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -267,15 +283,18 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "Second paragraph "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all paraB element nodes with paraA parents that are children of the document root.
         /// /paraA/paraB
         /// </summary>
-        [Fact]
-        public static void NodeSetsTest187()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetsTest187(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -301,15 +320,18 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "\n   XPath test\n   Direct content\n "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all bar element nodes with para/bar children.
         /// para/bar[para/bar] (Use location path as expression against context)
         /// </summary>
-        [Fact]
-        public static void NodeSetsTest188()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetsTest188(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -325,7 +347,7 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "First paragraph  Nested  Paragraph  End of first paragraph "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
     }
 }
index 1a934f2..6d652f9 100644 (file)
@@ -1,11 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Expressions
 {
@@ -18,405 +15,492 @@ namespace XPathTests.FunctionalTests.Expressions
         /// Verify result.
         /// 1 + 1 = 2
         /// </summary>
-        [Fact]
-        public static void NumbersTest211()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest211(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"1 + 1";
             var expected = 2d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 0.5 + 0.5 = 1.0
         /// </summary>
-        [Fact]
-        public static void NumbersTest212()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest212(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"0.5 + 0.5";
             var expected = 1.0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 1 + child::para[1]
         /// </summary>
-        [Fact]
-        public static void NumbersTest213()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest213(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"1 + child::Para[1]";
             var expected = 11d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::para[1] + 1
         /// </summary>
-        [Fact]
-        public static void NumbersTest214()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest214(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"child::Para[1] + 1";
             var expected = 11d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// 2 - 1 = 1
         /// </summary>
-        [Fact]
-        public static void NumbersTest215()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest215(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"2 - 1";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 1.5 - 0.5 = 1.0
         /// </summary>
-        [Fact]
-        public static void NumbersTest216()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest216(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"1.5 - 0.5";
             var expected = 1.0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 5 mod 2 = 1
         /// </summary>
-        [Fact]
-        public static void NumbersTest217()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest217(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"5 mod 2";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 5 mod -2 = 1
         /// </summary>
-        [Fact]
-        public static void NumbersTest218()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest218(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"5 mod -2";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// -5 mod 2 = -1
         /// </summary>
-        [Fact]
-        public static void NumbersTest219()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest219(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"-5 mod 2";
             var expected = -1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// -5 mod -2 = -1
         /// </summary>
-        [Fact]
-        public static void NumbersTest2110()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2110(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"-5 mod -2";
             var expected = -1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 50 div 10 = 5
         /// </summary>
-        [Fact]
-        public static void NumbersTest2111()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2111(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"50 div 10";
             var expected = 5d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 2.5 div 0.5 = 5.0
         /// </summary>
-        [Fact]
-        public static void NumbersTest2112()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2112(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"2.5 div 0.5";
             var expected = 5.0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 50 div child::para[1]
         /// </summary>
-        [Fact]
-        public static void NumbersTest2113()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2113(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"50 div child::Para[1]";
             var expected = 5d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// child::para[1] div 2
         /// </summary>
-        [Fact]
-        public static void NumbersTest2114()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2114(Utils.NavigatorKind kind)
         {
             var xml = "xp004.xml";
             var startingNodePath = "/Doc/Test2";
             var testExpression = @"child::Para[1] div 2";
             var expected = 5d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify result.
         /// 2 * 1 = 2
         /// </summary>
-        [Fact]
-        public static void NumbersTest2115()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2115(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"2 * 1";
             var expected = 2d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Verify result.
         /// 2.5 * 0.5 = 1.25
         /// </summary>
-        [Fact]
-        public static void NumbersTest2116()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2116(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"2.5 * 0.5";
             var expected = 1.25d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// if any of the operands is NaN result should be NaN
         /// NaN mod 1
         /// </summary>
-        [Fact]
-        public static void NumbersTest2117()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2117(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(0 div 0) mod 1";
             var expected = double.NaN;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected NaN
         /// 1 mod NaN
         /// </summary>
-        [Fact]
-        public static void NumbersTest2118()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2118(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"1 mod number(0 div 0)";
             var expected = double.NaN;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// NaN expected
         /// Infinity mod 1
         /// </summary>
-        [Fact]
-        public static void NumbersTest2119()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2119(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(1 div 0) mod 1";
             var expected = double.NaN;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// NaN expected
         /// Infinity mod 0
         /// </summary>
-        [Fact]
-        public static void NumbersTest2120()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2120(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"number(1 div 0) mod 0";
             var expected = double.NaN;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// NaN expected
         /// 1 mod 0
         /// </summary>
-        [Fact]
-        public static void NumbersTest2121()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2121(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"1 mod 0";
             var expected = double.NaN;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// 1 mod Infinity = 1
         /// </summary>
-        [Fact]
-        public static void NumbersTest2122()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2122(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"1 mod number(1 div 0)";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// -1 mod Infinity = -1
         /// </summary>
-        [Fact]
-        public static void NumbersTest2123()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2123(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"-1 mod number(1 div 0)";
             var expected = -1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// 1 mod -Infinity =1
         /// </summary>
-        [Fact]
-        public static void NumbersTest2124()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2124(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"1 mod number(-1 div 0)";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// 0 mod 5 = 0
         /// </summary>
-        [Fact]
-        public static void NumbersTest2125()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2125(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"0 mod 5";
             var expected = 0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// 5.2345 mod 3.0 = 2.2344999999999997
         /// </summary>
-        [Fact]
-        public static void NumbersTest2126()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2126(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"5.2345 mod 3.0";
             var expected = 2.2344999999999997d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Test for the scanner. It has different code path for digits of the form .xxx and x.xxx
         /// .5 + .5 = 1.0
         /// </summary>
-        [Fact]
-        public static void NumbersTest2127()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2127(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @".5 + .5";
             var expected = 1.0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Test for the scanner. It has different code path for digits of the form .xxx and x.xxx
         /// .0 + .0 = 0.0
         /// </summary>
-        [Fact]
-        public static void NumbersTest2128()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2128(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @".0 + .0";
             var expected = 0.0d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Test for the scanner. It has different code path for digits of the form .xxx and x.xxx
         /// .0 + .0 = 0.0
         /// </summary>
-        [Fact]
-        public static void NumbersTest2129()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NumbersTest2129(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @".0 + .0=.0";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
     }
 }
index 972aa45..74cb4e7 100644 (file)
@@ -1,11 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Expressions
 {
@@ -18,8 +17,11 @@ namespace XPathTests.FunctionalTests.Expressions
         /// Select node with qname
         /// //NSbook:book
         /// </summary>
-        [Fact]
-        public static void SetContextFunctionalTestsTest431()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void SetContextFunctionalTestsTest431(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//NSbook:book[1]";
@@ -40,15 +42,18 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "\n\t\t\tA Brief History Of Time\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Prefix is not defined, should throw an error
         /// //NSbook:book
         /// </summary>
-        [Fact]
-        public static void SetContextFunctionalTestsTest432()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void SetContextFunctionalTestsTest432(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//NSbook:book[1]";
@@ -69,15 +74,18 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "\n\t\t\tA Brief History Of Time\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// use of multiple namespaces
         /// /doc/prefix1:elem/prefix2:elem
         /// </summary>
-        [Fact]
-        public static void SetContextFunctionalTestsTest433()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void SetContextFunctionalTestsTest433(Utils.NavigatorKind kind)
         {
             var xml = "name4.xml";
             var testExpression = @"/doc/prefix1:elem/prefix2:elem";
@@ -97,15 +105,18 @@ namespace XPathTests.FunctionalTests.Expressions
                     Prefix = "prefix2"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Prefix points to a namespace that is not defined in the document, should return empty nodeset.
         /// //NSbook:book
         /// </summary>
-        [Fact]
-        public static void SetContextFunctionalTestsTest434()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void SetContextFunctionalTestsTest434(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//NSbook:book[1]";
@@ -113,15 +124,18 @@ namespace XPathTests.FunctionalTests.Expressions
 
             namespaceManager.AddNamespace("NSbook", "http://notbook.htm");
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// The document's default namespace is defined with a prefix in the XmlNamespaceManager, XPath should find the nodes with the default namespace in the document.
         /// //foo:book[1]
         /// </summary>
-        [Fact]
-        public static void SetContextFunctionalTestsTest435()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void SetContextFunctionalTestsTest435(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"//foo:book[1]";
@@ -141,7 +155,7 @@ namespace XPathTests.FunctionalTests.Expressions
                     Value = "\n\t\t\tNewton's Time Machine\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
     }
 }
index 6b48954..b99b964 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
 {
@@ -18,8 +16,11 @@ namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
         /// Match node with qname
         /// //NSbook:book
         /// </summary>
-        [Fact]
-        public static void MatchesTest441()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest441(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection/NSbook:book[1]";
@@ -29,7 +30,7 @@ namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
             namespaceManager.AddNamespace("NSbook", "http://book.htm");
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -37,21 +38,27 @@ namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
         /// Prefix is not defined, should throw an error
         /// //NSbook:book
         /// </summary>
-        [Fact]
-        public static void MatchesTest442()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest442(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//NSbook:book[1]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// use of multiple namespaces
         /// /doc/prefix1:elem/prefix2:elem
         /// </summary>
-        [Fact]
-        public static void MatchesTest443()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest443(Utils.NavigatorKind kind)
         {
             var xml = "name4.xml";
             var startingNodePath = "/doc/*[2]/*[1]";
@@ -62,7 +69,7 @@ namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
             namespaceManager.AddNamespace("prefix2", "http://prefix2.htm");
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -70,8 +77,11 @@ namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
         /// Prefix points to a namespace that is not defined in the document, should not match
         /// //NSbook:book
         /// </summary>
-        [Fact]
-        public static void MatchesTest444()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest444(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection/*[1]";
@@ -81,7 +91,7 @@ namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
             namespaceManager.AddNamespace("NSbook", "http://notbook.htm");
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -89,8 +99,11 @@ namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
         /// Uses default namespace in the XmlNamespaceManager. The document has the namespace defined with a prefix. XPath should not match this node since it is not in null namespace.
         /// (//book)[1]
         /// </summary>
-        [Fact]
-        public static void MatchesTest445()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest445(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection/*[1]";
@@ -99,7 +112,7 @@ namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
 
             namespaceManager.AddNamespace("", "http://book.htm");
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 namespaceManager: namespaceManager, startingNodePath: startingNodePath);
         }
 
@@ -107,8 +120,11 @@ namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
         /// The document's default namespace is also the default namespace in the XmlNamespaceManager, XPath should not be able to match the default namespaces, since it will be treated as null namespace.
         /// //book[1]
         /// </summary>
-        [Fact]
-        public static void MatchesTest446()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest446(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/*[1]/*[1]/*[3]";
@@ -118,7 +134,7 @@ namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
             namespaceManager.AddNamespace("", "http://default.htm");
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -126,8 +142,11 @@ namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
         /// The document's default namespace is defined with a prefix in the XmlNamespaceManager, XPath should find the nodes with the default namespace in the document.
         /// //foo:book[1]
         /// </summary>
-        [Fact]
-        public static void MatchesTest447()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest447(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/*[1]/*[1]/*[3]";
@@ -137,7 +156,7 @@ namespace XPathTests.FunctionalTests.Expressions.SetContextFunctionalTests
             namespaceManager.AddNamespace("foo", "http://default.htm");
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
     }
index 2f8531d..b376e7b 100644 (file)
@@ -1,11 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths.AbbreviatedSyntax
 {
@@ -18,119 +15,143 @@ namespace XPathTests.FunctionalTests.Location.Paths.AbbreviatedSyntax
         /// Expected: True (based on context node).
         /// @* (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest131()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest131(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr1";
             var testExpression = @"@*";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).  Fix test code to move to testexpr node, thus expected=true.
         /// @* (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest132()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest132(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title";
             var testExpression = @"@*";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// @attr (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest133()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest133(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr1";
             var testExpression = @"@Attr1";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).  Fix test code to move to testexpr node, thus expected=true.
         /// @attr (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest134()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest134(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title";
             var testExpression = @"@Attr1";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// para[@attr="attrval"] (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest135()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest135(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title";
             var testExpression = @"Title[@Attr1=""value1""]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// para[@attr="attrval"] (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest136()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest136(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title";
             var testExpression = @"Title[@Attr1=""value2""]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// //title
         /// </summary>
-        [Fact]
-        public static void MatchesTest137()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest137(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/title";
             var testExpression = @"//title";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Error, .. is not a valid pattern
         /// /bookstore/..//title
         /// </summary>
-        [Fact]
-        public static void MatchesTest138()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest138(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/title";
             var testExpression = @"/bookstore/..//title";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -138,43 +159,52 @@ namespace XPathTests.FunctionalTests.Location.Paths.AbbreviatedSyntax
         /// Expected: Error, . is not a valid pattern
         /// /bookstore/book/./title
         /// </summary>
-        [Fact]
-        public static void MatchesTest139()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest139(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/title";
             var testExpression = @"/bookstore/book/./title";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// @frequency[.="monthly"]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1310()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1310(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[1]/@*[2]";
             var testExpression = @"@frequency[.=""monthly""]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// @frequency[../@frequency]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1311()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1311(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[1]/@*[2]";
             var testExpression = @"@frequency[../@frequency]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
     }
 }
index 952dda7..9ca3eee 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths
 {
@@ -18,8 +16,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Find all title elements.
         /// bookstore//title
         /// </summary>
-        [Fact]
-        public static void AbbreviatedSyntaxTest121()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AbbreviatedSyntaxTest121(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"bookstore//title";
@@ -133,15 +134,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Trenton Today, Trenton Tomorrow"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Return all title children.
         /// //child::title
         /// </summary>
-        [Fact]
-        public static void AbbreviatedSyntaxTest122()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AbbreviatedSyntaxTest122(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//child::title/text()";
@@ -194,15 +198,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Trenton Today, Trenton Tomorrow"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Return all titles.
         /// bookstore//title
         /// </summary>
-        [Fact]
-        public static void AbbreviatedSyntaxTest123()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AbbreviatedSyntaxTest123(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"bookstore//title";
@@ -316,28 +323,34 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Trenton Today, Trenton Tomorrow"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Return all magazine elements
         /// book/./magazine
         /// </summary>
-        [Fact]
-        public static void AbbreviatedSyntaxTest124()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AbbreviatedSyntaxTest124(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"book/./magazine";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Error Case
         /// node()/.
         /// </summary>
-        [Fact]
-        public static void AbbreviatedSyntaxTest126()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AbbreviatedSyntaxTest126(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"node()/.";
@@ -360,15 +373,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Return all children of the root node.
         /// /*
         /// </summary>
-        [Fact]
-        public static void AbbreviatedSyntaxTest127()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AbbreviatedSyntaxTest127(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/child::*[1]";
@@ -386,15 +402,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return last child elements text node . ""Where in the world is Trenton?""
-        /// (//*)[last()]/text()
+        /// (//*)[last()]/text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AbbreviatedSyntaxTest129()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AbbreviatedSyntaxTest129(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(//*)[last()]/text()";
@@ -406,15 +425,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Where in the world is Trenton?"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Should only return last elements of each level (T and D).
         /// Query "//*[last()]
         /// </summary>
-        [Fact]
-        public static void AbbreviatedSyntaxTest1210()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AbbreviatedSyntaxTest1210(Utils.NavigatorKind kind)
         {
             var xml = "91893.xml";
             var testExpression = @"//*[last()]";
@@ -437,15 +459,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     HasNameTable = true
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression for 62969
         /// //*[position()!=last()]
         /// </summary>
-        [Fact]
-        public static void AbbreviatedSyntaxTest1211()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AbbreviatedSyntaxTest1211(Utils.NavigatorKind kind)
         {
             var xml = "91893.xml";
             var testExpression = @"//*[position()!=last()]";
@@ -478,28 +503,34 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     HasNameTable = true
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression for 62969
         /// //*[not(last())]
         /// </summary>
-        [Fact]
-        public static void AbbreviatedSyntaxTest1212()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AbbreviatedSyntaxTest1212(Utils.NavigatorKind kind)
         {
             var xml = "91893.xml";
             var testExpression = @"//*[not( last())]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression for 62969
         /// //*[1]
         /// </summary>
-        [Fact]
-        public static void AbbreviatedSyntaxTest1213()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AbbreviatedSyntaxTest1213(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//*[1]";
@@ -848,7 +879,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Where in the world is Trenton?"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
     }
 }
index 8d4b3db..2211e0f 100644 (file)
@@ -1,11 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths
 {
@@ -16,10 +15,13 @@ namespace XPathTests.FunctionalTests.Location.Paths
     {
         /// <summary>
         /// Combines ancestor-or-self axis with child axis
-        /// ancestor-or-self::*/child::text()
+        /// ancestor-or-self::*/child::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest21()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest21(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
@@ -67,15 +69,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor-or-self axis with ancestor axis
         /// ancestor-or-self::articles/ancestor::magazine
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest22()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest22(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine/articles/*";
@@ -94,16 +99,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor-or-self axis with descendant axis
-        /// ancestor-or-self::*/descendant::node()
+        /// ancestor-or-self::*/descendant::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest23()
+        public static void AxesCombinationsTest23(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
@@ -1538,16 +1546,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor-or-self axis with descendant-or-self axis
-        /// ancestor-or-self::node()/descendant-or-self::node()
+        /// ancestor-or-self::node()/descendant-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest24()
+        public static void AxesCombinationsTest24(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details/text()";
@@ -3006,15 +3017,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor-or-self axis with following axis
         /// ancestor-or-self::node()/following::book | ancestor-or-self::node()/following::magazine
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest25()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest25(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine/articles/story1/details";
@@ -3096,15 +3110,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor-or-self axis with following-sibling axis
         /// ancestor-or-self::magazine/following-sibling::magazine | ancestor-or-self::magazine/following-sibling::book
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest26()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest26(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine/articles/story1/details";
@@ -3186,15 +3203,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor-or-self axis with preceding axis
         /// ancestor-or-self::magazine/preceding::book | ancestor-or-self::magazine/following::book | ancestor-or-self::magazine/child::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest27()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest27(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine/articles";
@@ -3317,15 +3337,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor-or-self axis with preceding-sibling axis
-        /// ancestor-or-self::*/preceding-sibling::node()
+        /// ancestor-or-self::*/preceding-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest28()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest28(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -3467,15 +3490,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor-or-self axis with preceding-sibling axis
         /// ancestor-or-self::*/preceding-sibling::node()[position()=0]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest29()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest29(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -3483,15 +3509,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor-or-self axis with preceding-sibling axis.
         /// ancestor-or-self::*/preceding-sibling::node()[position()=1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest210()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest210(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -3505,15 +3534,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Should select the root node
         /// ancestor-or-self::*/ancestor::node()[last()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest211()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest211(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -3528,15 +3560,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Should select the root node
         /// ancestor-or-self::*/node()[not self::*]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest212()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest212(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -3566,15 +3601,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor-or-self with namespace axis
         /// NS41: ancestor-or-self::*/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest213()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest213(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/default:store/default:booksection/NSbook:book[1]/NSbook:title";
@@ -3666,7 +3704,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -3674,8 +3712,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Complex expr
         /// (ancestor-or-self::* | self::node())
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest214()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest214(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine//text()";
@@ -3705,15 +3746,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor-or-self with self. Should select only elements
         /// ancestor-or-self::node()/self::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest215()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest215(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/*//node()";
@@ -3743,15 +3787,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combine ancestor-or-self with attribute
         /// (ancestor-or-self::node()/attribute::*)[position() =1 or position()=3]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest216()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest216(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -3775,15 +3822,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor-or-self with parent axis
         /// ancestor-or-self::*/parent::node()[not self::*]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest217()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest217(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -3798,15 +3848,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child axis with ancestor axis
         /// child::degree/ancestor::node()[child::degree[@from]]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest218()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest218(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3833,15 +3886,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child axis with ancestor-or-self axis
-        /// child::text()/ancestor-or-self::node()
+        /// child::text()/ancestor-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest219()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest219(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/author/award";
@@ -3902,15 +3958,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child axis with child axis
         /// (child::book | child::magazine)/child::excerpt[child::p[child::emph]]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest220()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest220(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3928,15 +3987,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child axis with descendant axis
         /// child::degree/descendant::node()[name()='emph']
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest221()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest221(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3953,15 +4015,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child axis with descendant-or-self axis
         /// child::author/descendant-or-self::*[name()!='author']
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest222()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest222(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
@@ -4007,15 +4072,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child axis with following axis
         /// child::degree/following::node()[self::text()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest223()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest223(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -4123,15 +4191,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child axis with following-sibling axis
         /// child::node()/following-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest224()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest224(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/author";
@@ -4177,15 +4248,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child axis with preceding axis
         /// child::node()/preceding::node()[preceding-sibling::book and following-sibling::magazine]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest225()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest225(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -4310,15 +4384,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child axis with preceding-sibling axis
         /// child::price/preceding-sibling::first-name [following::last-name]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest226()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest226(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -4398,15 +4475,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child axis with self axis
         /// child::node()/self::node[self::text()[self::text()[self::text()]]]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest227()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest227(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/author/last-name";
@@ -4415,15 +4495,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Text, HasNameTable = true, Value = "Bob"});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child axis with parent axis
         /// child::story1()/parent::* [following::book and preceding-sibling::publisher or @abc]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest228()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest228(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine/articles";
@@ -4441,15 +4524,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child axis with attribute axis
         /// child::node()/attribute::from [following::magazine]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest229()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest229(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -4465,15 +4551,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines child with namespace axis
         /// NS42: child::NSmovie:movie/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest230()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest230(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/default:store/default:moviesection";
@@ -4507,7 +4596,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -4515,8 +4604,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Combines descendant axis with ancestor axis
         /// descendant::node()/ancestor::node[self::book or self::magazine and self::* and self::node()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest231()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest231(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -4662,16 +4754,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant axis with ancestor-or-self axis
         /// descendant::text()/ancestor-or-self::node() [following::text()]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest232()
+        public static void AxesCombinationsTest232(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -6078,16 +6173,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant axis with ancestor-or-self axis
         /// descendant::node()/ancestor-or-self::node() [following::text() or following::text()]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest233()
+        public static void AxesCombinationsTest233(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -7521,15 +7619,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant axis with child axis
         /// book/descendant::author/child::degree[@from="Harvard"][child::text()[string()="Ph.D."]]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest234()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest234(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -7558,15 +7659,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant axis with descendant axis
         /// descendant::*/descendant::node() [child::text()][following::book]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest235()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest235(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -8244,15 +8348,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant axis with descendant-or-self axis
         /// descendant::magazine[@frequency="monthly"]/descendant-or-self::*[descendant-or-self::*/child::text()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest236()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest236(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -8374,15 +8481,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant axis with following axis
         /// */descendant::*/following::my:magazine
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest237()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest237(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -8405,7 +8515,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -8413,8 +8523,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Combines descendant axis with following-sibling axis
         /// descendant::*/following-sibling::my:*[preceding::my:* and following-sibling::my:*]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest238()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest238(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -8461,16 +8574,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant axis with preceding axis
-        /// book/descendant::award/preceding::text()
+        /// book/descendant::award/preceding::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest239()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest239(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -8761,16 +8877,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant axis with preceding-sibling axis
         /// book/descendant::award/preceding-sibling::node()[following-sibling::* = preceding-sibling::*]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest240()
+        public static void AxesCombinationsTest240(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -8779,15 +8898,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant axis only
         /// descendant::node()[preceding-sibling::* = following-sibling::*]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest241()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest241(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -8795,15 +8917,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant axis with self axis
         /// node()/descendant::node()/self::node [self::text() = false() and self::attribute=false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest242()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest242(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -9896,30 +10021,36 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// I accidentally put fasle() instead of false(), so I should get an exception!
         /// Copy of node()/descendant::node()/self::node [self::text() = false() and self::attribute=fasle()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest243()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest243(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"descendant::node()/self::node() [self::text() = false() and self::attribute=fasle()]";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant axis with attribute axis
-        /// descendant::node()/attribute::node()
+        /// descendant::node()/attribute::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest244()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest244(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -10287,15 +10418,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant axis with attribute axis
-        /// descendant::node()/attribute::text()
+        /// descendant::node()/attribute::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest245()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest245(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -10303,15 +10437,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant axis with parent axis
         /// descendant::node()/parent::magazine[parent::bookstore[parent::node()]]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest246()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest246(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -10380,15 +10517,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following-sibling axis with ancestor axis
-        /// */*/following-sibling::node()/ancestor::node()
+        /// */*/following-sibling::node()/ancestor::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest247()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest247(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -10599,16 +10739,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following-sibling axis with ancestor-or-self axis
         /// node()/node()/following-sibling::node()/ancestor-or-self::node()[preceding::node() and following::node() and self::node() and preceding-sibling::node() and following-sibling::node()]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest248()
+        public static void AxesCombinationsTest248(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -11254,15 +11397,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following-sibling axis with child axis
         /// following-sibling::magazine/child::node[self::*]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest249()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest249(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
@@ -11417,15 +11563,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following-sibling axis with descendant axis
         /// following-sibling::*/descendant::node [parent::book or parent::my:*]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest250()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest250(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine";
@@ -11671,7 +11820,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -11679,8 +11828,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Combines following-sibling axis with descendant-or-self axis
         /// magazine/following-sibling::*[local-name()="magazine"]/descendant-or-self::node[local-name()="title" or local-name()=""]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest251()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest251(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -11815,15 +11967,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following-sibling axis with following axis
-        /// book/following-sibling::node()[self::text()=false()]/following::node()
+        /// book/following-sibling::node()[self::text()=false()]/following::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest252()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest252(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -13038,15 +13193,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following-sibling axis with following-sibling axis
-        /// */following-sibling::node()/following-sibling::node()
+        /// */following-sibling::node()/following-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest253()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest253(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -13244,15 +13402,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following-sibling axis with preceding-sibling axis. Expected empty node-set
         /// */following-sibling::node()/preceding-sibling::node()[self::*=false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest254()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest254(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -13277,15 +13438,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following-sibling axis with ancestor axis
-        /// */following-sibling::my:*/self::node()
+        /// */following-sibling::my:*/self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest255()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest255(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -13344,7 +13508,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -13352,8 +13516,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Combines following-sibling axis with attribute axis
         /// */following-sibling::node()/attribute::*[string()="monthly"]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest256()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest256(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -13401,15 +13568,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following-sibling axis with parent axis
-        /// */following-sibling::node()/parent::node()
+        /// */following-sibling::node()/parent::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest257()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest257(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -13428,15 +13598,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following-sibling axis with parent axis
         /// NS43: following-sibling::node()/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest258()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest258(Utils.NavigatorKind kind)
         {
             var xml = "namespaces.xml";
             var startingNodePath = "/default:companies/company[1]";
@@ -13463,7 +13636,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -13471,8 +13644,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Combines descendant-or-self axis with ancestor axis
         /// descendant-or-self::node()/ancestor::node[self::book or self::magazine and self::* and self::node()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest259()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest259(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -13618,15 +13794,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with ancestor-or-self axis
         /// descendant-or-self::*/ancestor-or-self::*[3]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest260()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest260(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -13802,15 +13981,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with child axis
-        /// descendant-or-self::*/child::text() | descendant-or-self::*/child::processing-instruction() | descendant-or-self::comment()
+        /// descendant-or-self::*/child::text() | descendant-or-self::*/child::processing-instruction() | descendant-or-self::comment(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest261()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest261(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -14161,16 +14343,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with child axis
         /// descendant-or-self::*/child::text() | descendant-or-self::*/child::processing-instruction() | descendant-or-self::comment()|descendant-or-self::*/attribute::*
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest262()
+        public static void AxesCombinationsTest262(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -14889,15 +15074,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with descendant axis
-        /// descendant-or-self::node()/descendant::node()
+        /// descendant-or-self::node()/descendant::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest263()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest263(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -16332,16 +16520,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with descendant-or-self axis
         /// descendant-or-self::node()[position()!=5]/descendant-or-self::node()[@attribute::*]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest264()
+        public static void AxesCombinationsTest264(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -16652,16 +16843,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with following axis
         /// descendant-or-self::*/following::node()[position()!=7 and descendant-or-self::*]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest265()
+        public static void AxesCombinationsTest265(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -17734,16 +17928,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with following-sibling axis
         /// descendant-or-self::node()/following-sibling::node()[name()='publication']
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest266()
+        public static void AxesCombinationsTest266(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -17805,15 +18002,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with preceding axis
-        /// descendant-or-self::node()[position()>=3 and position()<=15]/preceding::node()
+        /// descendant-or-self::node()[position()>=3 and position()<=15]/preceding::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest267()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest267(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -17867,16 +18067,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Text, HasNameTable = true, Value = "Bob"});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with preceding-sibling axis
-        /// descendant-or-self::*[self::node]/preceding-sibling::node()
+        /// descendant-or-self::*[self::node]/preceding-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest268()
+        public static void AxesCombinationsTest268(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -18784,15 +18987,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with self axis
-        /// descendant-or-self::node()/self::attribute | descendant-or-self::processing-instruction()/self::comment() | //self::text()
+        /// descendant-or-self::node()/self::attribute | descendant-or-self::processing-instruction()/self::comment() | //self::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest269()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest269(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -19143,15 +19349,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with attribute axis
         /// descendant-or-self::*/attribute::* [. = 'monthly' or string-length()>15]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest270()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest270(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -19199,15 +19408,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with parent axis
-        /// descendant-or-self::node() [self::text() or self::comment() or self::@*]/parent::node()
+        /// descendant-or-self::node() [self::text() or self::comment() or self::@*]/parent::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest271()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest271(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -20285,22 +20497,25 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with parent axis
         /// descendant-or-self::node() [self::text() or self::comment() or self::attribute::*]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest272()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest272(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression =
                 @"descendant-or-self::node() [self::text() or self::comment() or self::attribute::*]/parent::node()";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -20308,8 +20523,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Combines descendant-or-self with namespace axis
         /// NS44: descendant-or-self::*/namespace::*[string()="http://default1.htm"]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest273()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest273(Utils.NavigatorKind kind)
         {
             var xml = "ns_default.xml";
             var testExpression = @"descendant-or-self::*/namespace::*[string()=""http://default1.htm""]";
@@ -20331,15 +20549,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Combines descendant-or-self with namespace axis
         /// NS45: descendant-or-self::default:*/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest274()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest274(Utils.NavigatorKind kind)
         {
             var xml = "ns_default.xml";
             var testExpression = @"descendant-or-self::default:*/namespace::*";
@@ -20377,15 +20598,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with ancestor axis
-        /// preceding-sibling::node()/ancestor::node()
+        /// preceding-sibling::node()/ancestor::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest275()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest275(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -20411,15 +20635,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with ancestor-or-self axis
         /// preceding-sibling::node()/ancestor-or-self::node()[self::* and child::*]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest276()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest276(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -20544,15 +20771,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with child axis
         /// preceding-sibling::*/child::node()[child::node() and child::node()/following-sibling::node()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest277()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest277(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[5]";
@@ -20609,15 +20839,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with descendant axis
         /// preceding-sibling::*[name() = 'magazine or name()='book']/descendant::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest278()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest278(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -21213,15 +21446,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with descendant-or-self axis
         /// preceding-sibling::magazine/descendant-or-self::*[last() or position()!=1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest279()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest279(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -21474,15 +21710,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with following axis
         /// preceding-sibling::*/following::node()[following::text()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest280()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest280(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -22814,15 +23053,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with following-sibling axis
         /// preceding-sibling::*[following-sibling::node()]/following-sibling::node()[following::text()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest281()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest281(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -23021,15 +23263,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with preceding axis
-        /// preceding-sibling::*/preceding::node()
+        /// preceding-sibling::*/preceding::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest282()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest282(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -23820,15 +24065,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with preceding-sibling axis
         /// preceding-sibling::magazine/preceding-sibling::magazine
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest283()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest283(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -23877,15 +24125,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with self axis
         /// preceding-sibling::node()/self::magazine
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest284()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest284(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -23944,15 +24195,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with attribute axis
         /// preceding-sibling::node()/attribute::*[name()='frequency' or name()='title']
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest285()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest285(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -24000,15 +24254,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with parent axis
         /// preceding-sibling::node()/parent::title
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest286()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest286(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -24027,15 +24284,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding-sibling axis with parent axis
         /// NS46: preceding-sibling::node()/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest287()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest287(Utils.NavigatorKind kind)
         {
             var xml = "namespaces.xml";
             var startingNodePath = "/default:companies/company[2]";
@@ -24062,16 +24322,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// ancestor-or-self::*/descendant::node()
+        /// ancestor-or-self::*/descendant::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest288()
+        public static void AxesCombinationsTest288(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
@@ -25506,15 +25769,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// ancestor-or-self::*/descendant-or-self::node()
+        /// ancestor-or-self::*/descendant-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest289()
+        public static void AxesCombinationsTest289(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
@@ -26960,15 +27226,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// ancestor::node()/descendant::node()
+        /// ancestor::node()/descendant::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest290()
+        public static void AxesCombinationsTest290(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
@@ -28420,14 +28689,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// ancestor-or-self::*/following::node()
+        /// ancestor-or-self::*/following::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest291()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest291(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
@@ -29340,14 +29612,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// ancestor-or-self::*/following-sibling::node()
+        /// ancestor-or-self::*/following-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest292()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest292(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
@@ -29512,14 +29787,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor-or-self::*/node()[self::* = false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest293()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest293(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -29549,14 +29827,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*/node()[self::* = false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest294()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest294(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -29582,14 +29863,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent::*/node()[self::* = false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest295()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest295(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -29615,14 +29899,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding::*/node()[self::* = false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest296()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest296(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -29865,14 +30152,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*/descendant::node()[self::* = false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest297()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest297(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -30222,14 +30512,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*//node()[self::* = false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest298()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest298(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -30579,14 +30872,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*/following::node()[self::* = false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest299()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest299(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -30594,14 +30890,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent::*/node()[self::* = false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2100()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2100(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -30627,14 +30926,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding::*/node()[self::* = false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2101()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2101(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -30877,14 +31179,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*/node()[self::* = true()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2102()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2102(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -31077,14 +31382,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding-sibling::*/preceding-sibling::node()[self::* = true()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2103()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2103(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -31198,15 +31506,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding::*/preceding-sibling::node()[self::* = true()]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest2104()
+        public static void AxesCombinationsTest2104(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -31731,14 +32042,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor-or-self::*/parent::node()[ self::* = false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2105()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2105(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -31753,14 +32067,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*/parent::node()[ self::* = false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2106()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2106(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -31775,14 +32092,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*/preceding::node()[ self::* = false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2107()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2107(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -31796,14 +32116,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// ancestor-or-self::node()/child::node()
+        /// ancestor-or-self::node()/child::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2108()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2108(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para/Origin";
@@ -31920,14 +32243,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant::node()/self::node() [self::text() = false() and self::attribute=false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2109()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2109(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -33021,14 +33347,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant::node()/self::text() [self::text() = true() and self::attribute=false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2110()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2110(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -33378,14 +33707,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant::node()/self::* [self::text() = false() and self::attribute=false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2111()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2111(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -34478,14 +34810,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant-or-self::node()/self::node() [self::text() = false() and self::attribute=false()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2112()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2112(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -35590,14 +35925,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant::*/self::node()[self::* and not(self::comment()) or self::text() or self::processing-instruction()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2113()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2113(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -36691,15 +37029,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant-or-self axis with child axis
-        /// descendant-or-self::*/child::text()
+        /// descendant-or-self::*/child::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2114()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2114(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -37049,15 +37390,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines descendant with namespace axis
         /// NS47: descendant::default:*/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2115()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2115(Utils.NavigatorKind kind)
         {
             var xml = "ns_default.xml";
             var testExpression = @"descendant::default:*/namespace::*";
@@ -37095,14 +37439,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
-        /// //text()
+        /// //text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2116()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2116(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -37452,14 +37799,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// descendant-or-self::*/descendant::text()
+        /// descendant-or-self::*/descendant::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2117()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2117(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -37809,14 +38159,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// descendant-or-self::*/descendant-or-self::text()
+        /// descendant-or-self::*/descendant-or-self::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2118()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2118(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -38166,14 +38519,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// elem1/child::text()
+        /// elem1/child::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2119()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2119(Utils.NavigatorKind kind)
         {
             var xml = "xp012.xml";
             var startingNodePath = "/elem";
@@ -38183,14 +38539,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Text, HasNameTable = true, Value = "more text in elem1"});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// elem2/child::text()
+        /// elem2/child::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2120()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2120(Utils.NavigatorKind kind)
         {
             var xml = "xp012.xml";
             var startingNodePath = "/elem";
@@ -38198,14 +38557,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// descendant-or-self::*/child::text()
+        /// descendant-or-self::*/child::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2121()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2121(Utils.NavigatorKind kind)
         {
             var xml = "xp012.xml";
             var startingNodePath = "/elem";
@@ -38220,14 +38582,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// descendant-or-self::elem2/child::text()
+        /// descendant-or-self::elem2/child::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2122()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2122(Utils.NavigatorKind kind)
         {
             var xml = "xp012.xml";
             var startingNodePath = "/elem";
@@ -38237,14 +38602,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Text, HasNameTable = true, Value = "more text in elem2"});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// descendant-or-self::elem1/child::text()
+        /// descendant-or-self::elem1/child::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2123()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2123(Utils.NavigatorKind kind)
         {
             var xml = "xp012.xml";
             var startingNodePath = "/elem";
@@ -38254,14 +38622,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Text, HasNameTable = true, Value = "more text in elem1"});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant-or-self::*|descendant-or-self::*/attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2124()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2124(Utils.NavigatorKind kind)
         {
             var xml = "xp012.xml";
             var startingNodePath = "/elem";
@@ -38305,14 +38676,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant-or-self::*/descendant-or-self::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2125()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2125(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -39416,14 +39790,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// descendant-or-self::node()/descendant-or-self::node()
+        /// descendant-or-self::node()/descendant-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2126()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2126(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -40869,14 +41246,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant-or-self::*/descendant-or-self::*/@*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2127()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2127(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -41252,14 +41632,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant::*/descendant-or-self::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2128()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2128(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -42352,14 +42735,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant::*/descendant::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2129()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2129(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -43267,14 +43653,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant-or-self::*/descendant::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2130()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2130(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -44367,45 +44756,54 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines namespace axis with child axis
-        /// NS48: //namespace::node()/child::node()
+        /// NS48: //namespace::node()/child::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2131()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2131(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//namespace::node()/child::node()";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Combines namespace axis with descendant axis
-        /// NS49: //namespace::node()/descendant::node()
+        /// NS49: //namespace::node()/descendant::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2132()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2132(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//namespace::node()/descendant::node()";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Combines namespace axis with parent axis
-        /// NS51: namespace::NSbook/parent::node()
+        /// NS51: namespace::NSbook/parent::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2134()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2134(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection";
@@ -44423,15 +44821,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines namespace axis with parent axis
-        /// NS52: //namespace::NSbook/parent::node()
+        /// NS52: //namespace::NSbook/parent::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2135()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2135(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//namespace::NSbook/parent::node()";
@@ -44532,15 +44933,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Combines namespace axis with ancestor axis
-        /// NS53: namespace::NSbook/ancestor::node()
+        /// NS53: namespace::NSbook/ancestor::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2136()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2136(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection/pre:book/pre:title";
@@ -44601,16 +45005,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines namespace axis with ancestor-or-self axis
-        /// NS54: namespace::NSbook/ancestor-or-self::node()
+        /// NS54: namespace::NSbook/ancestor-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2137()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2137(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection/pre:book/pre:title";
@@ -44679,16 +45086,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines namespace axis with following-sibling axis
-        /// NS55: namespace::pre2/following-sibling::node()
+        /// NS55: namespace::pre2/following-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2138()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2138(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var startingNodePath = "/document/elem[2]";
@@ -44696,15 +45106,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines namespace axis with preceding-sibling axis
-        /// NS56: namespace::pre3/preceding-sibling::node()
+        /// NS56: namespace::pre3/preceding-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2139()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2139(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var startingNodePath = "/document/elem[2]";
@@ -44712,15 +45125,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines namespace axis with preceding axis
-        /// NS57: namespace::pre3/preceding::node()
+        /// NS57: namespace::pre3/preceding::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2140()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2140(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var startingNodePath = "/document/elem[2]";
@@ -44820,15 +45236,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines namespace axis with following axis
-        /// NS58: namespace::prefix/following::node()
+        /// NS58: namespace::prefix/following::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2141()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2141(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var startingNodePath = "/document/elem[1]";
@@ -44928,60 +45347,72 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines namespace axis with attribute axis
         /// NS59: //namespace::node()//@*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2142()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2142(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var testExpression = @"//namespace::node()//@*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Combines namespace axis with self axis
         /// NS60: //namespace::node()//self::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2143()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2143(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var testExpression = @"//namespace::node()//self::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Combines namespace axis with namespace axis
-        /// NS61: //namespace::node()//namespace::node()
+        /// NS61: //namespace::node()//namespace::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2144()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2144(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var testExpression = @"//namespace::node()//namespace::node()";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Combines namespace axis with following axis
-        /// NS62: namespace::NSbook/following::node()
+        /// NS62: namespace::NSbook/following::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2145()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2145(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//namespace::NSbook/following::node()";
@@ -45205,14 +45636,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Comment, HasNameTable = true, Value = " Comment 6 "});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// NS63: //namespace::NSbook/following::node()
+        /// NS63: //namespace::NSbook/following::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2146()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2146(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//namespace::NSbook/following::node()";
@@ -45436,15 +45870,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Comment, HasNameTable = true, Value = " Comment 6 "});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// From 71209
         /// (bookstore/book | /bookstore)/descendant::title
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2147()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2147(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(bookstore/book | /bookstore)/descendant::title";
@@ -45559,15 +45996,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
         /// (bookstore/book |/bookstore/magazine)/descendant::title/parent::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2148()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2148(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(bookstore/book |/bookstore/magazine)/descendant::title/parent::*";
@@ -45691,29 +46131,35 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
         /// (bookstore/book |/bookstore/magazine | bookstore | bookstore::*[name()!='book' and name()!= 'magazine'])/descendant::title
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2149()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2149(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
                 @"(bookstore/book |/bookstore/magazine | bookstore | bookstore::*[name()!='book' and name()!= 'magazine'])/descendant::title";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Regression case for 71209
         /// Copy of (bookstore/book |/bookstore/magazine | bookstore | bookstore/*[name()!='book' and name()!= 'magazine'])/descendant::title
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2150()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2150(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -45829,15 +46275,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
         /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/descendant-or-self::title
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2151()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2151(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -45953,15 +46402,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
-        /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/ancestor::node()
+        /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/ancestor::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2152()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2152(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -46116,15 +46568,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
         /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/parent::node()[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2153()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2153(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -46279,15 +46734,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
-        /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/following::node()
+        /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/following::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2154()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2154(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -47694,16 +48152,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
-        /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/following-sibling::node()
+        /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/following-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest2155()
+        public static void AxesCombinationsTest2155(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -48195,15 +48656,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
-        /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/preceding::node()
+        /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/preceding::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2156()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2156(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -49319,15 +49783,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
         /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/preceding-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2157()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2157(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -49473,15 +49940,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
         /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/@*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2158()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2158(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/@*";
@@ -49656,15 +50126,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
         /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/self::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2159()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2159(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/self::*";
@@ -49927,15 +50400,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
         /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/descendant::* | ancestor::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2160()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2160(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -51028,15 +51504,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
         /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)[descendant-or-self::title]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2161()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2161(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -51280,15 +51759,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 71209
         /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/node()[ancestor::title | descendant::title]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2162()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2162(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -51472,14 +51954,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// (/bookstore/book[1] | /bookstore/book[1]/author)/child::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2163()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2163(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(/bookstore/book[1] | /bookstore/book[1]/author)/child::*";
@@ -51551,14 +52036,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// (/bookstore/book | /bookstore/magazine[1]/author | bookstore)/child::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2164()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2164(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(/bookstore/book | /bookstore/magazine[1]/author | bookstore)/child::*";
@@ -51956,14 +52444,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// (/bookstore/book | /bookstore/magazine[1]/author | bookstore)/child::*[last()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2165()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2165(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(/bookstore/book | /bookstore/magazine[1]/author | bookstore)/child::*[last()]";
@@ -52047,14 +52538,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// (/bookstore/book | /bookstore/magazine[1]/author | bookstore)/child::*/ancestor::node()[last()]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2166()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2166(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -52069,14 +52563,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// bookstore/book[1]/author[1]/ancestor-or-self::*/following-sibling::*[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2167()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2167(Utils.NavigatorKind kind)
         {
             var xml = "data.xml";
             var testExpression = @"bookstore/book[1]/author[1]/ancestor-or-self::*/following-sibling::*[1]";
@@ -52105,14 +52602,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// ancestor::*/following::*[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2168()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2168(Utils.NavigatorKind kind)
         {
             var xml = "data.xml";
             var startingNodePath = "/bookstore/book[1]/author[1]/first-name";
@@ -52142,14 +52642,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor-or-self::*/following::*[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2169()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2169(Utils.NavigatorKind kind)
         {
             var xml = "data.xml";
             var startingNodePath = "/bookstore/book[1]/author[1]/first-name";
@@ -52189,14 +52692,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*/following-sibling::*[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2170()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2170(Utils.NavigatorKind kind)
         {
             var xml = "data.xml";
             var startingNodePath = "/bookstore/book[1]/author[1]/first-name";
@@ -52226,14 +52732,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor-or-self::*/following-sibling::*[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2171()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2171(Utils.NavigatorKind kind)
         {
             var xml = "data.xml";
             var startingNodePath = "/bookstore/book[1]/author[1]/first-name";
@@ -52273,14 +52782,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*/preceding-sibling::*[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2172()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2172(Utils.NavigatorKind kind)
         {
             var xml = "data.xml";
             var startingNodePath = "/bookstore/book[2]/author[1]/first-name";
@@ -52310,14 +52822,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor-or-self::*/preceding-sibling::*[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2173()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2173(Utils.NavigatorKind kind)
         {
             var xml = "data.xml";
             var startingNodePath = "/bookstore/book[2]/author[1]/first-name";
@@ -52347,14 +52862,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*/preceding::*[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2174()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2174(Utils.NavigatorKind kind)
         {
             var xml = "data.xml";
             var startingNodePath = "/bookstore/book[2]/author[1]/first-name";
@@ -52382,14 +52900,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor-or-self::*/preceding::*[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2175()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2175(Utils.NavigatorKind kind)
         {
             var xml = "data.xml";
             var startingNodePath = "/bookstore/book[2]/author[1]/first-name";
@@ -52417,14 +52938,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// (/comment() | /bookstore/book[2]/author[1]/publication/text())/following-sibling::node()
+        /// (/comment() | /bookstore/book[2]/author[1]/publication/text())/following-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2176()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2176(Utils.NavigatorKind kind)
         {
             var xml = "data1.xml";
             var testExpression =
@@ -52466,14 +52990,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true, XmlLang = "en-usabcd"});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// (/comment() | /bookstore/book[2]/author[1]/publication/text())/following-sibling::node()
+        /// (/comment() | /bookstore/book[2]/author[1]/publication/text())/following-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2177()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2177(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -52522,29 +53049,35 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// NS64: /namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2178()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2178(Utils.NavigatorKind kind)
         {
             var xml = "namespaces.xml";
             var testExpression = @"/namespace::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 72027
-        /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/following::node()
+        /// (bookstore/book |/bookstore/magazine | bookstore | bookstore//*//title)/following::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2179()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2179(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -53951,14 +54484,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// ancestor::*/following-sibling::*[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2180()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2180(Utils.NavigatorKind kind)
         {
             var xml = "data.xml";
             var startingNodePath = "/bookstore/book[1]/author[1]/first-name";
@@ -53988,14 +54524,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// NSXX: namespace::*/following-sibling::node()
+        /// NSXX: namespace::*/following-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2181()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2181(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var startingNodePath = "/document/elem[2]";
@@ -54003,14 +54542,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// NSXX: namespace::*/following::node()
+        /// NSXX: namespace::*/following::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2182()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2182(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var startingNodePath = "/document/elem[2]";
@@ -54019,14 +54561,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// NSXX: //namespace::*[local-name()=""]/preceding::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2183()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2183(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"//namespace::*[local-name()=""""]/preceding::*";
@@ -54155,14 +54700,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// NSXX: //namespace::NSbook
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2184()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2184(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"//namespace::NSbook";
@@ -54241,14 +54789,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// NSXX: //namespace::NSmovie [parent::* [name()='NSmovie:movie']]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2185()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2185(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"//namespace::NSmovie [parent::* [name()='NSmovie:movie']]";
@@ -54274,30 +54825,36 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Regression case for 60400
         /// //@*/*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2186()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2186(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//@*/*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 60400
         /// //@*/parent::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2187()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2187(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//@*/parent::*";
@@ -54607,15 +55164,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 60400
         /// //@*/following::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2188()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2188(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//@*/following::*";
@@ -55707,15 +56267,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 60400
         /// //@*/preceding::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2189()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2189(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//@*/preceding::*";
@@ -56784,75 +57347,90 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 60400
         /// //@*/preceding-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2190()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2190(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//@*/preceding-sibling::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 60400
         /// //@*/following-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2191()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2191(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//@*/following-sibling::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 60400
         /// //@*/descendant::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2192()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2192(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//@*/descendant::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 60400
         /// //@*/descendant-or-self::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2193()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2193(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//@*/descendant-or-self::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 60400
         /// //@*/ancestor::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2194()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2194(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//@*/ancestor::*";
@@ -57201,15 +57779,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 60400
         /// //@*/ancestor-or-self::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2195()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2195(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//@*/ancestor-or-self::*";
@@ -57558,30 +58139,36 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 60400
         /// //@*/self::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2196()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2196(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//@*/self::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 63682
-        /// //comment()/preceding-sibling::node()
+        /// //comment()/preceding-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2197()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2197(Utils.NavigatorKind kind)
         {
             var xml = "test63682.xml";
             var testExpression = @"//comment()/preceding-sibling::node()";
@@ -57615,30 +58202,36 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 63682
         /// count(preceding-sibling::node())
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2198()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2198(Utils.NavigatorKind kind)
         {
             var xml = "test63682.xml";
             var startingNodePath = "//comment()[3]";
             var testExpression = @"count(preceding-sibling::node())";
             var expected = 3d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 63682
-        /// //comment()/preceding::node()
+        /// //comment()/preceding::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2199()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2199(Utils.NavigatorKind kind)
         {
             var xml = "test63682.xml";
             var testExpression = @"//comment()/preceding::node()";
@@ -57672,15 +58265,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 63682
         /// descendant-or-self::*/following-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2200()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2200(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]";
@@ -57824,16 +58420,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 63682
         /// //descendant-or-self::*/following-sibling::*
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest2201()
+        public static void AxesCombinationsTest2201(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//descendant-or-self::*/following-sibling::*";
@@ -58593,16 +59192,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 63682
         /// descendant-or-self::node()/following-sibling::node()[name()='publication']
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest2202()
+        public static void AxesCombinationsTest2202(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -58664,15 +59266,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 65291
         /// descendant-or-self::*/preceding-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2203()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2203(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]";
@@ -58810,15 +59415,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 65291
         /// //descendant-or-self::*/preceding-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2204()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2204(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//descendant-or-self::*/preceding-sibling::*";
@@ -59569,16 +60177,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 65291
         /// descendant-or-self::node()/preceding-sibling::node()[name()='publication']
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest2205()
+        public static void AxesCombinationsTest2205(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -59640,16 +60251,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 65291
-        /// descendant-or-self::*[self::node()]/preceding-sibling::node()
+        /// descendant-or-self::*[self::node()]/preceding-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest2206()
+        public static void AxesCombinationsTest2206(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -60557,15 +61171,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 65292
         /// ancestor-or-self::*/following-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2207()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2207(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]";
@@ -60663,16 +61280,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 65292
         /// //ancestor-or-self::*/following-sibling::*
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest2208()
+        public static void AxesCombinationsTest2208(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//ancestor-or-self::*/following-sibling::*";
@@ -61432,15 +62052,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 65292
         /// ancestor-or-self::node()/following-sibling::node()[name()='publication']
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2209()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2209(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -61448,16 +62071,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 65293
         /// preceding::*/preceding-sibling::node()[self::* = true()]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest2210()
+        public static void AxesCombinationsTest2210(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
@@ -61982,16 +62608,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 65293
-        /// preceding::*/preceding-sibling::node()
+        /// preceding::*/preceding-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest2211()
+        public static void AxesCombinationsTest2211(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]/title";
@@ -62573,15 +63202,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 65293
         /// preceding::*/preceding-sibling::magazine
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2212()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2212(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]/title";
@@ -62640,15 +63272,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 67337
         /// /|//*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2213()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2213(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]/title";
@@ -63759,16 +64394,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 67337
         /// //node|/|//node()/ancestor::*
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest2214()
+        public static void AxesCombinationsTest2214(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]/title";
@@ -64852,15 +65490,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 70318
-        /// NSXX: //namespace::*/parent::node()
+        /// NSXX: //namespace::*/parent::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2215()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2215(Utils.NavigatorKind kind)
         {
             var xml = "namespaces.xml";
             var testExpression = @"//namespace::*/parent::node()";
@@ -65018,14 +65659,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// (bookstore/book[1]/author | bookstore/book[2])/..
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2216()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2216(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(bookstore/book[1]/author | bookstore/book[2])/..";
@@ -65054,15 +65698,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression for 71103
         /// (bookstore/book | bookstore/magazine)/*/..
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2217()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2217(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(bookstore/book | bookstore/magazine)/*/..";
@@ -65206,46 +65853,55 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 73546
         /// //book/@*/descendant::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2218()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2218(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book/@*/descendant::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 73546
         /// //@*/descendant::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2219()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2219(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//@*/descendant::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 74132
         /// descendant::*/following-sibling::*[child::*]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesCombinationsTest2220()
+        public static void AxesCombinationsTest2220(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -65580,14 +66236,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// bookstore/book[1]/author[1]/ancestor-or-self::*/following-sibling::*[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2221()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2221(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"bookstore/book[1]/author[1]/ancestor-or-self::*/following-sibling::*[1]";
@@ -65614,14 +66273,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// bookstore/book[1]/author[1]/ancestor-or-self::*/following::*[1]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2222()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2222(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"bookstore/book[1]/author[1]/ancestor-or-self::*/following::*[1]";
@@ -65648,14 +66310,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// bookstore/book[2]/author[1]/ancestor-or-self::*/following::*[2]
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2223()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2223(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"bookstore/book[2]/author[1]/ancestor-or-self::*/following::*[2]";
@@ -65682,14 +66347,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// book/author/ancestor-or-self::*/following-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2224()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2224(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -65946,14 +66614,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant-or-self::node()/* causes NullReferenceException
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2225()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2225(Utils.NavigatorKind kind)
         {
             var xml = "test66246.xml";
             var testExpression = @"descendant-or-self::node()/*";
@@ -66077,14 +66748,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// descendant-or-self::node()/foo causes NullReferenceException
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2226()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2226(Utils.NavigatorKind kind)
         {
             var xml = "test66246.xml";
             var testExpression = @"descendant-or-self::node()/foo";
@@ -66118,14 +66792,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// /descendant-or-self::node()/* causes NullReferenceException
         /// </summary>
-        [Fact]
-        public static void AxesCombinationsTest2227()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesCombinationsTest2227(Utils.NavigatorKind kind)
         {
             var xml = "test66246.xml";
             var testExpression = @"/descendant-or-self::node()/*";
@@ -66249,7 +66926,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
     }
 }
index 157ab2c..c7cbc05 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths.Axes.ComplexExpressions
 {
@@ -18,38 +16,47 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes.ComplexExpressions
         /// Context node has an ancestor 'publication' so matches should return true
         /// node()[starts-with(string(name()),'p')]//node()[local-name()=""]
         /// </summary>
-        [Fact]
-        public static void MatchesTest41()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest41(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[3]/author/publication/first.name/text()";
             var testExpression = @"node()[starts-with(string(name()),'p')]//node()[local-name()=""""]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: true
         /// node()//node()[local-name()=""]
         /// </summary>
-        [Fact]
-        public static void MatchesTest42()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest42(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[3]/author/publication/first.name/text()";
             var testExpression = @"node()//node()[local-name()=""""]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Uses namespace
         /// my:*
         /// </summary>
-        [Fact]
-        public static void MatchesTest43()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest43(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/*[13]";
@@ -59,31 +66,37 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes.ComplexExpressions
             namespaceManager.AddNamespace("my", "urn:http//www.placeholder-name-here.com/schema/");
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: true
-        /// bookstore//articles[story1[details]]//node()
+        /// bookstore//articles[story1[details]]//node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MatchesTest44()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest44(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story2/stock/node()";
             var testExpression = @"bookstore//articles[story1[details]]//node()";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: true
         /// @dt:dt[name()="dt:dt"][namespace-uri()="urn:uuid:C2F41010-65B3-11d1-A29F-00AA00C14882/"][local-name()="dt"]
         /// </summary>
-        [Fact]
-        public static void MatchesTest45()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest45(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story2/date/@*";
@@ -94,36 +107,42 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes.ComplexExpressions
             namespaceManager.AddNamespace("dt", "urn:uuid:C2F41010-65B3-11d1-A29F-00AA00C14882/");
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// book[3]//node()
+        /// book[3]//node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MatchesTest46()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest46(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[3]/author/publication/first.name/text()";
             var testExpression = @"book[3]//node()";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// //book[3]//node()//text()
+        /// //book[3]//node()//text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MatchesTest47()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest47(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[3]/author/publication/first.name/text()";
             var testExpression = @"//book[3]//node()//text()";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
     }
 }
index b921914..8518716 100644 (file)
@@ -1,11 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths.Axes
 {
@@ -18,8 +17,11 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expression combines child,ancestor and attribute axes
         /// child::author/ancestor::book/attribute::style[.='autobiography']
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest31()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest31(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -35,16 +37,19 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expression combines descendant, attribute axes
-        /// /descendant::node() | /descendant::node()/attribute::node() | /descendant::node()/attribute::node()/descendant::node()
+        /// /descendant::node() | /descendant::node()/attribute::node() | /descendant::node()/attribute::node()/descendant::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest32()
+        public static void ComplexExpressionsTest32(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -1864,15 +1869,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Combines several axes, altering between forward and reverse axes
-        /// /child::bookstore/descendant::magazine/following-sibling::book/child::title/child::text()/ancestor::*/preceding-sibling::magazine/preceding::book/attribute::*/following::node()
+        /// /child::bookstore/descendant::magazine/following-sibling::book/child::title/child::text()/ancestor::*/preceding-sibling::magazine/preceding::book/attribute::*/following::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest33()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest33(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -3295,15 +3303,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Select all elements that have a child
         /// //* [*]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest34()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest34(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//* [*]";
@@ -3677,15 +3688,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Try to select all elements that have a child. This expression should result in the same node set as the expression //*[*]
         /// /child::bookstore/descendant-or-self::*/parent::*
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest35()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest35(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/child::bookstore/descendant-or-self::*/parent::* ";
@@ -4059,15 +4073,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Try to select all nodes that have no children
         /// (preceding::* | //node() |//node()/attribute::*) [count(child::node()) = 0]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest36()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest36(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(preceding::* | //node() |//node()/attribute::*) [count(child::node()) = 0]";
@@ -4817,15 +4834,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Try to select parent elements of all the attributes
         /// //node()/attribute::*/parent::*
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest37()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest37(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//node()/attribute::*/parent::*";
@@ -5135,15 +5155,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Try to select parent elements of all the text nodes
-        /// //text()/parent::node()
+        /// //text()/parent::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest38()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest38(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//text()/parent::node()";
@@ -6219,15 +6242,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Select nodes that have no following nodes (root node, document node and last node of the document)
         /// descendant-or-self::*/ancestor::* [count(following::node()) = 0]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest39()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest39(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"descendant-or-self::*/ancestor::* [count(following::node()) = 0]";
@@ -6245,15 +6271,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Select nodes that have no following text nodes
         /// //*/self::title/ancestor-or-self::node()[count(following::text()) = 0]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest310()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest310(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//*/self::title/ancestor-or-self::node()[count(following::text()) = 0]";
@@ -6278,15 +6307,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Select all ancestors of all title elements
-        /// //*/self::title/ancestor::node()
+        /// //*/self::title/ancestor::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest311()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest311(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//*/self::title/ancestor-or-self::node()";
@@ -6548,16 +6580,19 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// native gives wrong result for this one
         /// /descendant-or-self::* [position()>=1]/ancestor-or-self::* [position()<=5]/descendant::* [position()=1 or position()=2 or position>3]/ancestor::*
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest312()
+        public static void ComplexExpressionsTest312(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"
@@ -6933,15 +6968,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Select elements at 5th level
         /// /*/*/*/*/*
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest313()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest313(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/*/*/*/*/*";
@@ -7093,15 +7131,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Complex predicate
         /// /self::node()/child::* [last()][count(child::book)=7][child::book/following-sibling::magazine/following-sibling::book/following::magazine/preceding::book]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest314()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest314(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -7120,29 +7161,35 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected empty node-set, attributes have no children
-        /// //*/attribute::node()/child::node()
+        /// //*/attribute::node()/child::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest315()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest315(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//*/attribute::node()/child::node()";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// child::*[last()-count(descendant::*[count(child::text()[string-length(string())>25])])]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest316()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest316(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -7161,14 +7208,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// child::*[string-length(.)-last()>position()]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest317()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest317(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -7349,15 +7399,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// /descendant::* [position()>=1]/ancestor-or-self::* [position()<=5]/descendant::* [position()=1 or position()=2 or position>3]/ancestor::*
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest319()
+        public static void ComplexExpressionsTest319(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"
@@ -7733,15 +7786,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// /descendant-or-self::* [position()>=1]/ancestor::* [position()<=5]/descendant::* [position()=1 or position()=2 or position>3]/ancestor::*
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest320()
+        public static void ComplexExpressionsTest320(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"
@@ -8117,15 +8173,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// /descendant-or-self::node() [position()>=1]/ancestor::node()[position() <=5]/descendant::node() [position()=1 or position()=2 or position()>3]/ancestor::*
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest321()
+        public static void ComplexExpressionsTest321(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"
@@ -9203,14 +9262,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// /descendant-or-self::node()/parent::node()/descendant::node()/preceding::*
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest322()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest322(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"
@@ -10304,15 +10366,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Checks for other axes with the same direction.
         /// /following::* [position()>=1]/preceding::*[position() <=5]/following::* [position()=1 or position()=2 or position()>3]/preceding::*
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest323()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest323(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"
@@ -10321,16 +10386,19 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression for 63067
         /// following::* | preceding::* | self::* | following-sibling::* | preceding-sibling::* | attribute::* | following::text() | following::comment() | ancestor::* | ancestor-or-self::text() | parent::node() | descendant::text() | descendant::* | child::publication
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest324()
+        public static void ComplexExpressionsTest324(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[5]/author";
@@ -11575,15 +11643,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression for 63067
-        /// descendant-or-self::node() | ancestor-or-self::node()
+        /// descendant-or-self::node() | ancestor-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest325()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest325(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[5]/author";
@@ -11724,15 +11795,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression for 63067
-        /// descendant-or-self::node() | ancestor-or-self::node()
+        /// descendant-or-self::node() | ancestor-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest326()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest326(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[5]";
@@ -11902,15 +11976,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression for 63067
-        /// following::node() | following-sibling::node()|preceding::node()
+        /// following::node() | following-sibling::node()|preceding::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest327()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest327(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "(//node())[last()]";
@@ -13350,31 +13427,37 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression for 63067
         /// preceding::* | following::*
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest328()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest328(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"preceding::* | following::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression for 63067
-        /// /descendant::node() | /descendant::node()/attribute::node() | /descendant::node()/attribute::node()/descendant::node()
+        /// /descendant::node() | /descendant::node()/attribute::node() | /descendant::node()/attribute::node()/descendant::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest329()
+        public static void ComplexExpressionsTest329(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -15194,16 +15277,19 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression for 63067
         /// (child::node | //node()[count(following::node()[count(child::text())&gt;0])&gt;1])|preceding::node()[count(descendant-or-self::*) &gt; 5]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest330()
+        public static void ComplexExpressionsTest330(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -16613,16 +16699,19 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression for 63067
         /// (child::node | //node()[count(following::node()[count(child::text())&gt;0])&gt;1])|preceding::node()[count(descendant-or-self::*) &gt; 5]| //node()/@*
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest331()
+        public static void ComplexExpressionsTest331(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -18400,14 +18489,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant::*[last()-count(descendant-or-self::*[count(child::node()()[string-length(string())&gt;25])])]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest332()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest332(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -18427,14 +18519,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// descendant-or-self::*[last()-count(descendant-or-self::*[count(child::node()()[string-length(string())&gt;25])])]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest334()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest334(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -18454,14 +18549,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// descendant::*[last()-count(descendant::*[count(child::node()()[string-length(string())&gt;25])])]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest335()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest335(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -18492,14 +18590,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// descendant::*[last()-count(descendant::*[count(child::node()[string-length(string())&gt;25][string-length(string())&lt;40])])]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest336()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest336(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -18530,15 +18631,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following::*[last()-count(following::*[count(child::node()[string-length(string())&gt;25][string-length(string())&lt;40])])]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest337()
+        public static void ComplexExpressionsTest337(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
@@ -18558,14 +18662,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding::*[last()-count(preceding::*[count(child::node()[string-length(string())&gt;25][string-length(string())&lt;40])])]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest338()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest338(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine";
@@ -18585,14 +18692,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding::*[last()-count(preceding::*[count(descendant::node()[string-length(string())&gt;25][string-length(string())&lt;40])])]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest339()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest339(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine";
@@ -18612,15 +18722,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding::*[last()-count(preceding::*[count(following::node()[string-length(string())&gt;25][string-length(string())&lt;40])])]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest340()
+        public static void ComplexExpressionsTest340(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine";
@@ -18640,15 +18753,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Code coverage: Covers the case where number() is used in an expression
         /// child::*[number(count(book))>4]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest341()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest341(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"child::*[number(count(book))>4]";
@@ -18666,15 +18782,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage: Covers the case where floor() is used in an expression
         /// bookstore/book[floor(price)=55]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest342()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest342(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"bookstore/book[floor(price)=55]";
@@ -18714,15 +18833,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Code coverage: Covers the case where sum() is used in an expression
         /// mydoc/numbers[sum(n)=6]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest343()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest343(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"mydoc/numbers[sum(n)=6]";
@@ -18738,15 +18860,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Complex expression involving namespace axis
-        /// NS65: document/descendant::node/following::node()/ancestor::node()/child::node()/namespace::node()
+        /// NS65: document/descendant::node/following::node()/ancestor::node()/child::node()/namespace::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest344()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest344(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var testExpression =
@@ -18754,15 +18879,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Complex expression involving namespace axis
         /// NS66: document//p3:*/ancestor::*/child::*[namespace::p4 or namespace::p5 [local-name()="elem"]]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest345()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest345(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var testExpression =
@@ -18777,15 +18905,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Complex expression involving namespace axis
         /// NS67: //namespace::p1|//namespace::p2|//namespace::p3|//namespace::p4|//namespace::p4|//namespace::p5
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest346()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest346(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var testExpression =
@@ -18800,15 +18931,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Complex expression involving namespace axis
         /// NS68: //namespace::*|//namespace::p2|//namespace::p3|//attribute::node()|//text()|//*
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest347()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest347(Utils.NavigatorKind kind)
         {
             var xml = "namespaces.xml";
             var testExpression = @"//namespace::*|//namespace::p2|//namespace::p3|//attribute::node()|//text()|//*";
@@ -19370,15 +19504,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Complex expression involving namespace axis
-        /// NS69: //namespace::node()
+        /// NS69: //namespace::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest348()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest348(Utils.NavigatorKind kind)
         {
             var xml = "namespaces.xml";
             var testExpression = @"//namespace::node()";
@@ -19703,15 +19840,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Complex expression involving namespace axis
         /// NS70: store/p1:booksection/*/namespace::*/following::*/namespace::*/following::p4:title
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest349()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest349(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"store/p1:booksection/*/namespace::*/following::*/namespace::*/following::p4:title";
@@ -19725,14 +19865,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
-        /// (/bookstore/book[1] | /bookstore/book[1]/author)/descendant::node()
+        /// (/bookstore/book[1] | /bookstore/book[1]/author)/descendant::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest350()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest350(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(/bookstore/book[1] | /bookstore/book[1]/author)/descendant::node()";
@@ -19829,7 +19972,7 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
     }
 }
index 199a269..0832e76 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths.Axes
 {
@@ -18,14 +16,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// ancestor::* (Matches)
         /// </summary>
-        [Fact]
-        public static void MatchesTest71()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest71(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para/Origin";
             var testExpression = @"ancestor::*";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -33,134 +34,161 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: True (based on context node).
         /// attribute::* (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest72()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest72(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr1";
             var testExpression = @"attribute::*";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node). Fix test code to move to testexpr node, thus expected=true.
         /// attribute::* (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest73()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest73(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title";
             var testExpression = @"attribute::*";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// /para/attribute::* (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest74()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest74(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr1";
             var testExpression = @"/Doc/Chap/Title/attribute::*";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).
         /// /para/attribute::* (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest75()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest75(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr1";
             var testExpression = @"/Doc/Chap/attribute::*";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// child::* (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest76()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest76(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
             var testExpression = @"child::*";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).
         /// child::* (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest77()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest77(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr1";
             var testExpression = @"child::*";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// /para/child::* (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest78()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest78(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Title";
             var testExpression = @"/Doc/child::*";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).  Fix test code to move to testexpr node, thus expected=true.
         /// /para/child::* (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest79()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest79(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Title";
             var testExpression = @"/Doc/child::*";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Error (Not supported for Matches).
         /// descendant::* (Matches)
         /// </summary>
-        [Fact]
-        public static void MatchesTest710()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest710(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
             var testExpression = @"descendant::*";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -168,14 +196,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected Error, not supported for matches
         /// descendant-or-self::* (Matches)
         /// </summary>
-        [Fact]
-        public static void MatchesTest711()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest711(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
             var testExpression = @"descendant-or-self::*";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -183,14 +214,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// following::* (Matches)
         /// </summary>
-        [Fact]
-        public static void MatchesTest712()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest712(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
             var testExpression = @"following::*";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -198,14 +232,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// following-sibling::* (Matches)
         /// </summary>
-        [Fact]
-        public static void MatchesTest713()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest713(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
             var testExpression = @"following-sibling::*";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -213,14 +250,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// parent::* (Matches)
         /// </summary>
-        [Fact]
-        public static void MatchesTest714()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest714(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para";
             var testExpression = @"parent::*";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -228,14 +268,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// preceding::* (Matches)
         /// </summary>
-        [Fact]
-        public static void MatchesTest715()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest715(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
             var testExpression = @"preceding::*";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -243,14 +286,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// preceding-sibling::* (Matches)
         /// </summary>
-        [Fact]
-        public static void MatchesTest716()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest716(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
             var testExpression = @"preceding-sibling::*";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -258,14 +304,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// self::* (Matches)
         /// </summary>
-        [Fact]
-        public static void MatchesTest717()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest717(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
             var testExpression = @"self::*";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -273,58 +322,70 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Selects the document root.
         /// / (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest718()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest718(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var testExpression = @"/";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected: Selects the document root.  Fix test code to move to testexpr node, thus expected=true.
         /// / (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest719()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest719(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
             var testExpression = @"/";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Error (Not supported for Matches).
         /// ancestor::bookstore
         /// </summary>
-        [Fact]
-        public static void MatchesTest720()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest720(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"ancestor::bookstore";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Error (Not supported for Matches).
-        /// ancestor-or-self::node()
+        /// ancestor-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MatchesTest721()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest721(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"ancestor-or-self::node()";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -332,29 +393,35 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// descendant::title
         /// </summary>
-        [Fact]
-        public static void MatchesTest722()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest722(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"descendant::title";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Error (Not supported for Matches).
-        /// descendant-or-self::node()
+        /// descendant-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MatchesTest723()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest723(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"descendant-or-self::node()";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -362,14 +429,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// parent::bookstore
         /// </summary>
-        [Fact]
-        public static void MatchesTest724()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest724(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"parent::bookstore";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -377,29 +447,35 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// following::book
         /// </summary>
-        [Fact]
-        public static void MatchesTest725()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest725(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"following::book";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Error (Not supported for Matches).
-        /// following-sibling::node()
+        /// following-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MatchesTest726()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest726(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"following-sibling::node()";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -407,14 +483,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// preceding::book
         /// </summary>
-        [Fact]
-        public static void MatchesTest727()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest727(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
             var testExpression = @"preceding::book";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -422,14 +501,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// preceding-sibling::magazine
         /// </summary>
-        [Fact]
-        public static void MatchesTest728()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest728(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
             var testExpression = @"preceding-sibling::magazine";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -437,14 +519,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// self::book
         /// </summary>
-        [Fact]
-        public static void MatchesTest729()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest729(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
             var testExpression = @"self::book";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -452,14 +537,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// bookstore//book/parent::bookstore//title
         /// </summary>
-        [Fact]
-        public static void MatchesTest730()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest730(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]/title";
             var testExpression = @"bookstore//book/parent::bookstore//title";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -467,14 +555,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// //magazine/ancestor-or-self::bookstore//book[6]
         /// </summary>
-        [Fact]
-        public static void MatchesTest731()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest731(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
             var testExpression = @"//magazine/ancestor-or-self::bookstore//book[6]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -482,14 +573,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error (Not supported for Matches).
         /// bookstore/self::bookstore/magazine
         /// </summary>
-        [Fact]
-        public static void MatchesTest732()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest732(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine";
             var testExpression = @"bookstore/self::bookstore/magazine";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -497,79 +591,97 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// Expected: Error
         /// string('abc')
         /// </summary>
-        [Fact]
-        public static void MatchesTest733()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest733(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine";
             var testExpression = @"string('abc')";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// bookstore|bookstore/magazine|//title
         /// </summary>
-        [Fact]
-        public static void MatchesTest734()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest734(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine/title";
             var testExpression = @"bookstore|bookstore/magazine|//title";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// /bookstore/book|/bookstore/magazine/@*|/bookstore/book[last()]/@style
         /// </summary>
-        [Fact]
-        public static void MatchesTest735()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest735(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/@style";
             var testExpression = @"/bookstore/book|/bookstore/magazine/@*|/bookstore/book[last()]/@style";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected Error : following::* not supported for matches
         /// /bookstore/book|/bookstore/magazine/@*|/bookstore/book[last()]/@style/following::*
         /// </summary>
-        [Fact]
-        public static void MatchesTest736()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest736(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/@style";
             var testExpression = @"/bookstore/book|/bookstore/magazine/@*|/bookstore/book[last()]/@style/following::*";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// /bookstore/book[last()]/title[text()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest737()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest737(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/title";
             var testExpression = @"/bookstore/book[last()]/title[text()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// /bookstore/*[last()]/node()
+        /// /bookstore/*[last()]/node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MatchesTest738()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest738(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/my:book[3]/my:title";
@@ -579,7 +691,7 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
             namespaceManager.AddNamespace("my", "urn:http//www.placeholder-name-here.com/schema/");
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -587,45 +699,54 @@ namespace XPathTests.FunctionalTests.Location.Paths.Axes
         /// 72687
         /// child::*[position() =3][position() =3]
         /// </summary>
-        [Fact]
-        public static void MatchesTest739()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest739(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child3";
             var testExpression = @"child::*[position() =3][position() =3]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// 72687
         /// child::*[position() =3 and position() =3]
         /// </summary>
-        [Fact]
-        public static void MatchesTest740()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest740(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child3";
             var testExpression = @"child::*[position() =3 and position() =3]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 71617
         /// child::*[position() >1][position() <=3]
         /// </summary>
-        [Fact]
-        public static void MatchesTest741()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest741(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child3";
             var testExpression = @"child::*[position() >1][position() <=3]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
     }
 }
index 697938f..5043798 100644 (file)
@@ -1,11 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths
 {
@@ -18,8 +17,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Expected: Selects all element ancestors of the context node.
         /// ancestor::*
         /// </summary>
-        [Fact]
-        public static void AxesTest11()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest11(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para/Origin";
@@ -69,7 +71,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -77,8 +79,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Expected: Selects all para element ancestors of the context node.
         /// ancestor::para
         /// </summary>
-        [Fact]
-        public static void AxesTest12()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest12(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para/Origin";
@@ -104,15 +109,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all element ancestors of the context node.
-        /// ancestor::node()
+        /// ancestor::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest13()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest13(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para/Origin";
@@ -165,15 +173,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Error (the ancestor axis can not be combined with other axes).
         /// ancestor::*/child::*
         /// </summary>
-        [Fact]
-        public static void AxesTest14()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest14(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -245,30 +256,36 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Empty node list.
         /// ancestor (assuming context node is root node)
         /// </summary>
-        [Fact]
-        public static void AxesTest15()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest15(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var testExpression = @"ancestor::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected: Selects the element ancestors of the context node and the context node itself.
         /// ancestor-or-self::*
         /// </summary>
-        [Fact]
-        public static void AxesTest16()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest16(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para/Origin";
@@ -322,15 +339,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the para element ancestors of the context node and the context node itself.
         /// ancestor-or-self::para (assuming context node is a para element)
         /// </summary>
-        [Fact]
-        public static void AxesTest17()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest17(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para";
@@ -356,15 +376,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the para element ancestors of the context node.
         /// ancestor-or-self::para (assuming context node is not a para element)
         /// </summary>
-        [Fact]
-        public static void AxesTest18()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest18(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para/Origin";
@@ -390,15 +413,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the element ancestors of the context node and the context node itself.
-        /// ancestor-or-self::node()
+        /// ancestor-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest19()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest19(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para/Origin";
@@ -459,15 +485,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected error(the ancestor axis can not be combined with other axes).
         /// ancestor-or-self::*/child::*
         /// </summary>
-        [Fact]
-        public static void AxesTest110()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest110(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para/Origin";
@@ -556,15 +585,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all attributes of the context node.
         /// attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesTest111()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest111(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para/Origin";
@@ -596,15 +628,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all attributes of the context node.
-        /// attribute::node()
+        /// attribute::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest112()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest112(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para/Origin";
@@ -636,15 +671,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Empty node list.
         /// attribute::node() (assuming context node is an attribute node)
         /// </summary>
-        [Fact]
-        public static void AxesTest113()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest113(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para/Origin/@Attr1";
@@ -652,15 +690,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the name attribute of the context node.
         /// attribute::name
         /// </summary>
-        [Fact]
-        public static void AxesTest114()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest114(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title";
@@ -676,15 +717,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all element children of the context node.
         /// child::*
         /// </summary>
-        [Fact]
-        public static void AxesTest115()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest115(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -729,15 +773,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the para element children of the context node
         /// child::para
         /// </summary>
-        [Fact]
-        public static void AxesTest116()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest116(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -745,15 +792,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all children of the context node.
-        /// child::node()
+        /// child::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest117()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest117(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -803,15 +853,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all element descendants of the context node.
         /// descendant::*
         /// </summary>
-        [Fact]
-        public static void AxesTest118()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest118(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -863,15 +916,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all descendants of the context node.
-        /// descendant::node()
+        /// descendant::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest119()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest119(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -938,15 +994,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all para element descendants of the context node.
         /// descendant::para
         /// </summary>
-        [Fact]
-        public static void AxesTest120()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest120(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -981,15 +1040,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the para element descendants of the context node and the context node itself.
         /// descendant-or-self::para  (assuming context node is a para element)
         /// </summary>
-        [Fact]
-        public static void AxesTest121()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest121(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -1015,15 +1077,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the para element descendants of the context node.
         /// descendant-or-self::para  (assuming context node is not a para element)
         /// </summary>
-        [Fact]
-        public static void AxesTest122()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest122(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -1058,15 +1123,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the element descendants of the context node and the context node itself.
-        /// descendant-or-self::node()
+        /// descendant-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest123()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest123(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -1143,14 +1211,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// following::*
         /// </summary>
-        [Fact]
-        public static void AxesTest124()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest124(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -1176,14 +1247,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// following-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesTest125()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest125(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -1200,15 +1274,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects parent node of the context node (if it is an element node).
         /// parent::*
         /// </summary>
-        [Fact]
-        public static void AxesTest126()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest126(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -1226,45 +1303,54 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Empty node list.
         /// parent::* (assuming context node is root node)
         /// </summary>
-        [Fact]
-        public static void AxesTest127()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest127(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var testExpression = @"parent::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected: Error.
         /// child::*/parent::*
         /// </summary>
-        [Fact]
-        public static void AxesTest128()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest128(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var testExpression = @"child::*/parent::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected: Selects parent node of the context node, if this node is a para element.
         /// parent::para
         /// </summary>
-        [Fact]
-        public static void AxesTest129()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest129(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para";
@@ -1281,15 +1367,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects parent node of the context node.
-        /// parent::node()
+        /// parent::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest130()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest130(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -1307,14 +1396,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding::*
         /// </summary>
-        [Fact]
-        public static void AxesTest131()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest131(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -1340,14 +1432,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesTest132()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest132(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -1373,15 +1468,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the context node (if it is an element node).
         /// self::*
         /// </summary>
-        [Fact]
-        public static void AxesTest133()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest133(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -1399,15 +1497,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the context node if the context node is a para element.
         /// self::para
         /// </summary>
-        [Fact]
-        public static void AxesTest134()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest134(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -1424,15 +1525,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the context node.
-        /// self::node()
+        /// self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest135()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest135(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -1450,15 +1554,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects the document root.
         /// /
         /// </summary>
-        [Fact]
-        public static void AxesTest136()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest136(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -1473,15 +1580,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all the para elements in the document.
         /// /descendant::para
         /// </summary>
-        [Fact]
-        public static void AxesTest137()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest137(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -1516,15 +1626,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// context node is leaf node and has some nodes following it in the document order
         /// following::*
         /// </summary>
-        [Fact]
-        public static void AxesTest138()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest138(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -1550,15 +1663,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// following (last node in the doc order)
         /// following::*
         /// </summary>
-        [Fact]
-        public static void AxesTest139()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest139(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap[2]/Title/text()";
@@ -1566,15 +1682,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// following (attribute)
         /// following::*
         /// </summary>
-        [Fact]
-        public static void AxesTest140()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest140(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr1";
@@ -1609,15 +1728,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// BVT for namespace
         /// NS1: //namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest141()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest141(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//namespace::*";
@@ -1872,14 +1994,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// NS2: namespace::*/following::*
         /// </summary>
-        [Fact]
-        public static void AxesTest142()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest142(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection";
@@ -2036,30 +2161,36 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// following (root node)
         /// following::*
         /// </summary>
-        [Fact]
-        public static void AxesTest143()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest143(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var testExpression = @"following::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following (try to access a child)
         /// following::Para
         /// </summary>
-        [Fact]
-        public static void AxesTest144()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest144(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
@@ -2067,15 +2198,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// following (try to access an attribute)
         /// following::Origin/Para/@Attr1
         /// </summary>
-        [Fact]
-        public static void AxesTest145()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest145(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title";
@@ -2083,21 +2217,24 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// following (try to access a namespace node)
         /// following::xmlns:NSbook
         /// </summary>
-        [Fact]
-        public static void AxesTest146()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest146(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection";
             var testExpression = @"following::xmlns:NSbook";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -2105,188 +2242,227 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// following (condition on attr, true)
         /// following::*[@Attr1="value1"]
         /// </summary>
-        [Fact]
-        public static void AxesTest147()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest147(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"following::*[@Attr1=""value1""]";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following (condition on attr, false)
         /// following::*[@Attr1="value2"]
         /// </summary>
-        [Fact]
-        public static void AxesTest148()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest148(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"following::*[@Attr1=""value2""]";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following (condition on attr, non-existent)
         /// following::*[@Attr5="value5"]
         /// </summary>
-        [Fact]
-        public static void AxesTest149()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest149(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"following::*[@Attr5=""value5""]";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following (condition on value, true)
         /// following::*[.="XPath test"]
         /// </summary>
-        [Fact]
-        public static void AxesTest150()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest150(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"following::*[.=""XPath test""]";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following (condition on value, false)
         /// following::*[.="XPath tests"]
         /// </summary>
-        [Fact]
-        public static void AxesTest151()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest151(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"following::*[.=""XPath tests""]";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following (condition on value, non-existent)
         /// following::Origin[.="XPath test"]
         /// </summary>
-        [Fact]
-        public static void AxesTest152()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest152(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"following::Origin[.=""XPath test""]";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following (condition on attr and value, true)
         /// following::*[.="XPath test"] [@Attr1= "value1"]
         /// </summary>
-        [Fact]
-        public static void AxesTest153()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest153(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"following::*[.=""XPath test""] [@Attr1= ""value1""]";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following (condition on attr and value, false)
         /// following::*[.="XPath tests"][ @Attr1= "value1"]
         /// </summary>
-        [Fact]
-        public static void AxesTest154()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest154(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"following::*[.=""XPath tests""][ @Attr1= ""value1""]";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following (condition on attr and value, non-existent)
         /// following::*[.="XPath test"][@Attrib1= "value1"]
         /// </summary>
-        [Fact]
-        public static void AxesTest155()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest155(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"following::*[.=""XPath test""][@Attrib1= ""value1""]";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following (condition on multiple attrs, true)
         /// following::*[@Attr1="value1"][@Attr2="value2"]
         /// </summary>
-        [Fact]
-        public static void AxesTest156()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest156(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"following::*[@Attr1=""value1""][@Attr2=""value2""]";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following (condition on multiple attrs, false)
         /// following::*[@Attr1="value1"][@Attr2="value3"]
         /// </summary>
-        [Fact]
-        public static void AxesTest157()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest157(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"following::*[@Attr1=""value1""][@Attr2=""value3""]";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following (condition on multiple attrs, non-existent)
         /// following::*[@Attr1="value1"][@Attr5="value5"]
         /// </summary>
-        [Fact]
-        public static void AxesTest158()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest158(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"following::*[@Attr1=""value1""][@Attr5=""value5""]";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// preceding (element other than root)
         /// preceding::*
         /// </summary>
-        [Fact]
-        public static void AxesTest159()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest159(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Title";
@@ -2312,30 +2488,36 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (root node)
         /// preceding::*
         /// </summary>
-        [Fact]
-        public static void AxesTest160()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest160(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var testExpression = @"preceding::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// preceding (context node = attribute)
         /// preceding::*
         /// </summary>
-        [Fact]
-        public static void AxesTest161()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest161(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr2";
@@ -2343,15 +2525,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (try to get an attribute)
         /// preceding::Title/@Attr1
         /// </summary>
-        [Fact]
-        public static void AxesTest162()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest162(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -2367,21 +2552,24 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (try to get a namespace node)
         /// preceding::xmlns:NSbook
         /// </summary>
-        [Fact]
-        public static void AxesTest163()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest163(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/moviesection";
             var testExpression = @"preceding::xmlns:NSbook";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -2389,8 +2577,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// preceding (try to access an ancestor)
         /// preceding::Chap
         /// </summary>
-        [Fact]
-        public static void AxesTest164()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest164(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -2398,15 +2589,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (last node in doc order)
         /// preceding::*
         /// </summary>
-        [Fact]
-        public static void AxesTest165()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest165(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap[2]/Title";
@@ -2486,15 +2680,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (condition on attr, true)
         /// preceding::*[@Attr1="value1"]
         /// </summary>
-        [Fact]
-        public static void AxesTest166()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest166(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -2512,15 +2709,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (condition on attr, false)
         /// preceding::*[@Attr1="value2"]
         /// </summary>
-        [Fact]
-        public static void AxesTest167()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest167(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -2528,15 +2728,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (condition on attr, non-existent)
         /// preceding::*[@Attr5="value5"]
         /// </summary>
-        [Fact]
-        public static void AxesTest168()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest168(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -2544,15 +2747,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (condition on value, true)
         /// preceding::*[.="XPath test"]
         /// </summary>
-        [Fact]
-        public static void AxesTest169()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest169(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -2570,15 +2776,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (condition on value, false)
         /// preceding::*[.="XPath tests"]
         /// </summary>
-        [Fact]
-        public static void AxesTest170()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest170(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -2586,15 +2795,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (condition value, non-existent)
         /// preceding::Chap[.="XPath test"]
         /// </summary>
-        [Fact]
-        public static void AxesTest171()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest171(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para";
@@ -2602,15 +2814,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (condition on attr and value, true)
         /// preceding::*[name="This is the name"][.="XPath test"]
         /// </summary>
-        [Fact]
-        public static void AxesTest172()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest172(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para[2]";
@@ -2618,15 +2833,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (condition on attr and value, false)
         /// preceding::*[name="This is the name, false!"][.="XPath tests"]
         /// </summary>
-        [Fact]
-        public static void AxesTest173()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest173(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para[2]";
@@ -2634,15 +2852,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (condition on attr and value, non-existent)
         /// preceding::*[desc="This is the name"][ .="XPath test"]
         /// </summary>
-        [Fact]
-        public static void AxesTest174()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest174(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para[2]";
@@ -2650,15 +2871,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (condition on multiple attrs, true)
         /// preceding::*[@Attr1="value1"][@Attr2="value2"]
         /// </summary>
-        [Fact]
-        public static void AxesTest175()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest175(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para[2]";
@@ -2685,15 +2909,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (condition on multiple attr, false)
         /// preceding::*[@Attr1="value2"][@Attr2="value1"]
         /// </summary>
-        [Fact]
-        public static void AxesTest176()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest176(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para[2]";
@@ -2701,15 +2928,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding (condition on multiple attr, non-existent)
         /// preceding::*[@Attr5="value5"][@Attr2="value2"]
         /// </summary>
-        [Fact]
-        public static void AxesTest177()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest177(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para[2]";
@@ -2717,15 +2947,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (select an existing parent)
         /// parent::Test1
         /// </summary>
-        [Fact]
-        public static void AxesTest178()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest178(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "//Child1";
@@ -2743,15 +2976,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (select non-existing parent)
         /// parent::Doc
         /// </summary>
-        [Fact]
-        public static void AxesTest179()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest179(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "//Child1";
@@ -2759,30 +2995,36 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (root node)
         /// parent::*
         /// </summary>
-        [Fact]
-        public static void AxesTest180()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest180(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var testExpression = @"parent::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// parent (attribute)
         /// parent::*
         /// </summary>
-        [Fact]
-        public static void AxesTest181()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest181(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/@Attr1";
@@ -2800,15 +3042,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (namespace node)
         /// namespace::NSbook/parent::*
         /// </summary>
-        [Fact]
-        public static void AxesTest182()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest182(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection";
@@ -2826,15 +3071,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (condition on attribute, true)
         /// parent::*[@Attr1="First"]
         /// </summary>
-        [Fact]
-        public static void AxesTest183()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest183(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child1";
@@ -2852,15 +3100,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (condition on attr, false)
         /// parent::*[@Attr1="Second"]
         /// </summary>
-        [Fact]
-        public static void AxesTest184()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest184(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child1";
@@ -2868,15 +3119,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (condition on attr, non-existent)
         /// parent::*[@Attr6="Last"]
         /// </summary>
-        [Fact]
-        public static void AxesTest185()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest185(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child1";
@@ -2884,15 +3138,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (condition on value, true)
         /// parent::*[.="First paragraph  End of first paragraph  "]
         /// </summary>
-        [Fact]
-        public static void AxesTest186()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest186(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para/Origin";
@@ -2900,15 +3157,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (condition on value, false)
         /// parent::*[.="FirstparagraphEndoffirstparagraph"]
         /// </summary>
-        [Fact]
-        public static void AxesTest187()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest187(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para/Origin";
@@ -2916,15 +3176,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (condition on multiple attributes, true)
         /// parent::*[@Attr1="First"][@Attr2="Second"]
         /// </summary>
-        [Fact]
-        public static void AxesTest189()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest189(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child2";
@@ -2942,15 +3205,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (condition on multiple attr, false)
         /// parent::*[@Attr1="First"][@Attr2="Last"]
         /// </summary>
-        [Fact]
-        public static void AxesTest190()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest190(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child2";
@@ -2958,15 +3224,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (condition on multiple attr, non-existent)
         /// parent::*[@Attr1="First"][@Attr6="Last"]
         /// </summary>
-        [Fact]
-        public static void AxesTest191()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest191(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child2";
@@ -2974,15 +3243,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (condition on attr and value, true)
         /// parent::*[@Attr1="only one"][.="only one"]
         /// </summary>
-        [Fact]
-        public static void AxesTest192()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest192(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test2/Child1";
@@ -2990,15 +3262,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (condition on attr and value, false)
         /// parent::*[@Attr1="only one"][.="only two"]
         /// </summary>
-        [Fact]
-        public static void AxesTest193()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest193(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test2/Child1";
@@ -3006,15 +3281,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// parent (condition on attr and value, non-existent)
         /// parent::*[@Attr6="Last"][.="onlyone"]
         /// </summary>
-        [Fact]
-        public static void AxesTest194()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest194(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test2/Child1";
@@ -3022,15 +3300,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (select an existing ancestor)
         /// ancestor::Doc
         /// </summary>
-        [Fact]
-        public static void AxesTest195()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest195(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "//Child1";
@@ -3047,30 +3328,36 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (root node)
         /// ancestor::*
         /// </summary>
-        [Fact]
-        public static void AxesTest196()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest196(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var testExpression = @"ancestor::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// ancestor (attribute)
         /// ancestor::*
         /// </summary>
-        [Fact]
-        public static void AxesTest197()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest197(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/@Attr1";
@@ -3097,15 +3384,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (namespace node)
         /// NS3: namespace::NSbook/ancestor::*
         /// </summary>
-        [Fact]
-        public static void AxesTest198()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest198(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection";
@@ -3133,15 +3423,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (try to select a non-existent ancestor)
         /// ancestor::Test1
         /// </summary>
-        [Fact]
-        public static void AxesTest199()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest199(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test2/Child1";
@@ -3149,15 +3442,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (condition on attribute, true)
         /// ancestor::*[@Attr1="First"]
         /// </summary>
-        [Fact]
-        public static void AxesTest1100()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1100(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child1";
@@ -3175,15 +3471,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (condition on attr, false)
         /// ancestor::*[@Attr1="Second"]
         /// </summary>
-        [Fact]
-        public static void AxesTest1101()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1101(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child1";
@@ -3191,15 +3490,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (condition on attr, non-existent)
         /// ancestor::*[@Attr6="Last"]
         /// </summary>
-        [Fact]
-        public static void AxesTest1102()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1102(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child1";
@@ -3207,15 +3509,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (condition on value, true)
         /// ancestor::*[.="First paragraph  End of first paragraph  "]
         /// </summary>
-        [Fact]
-        public static void AxesTest1103()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1103(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para/Origin";
@@ -3223,15 +3528,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (condition on value, false)
         /// ancestor::*[.="FirstparagraphEndoffirstparagraph"]
         /// </summary>
-        [Fact]
-        public static void AxesTest1104()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1104(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Para/Origin";
@@ -3239,15 +3547,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (condition on multiple attributes, true)
         /// ancestor::*[@Attr1="First"][@Attr2="Second"]
         /// </summary>
-        [Fact]
-        public static void AxesTest1106()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1106(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child2";
@@ -3265,15 +3576,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (condition on multiple attr, false)
         /// ancestor::*[@Attr1="First"][@Attr2="Third"]
         /// </summary>
-        [Fact]
-        public static void AxesTest1107()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1107(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child2";
@@ -3281,15 +3595,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (condition on multiple attr, non-existent)
         /// ancestor::*[@Attr1="First"][@Attr6="Last"]
         /// </summary>
-        [Fact]
-        public static void AxesTest1108()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1108(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child2";
@@ -3297,15 +3614,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (condition on attr and value, true)
         /// ancestor::*[@Attr1="only one"][.="only one"]
         /// </summary>
-        [Fact]
-        public static void AxesTest1109()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1109(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test2/Child1";
@@ -3313,15 +3633,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (condition on attr and value, false)
         /// ancestor::*[@Attr1="only one"][.="only two"]
         /// </summary>
-        [Fact]
-        public static void AxesTest1110()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1110(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test2/Child1";
@@ -3329,15 +3652,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor (condition on attr and value, non-existent)
         /// ancestor::*[@Attr6="Last"][.="only one"]
         /// </summary>
-        [Fact]
-        public static void AxesTest1111()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1111(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test2/Child1";
@@ -3345,15 +3671,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Should return nothing.
         /// parent::foo
         /// </summary>
-        [Fact]
-        public static void AxesTest1112()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1112(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3361,15 +3690,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return all text nodes after first book.  CDATA is grouped into text nodes so CDATA should also be returned.
-        /// book[1]/following::text()
+        /// book[1]/following::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1113()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1113(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -3706,15 +4038,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return all comment nodes after and not a descendant of the first book.
-        /// book[1]/following::comment()
+        /// book[1]/following::comment(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1114()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1114(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -3728,15 +4063,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return all PI nodes that follow the first book.
-        /// book[1]/following::processing-instruction()
+        /// book[1]/following::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1115()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1115(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -3760,21 +4098,24 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return ERROR.
         /// book[2]/following::@*
         /// </summary>
-        [Fact]
-        public static void AxesTest1116()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1116(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book[2]/following::@*";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -3782,23 +4123,29 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Return ERROR.
         /// book[3]/preceding::@*
         /// </summary>
-        [Fact]
-        public static void AxesTest1117()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1117(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book[3]/preceding::@*";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return empty node-list.
-        /// book[1]/title/following-sibling::text()
+        /// book[1]/title/following-sibling::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1118()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1118(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -3809,15 +4156,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return comment node sibling of the first book element.
-        /// book[1]/following-sibling::comment()
+        /// book[1]/following-sibling::comment(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1119()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1119(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -3831,15 +4181,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return PI nodes that are siblings of and after the first book.
-        /// book[1]/following-sibling::processing-instruction()
+        /// book[1]/following-sibling::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1120()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1120(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -3855,15 +4208,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return all siblings of the first book no-matter what type.
-        /// book[1]/following-sibling::node()
+        /// book[1]/following-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1121()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1121(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -4078,21 +4434,24 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return ERROR.
         /// book[2]/following-sibling::@*
         /// </summary>
-        [Fact]
-        public static void AxesTest1122()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1122(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book[2]/following-sibling::@*";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -4100,8 +4459,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Return empty node-list.
         /// book[last()]/@*/following-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1123()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1123(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -4109,15 +4471,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return first and second book elements..
         /// book[3]/preceding-sibling::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1124()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1124(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -4147,15 +4512,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return empty node-list.
         /// book[1]/preceding-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1125()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1125(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -4163,15 +4531,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return all comments that are siblings of last book element.
-        /// book[last()]/preceding-sibling::comment()
+        /// book[last()]/preceding-sibling::comment(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1126()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1126(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -4191,15 +4562,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return all PI siblings of last my:book element.
-        /// *[last()]/preceding-sibling::processing-instruction()
+        /// *[last()]/preceding-sibling::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1127()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1127(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -4215,15 +4589,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return any node that is before first book and at the same level (sibling).
-        /// book[1]/preceding-sibling::node()
+        /// book[1]/preceding-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1128()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1128(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -4239,15 +4616,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return second book element (History of Trenton).
-        /// book[3]/preceding-sibling::book[1]/title/text()
+        /// book[3]/preceding-sibling::book[1]/title/text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1129()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1129(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -4256,15 +4636,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Text, HasNameTable = true, Value = "History of Trenton"});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return empty node-list.
         /// book[3]/@*/preceding-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1130()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1130(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -4272,15 +4655,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return empty node list.
-        /// preceding::node()
+        /// preceding::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1131()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1131(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -4294,15 +4680,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return empty node list.
-        /// preceding-sibling::node()
+        /// preceding-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1132()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1132(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -4316,15 +4705,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return first book in document order.
         /// book/preceding-sibling::*[last()]
         /// </summary>
-        [Fact]
-        public static void AxesTest1133()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1133(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -4343,15 +4735,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return nodes after the first book except descendants, attribute::, and namespaces.
-        /// book[1]/following::node()
+        /// book[1]/following::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1134()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1134(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -5719,15 +6114,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return all elements after the last book node.
         /// book[last()]/@*/following::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1135()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1135(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -5974,15 +6372,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return text nodes in the first and second book and their descendants.
-        /// book[3]/preceding::text()
+        /// book[3]/preceding::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1136()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1136(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -6043,15 +6444,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return all comment nodes from beginning of document to the third book.
-        /// book[3]/preceding::comment()
+        /// book[3]/preceding::comment(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1137()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1137(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -6077,15 +6481,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return all PI's in the document header (empty node-list for this case).
-        /// //*[last()]/preceding::processing-instruction()
+        /// //*[last()]/preceding::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1138()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1138(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"//*[last()]/preceding::processing-instruction()";
@@ -6108,15 +6515,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Return any node that is before the first book.
-        /// book[1]/preceding::node()
+        /// book[1]/preceding::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1139()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1139(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -6138,15 +6548,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return all magazine elements after first book.
         /// book[1]/following-sibling::magazine
         /// </summary>
-        [Fact]
-        public static void AxesTest1140()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1140(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -6215,15 +6628,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return empty node-list.
         /// *[last()]/following-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1141()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1141(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -6231,15 +6647,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return comment node sibling of the first book element.
-        /// book[1]/following-sibling::comment()
+        /// book[1]/following-sibling::comment(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1142()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1142(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -6253,15 +6672,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return PI nodes that are siblings of and after the first book.
-        /// book[1]/following-sibling::processing-instruction()
+        /// book[1]/following-sibling::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1143()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1143(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var startingNodePath = "/bookstore";
@@ -6277,43 +6699,52 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Should give an error for expressions ending in '/'
         /// /bookstore/book/
         /// </summary>
-        [Fact]
-        public static void AxesTest1144()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1144(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book/";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// following-sibling axis is empty for attribute nodes
         /// /Doc/Test1/@Attr1/following-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1145()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1145(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var testExpression = @"/Doc/Test1/@Attr1/following-sibling::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// following-sibling axis is empty for namespace nodes
         /// NS4: namespace::NSbook/following-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1146()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1146(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection";
@@ -6321,30 +6752,36 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding-sibling axis should be empty for attribute nodes
         /// /Doc/Test1/@Attr2/preceding-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1147()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1147(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var testExpression = @"/Doc/Test1/@Attr2/preceding-sibling::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// preceding-sibling is empty for namespace nodes
         /// NS5: namespace::NSbook/preceding-sibling::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1148()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1148(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection";
@@ -6352,15 +6789,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Try to get a descendant. Descendants of the context node are not on the following axis
         /// following::Test1
         /// </summary>
-        [Fact]
-        public static void AxesTest1149()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1149(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc";
@@ -6368,15 +6808,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Attribute axis is empty if the context node is not an element. Context node =attribute
         /// attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1150()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1150(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/@Attr1";
@@ -6384,15 +6827,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Attribute axis is empty if the context node is not an element. Context node = text
         /// attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1151()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1151(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "/Doc/Test1/Child1/text()";
@@ -6400,15 +6846,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Attribute axis is empty if the context node is not an element. Context node = comment
         /// attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1152()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1152(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/comment()";
@@ -6416,15 +6865,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Attribute axis is empty if the context node is not an element. Context node = namespace node
         /// NS6: namespace::NSbook/attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1153()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1153(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection";
@@ -6432,74 +6884,89 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// namespace axis should be empty if the context node is not an element (attribute in this case)
         /// NS7: //@*/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1154()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1154(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//@*/namespace::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// namespace axis should be empty if the context node is not an element (text in this case)
         /// NS8: //text()/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1155()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1155(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//text()/namespace::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// namespace axis should be empty if the context node is not an element (PI in this case)
         /// NS9: //processing-instruction()/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1156()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1156(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//processing-instruction()/namespace::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// namespace axis should be empty if the context node is not an element (comment in this case)
         /// NS10: //comment()/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1157()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1157(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//comment()/namespace::*";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// NS11: namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1158()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1158(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"/store/booksection/book/namespace::*";
@@ -6538,15 +7005,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// a node for xml is declared implicitly
         /// NS12: namespace::xml
         /// </summary>
-        [Fact]
-        public static void AxesTest1159()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1159(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"/store/booksection/book/namespace::xml";
@@ -6569,15 +7039,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// check that namespace node has the element node as its parent node
         /// NS13: /store/booksection/namespace::NSbook/parent::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1160()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1160(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"/store/booksection/namespace::NSbook/parent::*";
@@ -6594,15 +7067,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// namespace declared in an ancestor
         /// NS15: /store/booksection/book/namespace::NSbook
         /// </summary>
-        [Fact]
-        public static void AxesTest1161()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1161(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"/store/booksection/book/namespace::NSbook";
@@ -6625,15 +7101,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// namespace declared in the ancestors twice. Check that the last one overwrites the previous one.
         /// NS16: string(/store/moviesection/documentry/NSmovie:movie/namespace::NSmovie)
         /// </summary>
-        [Fact]
-        public static void AxesTest1162()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1162(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"string(/store/moviesection/documentry/NSmovie:movie/namespace::NSmovie)";
@@ -6642,15 +7121,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             namespaceManager.AddNamespace("NSmovie", "http://documentry.htm");
             var expected = @"http://documentry.htm";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// namespace declared in the ancestors twice. Check that the last one overwrites the previous one.
         /// NS17: /store/moviesection/documentry/NSmovie:movie/namespace::NSmovie
         /// </summary>
-        [Fact]
-        public static void AxesTest1163()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1163(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"/store/moviesection/documentry/NSmovie:movie/namespace::NSmovie";
@@ -6668,57 +7150,69 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// string value of the namespace node is the namespace URI that is bound to the prefix.
         /// NS18: string(/store/moviesection/namespace::*[1])
         /// </summary>
-        [Fact]
-        public static void AxesTest1164()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1164(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"string(/store/moviesection/namespace::*[1])";
             var expected = @"http://movie.htm";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// the namespace-uri() should always be a null string
         /// NS19: namespace-uri(/store/moviesection/namespace::*[1])
         /// </summary>
-        [Fact]
-        public static void AxesTest1165()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1165(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"namespace-uri(/store/moviesection/namespace::*[1])";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// the namespace-uri() should always be a null string, node has a default NS
         /// NS20: namespace-uri(/store/moviesection/namespace::*[1])
         /// </summary>
-        [Fact]
-        public static void AxesTest1166()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1166(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"namespace-uri(/store/moviesection/namespace::*[1])";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// the namespace-uri() should always be a null string, node has a prefix
         /// NS21: namespace-uri(/store/moviesection/namespace::*[1])
         /// </summary>
-        [Fact]
-        public static void AxesTest1167()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1167(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"namespace-uri(/store/moviesection/NSMovie:*/namespace::*[1])";
@@ -6727,14 +7221,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
             namespaceManager.AddNamespace("NSMovie", "http://movie.htm");
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// NS22: //namespace::cnn
         /// </summary>
-        [Fact]
-        public static void AxesTest1168()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1168(Utils.NavigatorKind kind)
         {
             var xml = "namespaces.xml";
             var testExpression = @"//namespace::cnn";
@@ -6757,15 +7254,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// select all elements that have the default namespace child, should return all main companies
         /// NS23: //* [namespace::*="http://companies_default.htm"]
         /// </summary>
-        [Fact]
-        public static void AxesTest1169()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1169(Utils.NavigatorKind kind)
         {
             var xml = "namespaces.xml";
             var testExpression = @"//* [namespace::*=""http://companies_default.htm""]";
@@ -6783,14 +7283,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// NS24: //company[2]/aol:company/tw:company/namespace::cnn
         /// </summary>
-        [Fact]
-        public static void AxesTest1170()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1170(Utils.NavigatorKind kind)
         {
             var xml = "namespaces.xml";
             var testExpression = @"//company[2]/aol:company/tw:company/namespace::cnn";
@@ -6809,14 +7312,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// NS25: //company[2]/aol:company/tw:company/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1171()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1171(Utils.NavigatorKind kind)
         {
             var xml = "namespaces.xml";
             var testExpression = @"//company[2]/aol:company/tw:company/namespace::*";
@@ -6859,15 +7365,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Prefixes are redefined, checks that this is done correctly
-        /// NS26: //prefix:*//namespace::node()
+        /// NS26: //prefix:*//namespace::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1172()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1172(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var testExpression = @"//prefix:*//namespace::node()";
@@ -6909,15 +7418,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Default namespace is redefined, checks that this is done correctly
-        /// NS27: //namespace::node()
+        /// NS27: //namespace::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1173()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1173(Utils.NavigatorKind kind)
         {
             var xml = "ns_default.xml";
             var testExpression = @"//namespace::node()";
@@ -7032,15 +7544,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// All namespace nodes belong to the null namespace
         /// NS28: //namespace::prefix:*
         /// </summary>
-        [Fact]
-        public static void AxesTest1174()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1174(Utils.NavigatorKind kind)
         {
             var xml = "namespaces.xml";
             var testExpression = @"//namespace::prefix:*";
@@ -7050,15 +7565,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// All namespace nodes belong to the null namespace
         /// NS29: //namespace::prefix:*
         /// </summary>
-        [Fact]
-        public static void AxesTest1175()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1175(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var testExpression = @"//namespace::prefix:*";
@@ -7068,15 +7586,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Default namespace should be cleared by the xmlns="""" declaration
         /// NS30: //node()[namespace-uri()=""]
         /// </summary>
-        [Fact]
-        public static void AxesTest1176()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1176(Utils.NavigatorKind kind)
         {
             var xml = "ns_default.xml";
             var testExpression = @"//node()[namespace-uri()=""""]";
@@ -7130,14 +7651,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// preceding, predicate uses position()
+        /// preceding, predicate uses position(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1177()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1177(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book[7]/preceding::book[1]";
@@ -7154,14 +7678,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// preceding-sibling, predicate uses position()
+        /// preceding-sibling, predicate uses position(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1178()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1178(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book[7]/preceding-sibling::book[1]";
@@ -7178,15 +7705,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// Verify that . is equivalent to self::node()
-        /// . = self::node()
+        /// Verify that . is equivalent to self::node(Utils.NavigatorKind kind)
+        /// . = self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1179()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1179(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/magazine/.";
@@ -7254,15 +7784,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// verify that .. is equivalent to parent::node()
-        /// .. = parent::node()
+        /// verify that .. is equivalent to parent::node(Utils.NavigatorKind kind)
+        /// .. = parent::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1180()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1180(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/magazine/title/..";
@@ -7310,15 +7843,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Nodes are not repeated in a node-set. Magazine nodes should not be repeated
         /// /bookstore/book/following-sibling::magazine
         /// </summary>
-        [Fact]
-        public static void AxesTest1181()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1181(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book/following-sibling::magazine";
@@ -7386,15 +7922,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Nodes are not repeated in a node-set. Uses node() to get nodes of all types
-        /// /bookstore/book/following-sibling::node()
+        /// /bookstore/book/following-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1182()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1182(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book/following-sibling::node()";
@@ -7592,15 +8131,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Combines following with child axis
         /// following::book/child::title
         /// </summary>
-        [Fact]
-        public static void AxesTest1195()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1195(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -7662,15 +8204,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with descendant axis
         /// following::book/descendant::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1196()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1196(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -8221,15 +8766,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with parent axis
         /// following::book/parent::bookstore
         /// </summary>
-        [Fact]
-        public static void AxesTest1197()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1197(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -8248,15 +8796,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with ancestor axis
         /// following::book/title/ancestor::bookstore
         /// </summary>
-        [Fact]
-        public static void AxesTest1198()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1198(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -8275,15 +8826,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with following-sibling axis
         /// following::book/following-sibling::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1199()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1199(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -8345,15 +8899,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with preceding-sibling axis
         /// following::book/preceding-sibling::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1200()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1200(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -8426,15 +8983,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with following axis
         /// following::book/following::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1201()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1201(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -8496,15 +9056,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with preceding axis
         /// following::book/preceding::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1202()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1202(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -8577,15 +9140,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with attribute axis
         /// following::magazine/attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1203()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1203(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -8689,15 +9255,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with namespace axis
         /// NS31: following::NSmovie:*/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1204()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1204(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection";
@@ -8740,16 +9309,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with self axis
-        /// following::book/self::node()
+        /// following::book/self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1205()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1205(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -8822,15 +9394,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with descendant-or-self axis
-        /// following::book/descendant-or-self::node()
+        /// following::book/descendant-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1206()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1206(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -9626,15 +10201,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with ancestor-or-self axis
         /// following::book/ancestor-or-self::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1207()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1207(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
@@ -9664,15 +10242,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines following with namespace axis
         /// NS32: following::node()/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1208()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1208(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var startingNodePath = "//prefix:*";
@@ -9723,7 +10304,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -9731,8 +10312,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Combines preceding with child axis
         /// preceding::book/child::title
         /// </summary>
-        [Fact]
-        public static void AxesTest1209()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1209(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]";
@@ -9749,15 +10333,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding with descendant axis
         /// preceding::book/descendant::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1210()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1210(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]";
@@ -9830,15 +10417,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding with parent axis
         /// preceding::book/parent::bookstore
         /// </summary>
-        [Fact]
-        public static void AxesTest1211()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1211(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]";
@@ -9857,15 +10447,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding with ancestor axis
         /// preceding::book/title/ancestor::bookstore
         /// </summary>
-        [Fact]
-        public static void AxesTest1212()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1212(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]";
@@ -9884,15 +10477,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding with following-sibling axis
         /// preceding::book/following-sibling::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1213()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1213(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]";
@@ -9965,15 +10561,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding with preceding-sibling axis
         /// preceding::book/preceding-sibling::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1214()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1214(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[3]";
@@ -9992,15 +10591,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding with following axis
         /// preceding::book/following::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1215()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1215(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]";
@@ -10073,15 +10675,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding with preceding axis
         /// preceding::book/preceding::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1216()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1216(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[3]";
@@ -10100,15 +10705,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding with attribute axis
         /// preceding::magazine/attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1217()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1217(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]";
@@ -10212,15 +10820,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding with namespace axis
         /// NS33: preceding::NSbook:book/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1218()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1218(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection/book[1]";
@@ -10263,7 +10874,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -10271,8 +10882,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Combines preceding with namespace axis
         /// NS34: preceding::prefix1:elem/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1219()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1219(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var startingNodePath = "//prefix:*";
@@ -10316,7 +10930,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -10324,8 +10938,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Combines preceding with namespace axis
         /// NS35: preceding::prefix1:elem/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1220()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1220(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var startingNodePath = "//prefix:*";
@@ -10337,16 +10954,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding with self axis
-        /// preceding::book/self::node()
+        /// preceding::book/self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1221()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1221(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]";
@@ -10365,15 +10985,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding with descendant-or-self axis
-        /// preceding::book/descendant-or-self::node()
+        /// preceding::book/descendant-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1222()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1222(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]";
@@ -10482,15 +11105,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines preceding with ancestor-or-self axis
         /// preceding::book/ancestor-or-self::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1223()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1223(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]";
@@ -10520,15 +11146,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with child axis
         /// parent::book/child::author
         /// </summary>
-        [Fact]
-        public static void AxesTest1224()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1224(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/title";
@@ -10545,15 +11174,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with descendant axis
         /// parent::*/descendant::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1225()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1225(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/title";
@@ -10626,15 +11258,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with parent axis
         /// parent::*/parent::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1226()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1226(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author";
@@ -10653,15 +11288,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with ancestor axis
         /// parent::author/ancestor::bookstore
         /// </summary>
-        [Fact]
-        public static void AxesTest1227()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1227(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]/author/last-name";
@@ -10680,15 +11318,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with following-sibling axis
         /// parent::*/following-sibling::magazine
         /// </summary>
-        [Fact]
-        public static void AxesTest1228()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1228(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/author";
@@ -10757,15 +11398,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with following axis
         /// parent::book/following::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1229()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1229(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/title";
@@ -10838,15 +11482,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with preceding axis
         /// parent::*/preceding::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1230()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1230(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/title";
@@ -10919,15 +11566,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with preceding-sibling axis
         /// parent::*/preceding-sibling::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1231()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1231(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/title";
@@ -11000,15 +11650,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with attribute axis
         /// parent::*/attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1232()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1232(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[1]/title";
@@ -11032,15 +11685,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with namespace axis
         /// NS36: parent::*/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1233()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1233(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection/NSbook:book[1]/NSbook:title";
@@ -11067,7 +11723,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -11075,8 +11731,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Combines parent with namespace axis
         /// NS37: parent::*[local-name()="elem"]/namespace::prefix
         /// </summary>
-        [Fact]
-        public static void AxesTest1234()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1234(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var startingNodePath = "//prefix:*";
@@ -11095,16 +11754,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with self axis
-        /// parent::book/self::node()
+        /// parent::book/self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1235()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1235(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/title";
@@ -11123,15 +11785,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with descendant-or-self axis
-        /// parent::book/descendant-or-self::node()
+        /// parent::book/descendant-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1236()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1236(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/title";
@@ -11256,15 +11921,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines parent with ancestor-or-self axis
         /// parent::*/ancestor-or-self::bookstore
         /// </summary>
-        [Fact]
-        public static void AxesTest1237()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1237(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]/author/last-name";
@@ -11283,15 +11951,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with child axis
         /// ancestor::book/child::author
         /// </summary>
-        [Fact]
-        public static void AxesTest1238()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1238(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/title";
@@ -11308,15 +11979,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with descendant axis
         /// ancestor::*/descendant::magazine
         /// </summary>
-        [Fact]
-        public static void AxesTest1239()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1239(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/title";
@@ -11385,15 +12059,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with parent axis
         /// ancestor::*/parent::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1240()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1240(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author";
@@ -11412,15 +12089,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with ancestor axis
         /// ancestor::book/ancestor::bookstore
         /// </summary>
-        [Fact]
-        public static void AxesTest1241()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1241(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]/author/last-name";
@@ -11439,15 +12119,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with following-sibling axis
         /// ancestor::book/following-sibling::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1242()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1242(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]/author/last-name";
@@ -11487,15 +12170,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with following axis
         /// ancestor::*/following::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1243()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1243(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/title/text()";
@@ -11568,15 +12254,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with preceding axis
         /// ancestor::*/preceding::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1244()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1244(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/title";
@@ -11649,15 +12338,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with preceding-sibling axis
         /// ancestor::*/preceding-sibling::book
         /// </summary>
-        [Fact]
-        public static void AxesTest1245()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1245(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/title";
@@ -11730,15 +12422,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with attribute axis
         /// ancestor::magazine/attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1246()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1246(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[1]/title";
@@ -11762,15 +12457,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with namespace axis
         /// NS38: ancestor::*/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1247()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1247(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var startingNodePath = "/store/booksection/NSbook:book[1]/NSbook:title";
@@ -11821,7 +12519,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -11829,8 +12527,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Combines ancestor with namespace axis
         /// NS39: ancestor::store/namespace::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1248()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1248(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/default:store/default:booksection/NSbook:book[1]/NSbook:title";
@@ -11842,16 +12543,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with self axis
-        /// ancestor::book/self::node()
+        /// ancestor::book/self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1249()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1249(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/title";
@@ -11870,15 +12574,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with descendant-or-self axis
-        /// ancestor::book/descendant-or-self::node()
+        /// ancestor::book/descendant-or-self::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1250()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1250(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/title";
@@ -12003,15 +12710,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Combines ancestor with ancestor-or-self axis
         /// ancestor::*/ancestor-or-self::bookstore
         /// </summary>
-        [Fact]
-        public static void AxesTest1251()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1251(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]/author/last-name";
@@ -12030,14 +12740,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// following-sibling::node()
+        /// following-sibling::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1252()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1252(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr1";
@@ -12045,14 +12758,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// attr node on following axis
         /// </summary>
-        [Fact]
-        public static void AxesTest1253()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1253(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr1";
@@ -12100,14 +12816,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// attr node on following axis
         /// </summary>
-        [Fact]
-        public static void AxesTest1254()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1254(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr1";
@@ -12115,14 +12834,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// attr node on following axis
         /// </summary>
-        [Fact]
-        public static void AxesTest1255()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1255(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr1";
@@ -12132,14 +12854,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// //*[last()]/preceding::processing-instruction()
+        /// //*[last()]/preceding::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1256()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1256(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"//*[last()]/preceding::processing-instruction()";
@@ -12162,14 +12887,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// //*[last()]/preceding-sibling::processing-instruction()
+        /// //*[last()]/preceding-sibling::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1257()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1257(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"//*[last()]/preceding-sibling::processing-instruction()";
@@ -12192,14 +12920,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// //*[1]/following::processing-instruction()
+        /// //*[1]/following::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1258()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1258(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"//*[1]/following::processing-instruction()";
@@ -12222,14 +12953,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// //*[1]/descendant-or-self::processing-instruction()
+        /// //*[1]/descendant-or-self::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1259()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1259(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"//*[1]/descendant-or-self::processing-instruction()";
@@ -12252,28 +12986,34 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// //*[last()]/parent::processing-instruction()
+        /// //*[last()]/parent::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1260()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1260(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"//*[last()]/parent::processing-instruction()";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// //*[1]/following::processing-instruction()
+        /// //*[1]/following::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1261()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1261(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"//*[1]/following::processing-instruction()";
@@ -12296,14 +13036,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// //*[1]/following-sibling::processing-instruction()
+        /// //*[1]/following-sibling::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1262()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1262(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"//*[1]/following-sibling::processing-instruction()";
@@ -12318,14 +13061,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// //*[last()]/child::processing-instruction()
+        /// //*[last()]/child::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1263()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1263(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"//*[last()]/child::processing-instruction()";
@@ -12340,43 +13086,52 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// //*[last()]/ancestor::processing-instruction()
+        /// //*[last()]/ancestor::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1264()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1264(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"//*[last()]/ancestor::processing-instruction()";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// //*[last()]/ancestor-or-self::processing-instruction()
+        /// //*[last()]/ancestor-or-self::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1265()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1265(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"//*[last()]/ancestor-or-self::processing-instruction()";
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Test to verify that namespace nodes are before attribute nodes in document order
         /// NS40: namespace::* | attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1266()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1266(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/def:store/def:booksection/bk:book";
@@ -12426,7 +13181,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -12434,8 +13189,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Adhoc
         /// //NSbook:* | //NSmovie
         /// </summary>
-        [Fact]
-        public static void AxesTest1267()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1267(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//NSbook:* | //NSmovie:*";
@@ -12515,14 +13273,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// //NSbook:*
         /// </summary>
-        [Fact]
-        public static void AxesTest1268()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1268(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//NSbook:*";
@@ -12578,14 +13339,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// /bookstore/NSbook:*/NSbook:*
         /// </summary>
-        [Fact]
-        public static void AxesTest1269()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1269(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"/bookstore/NSbook:*/NSbook:*";
@@ -12596,14 +13360,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
             var expected = new XPathResult(0);
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// //*//*
         /// </summary>
-        [Fact]
-        public static void AxesTest1270()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1270(Utils.NavigatorKind kind)
         {
             var xml = "test1.xml";
             var testExpression = @"//*//*";
@@ -12626,15 +13393,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //*//*
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesTest1271()
+        public static void AxesTest1271(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//*//*";
@@ -13726,15 +14496,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// //node()//node()
+        /// //node()//node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void AxesTest1272()
+        public static void AxesTest1272(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//node()//node()";
@@ -15168,14 +15941,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// /*//node()
+        /// /*//node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1273()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1273(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/*//node()";
@@ -16609,15 +17385,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 72400
         /// NSXX: namespace::* | attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1274()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1274(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/def:store/def:booksection/def:book";
@@ -16667,7 +17446,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -16675,8 +17454,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Regression case for 72400
         /// NSXX: namespace::xml | attribute::inventory
         /// </summary>
-        [Fact]
-        public static void AxesTest1275()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1275(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/def:store/def:booksection/def:book";
@@ -16704,7 +17486,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -16712,8 +17494,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Regression case for 72400
         /// NSXX: namespace::* | attribute::*
         /// </summary>
-        [Fact]
-        public static void AxesTest1276()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1276(Utils.NavigatorKind kind)
         {
             var xml = "ns_prefixes.xml";
             var startingNodePath = "/document/elem";
@@ -16737,14 +17522,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 });
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
-        /// variations/node()
+        /// variations/node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1277()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1277(Utils.NavigatorKind kind)
         {
             var xml = "test63733.xml";
             var testExpression = @"variations/node()";
@@ -16762,14 +17550,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.SignificantWhitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// //node()
+        /// //node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1278()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1278(Utils.NavigatorKind kind)
         {
             var xml = "space.xml";
             var testExpression = @"//node()";
@@ -16912,14 +17703,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// //text()
+        /// //text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void AxesTest1279()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void AxesTest1279(Utils.NavigatorKind kind)
         {
             var xml = "space.xml";
             var testExpression = @"//text()";
@@ -16961,7 +17755,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken {NodeType = XPathNodeType.Whitespace, HasNameTable = true});
             ;
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
     }
 }
index 7aa64fd..b8a95d0 100644 (file)
@@ -1,11 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths.NodeTests
 {
@@ -18,194 +15,233 @@ namespace XPathTests.FunctionalTests.Location.Paths.NodeTests
         /// Expected: True (based on context node).
         /// text() (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest91()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest91(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var startingNodePath = "//text()[1]";
             var testExpression = @"text()";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).  Fix test code to move to testexpr node, thus expected=true.
         /// text() (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest92()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest92(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var startingNodePath = "/Doc";
             var testExpression = @"text()";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// comment() (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest93()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest93(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var startingNodePath = "/Doc/comment()";
             var testExpression = @"comment()";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).
         /// comment() (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest94()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest94(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var startingNodePath = "/Doc/comment()";
             var testExpression = @"comment()";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// node() (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest95()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest95(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var startingNodePath = "/Doc";
             var testExpression = @"node()";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// node() (Matches = false, attribute node)
         /// </summary>
-        [Fact]
-        public static void MatchesTest96()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest96(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var startingNodePath = "/Doc/Chap/Title/@Attr1";
             var testExpression = @"node()";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).  Fix test code to move to testexpr node, thus expected=true.
         /// node() (Matches = true, root node)
         /// </summary>
-        [Fact]
-        public static void MatchesTest97()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest97(Utils.NavigatorKind kind)
         {
             var xml = "xp002.xml";
             var testExpression = @"node()";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected: Selects all PI node children of the context node.
         /// descendant::processing-instruction() (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest98()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest98(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var startingNodePath = "/processing-instruction()[1]";
             var testExpression = @"processing-instruction()";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all PI node children of the context node.
         /// descendant::processing-instruction() (Matches = false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest99()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest99(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var startingNodePath = "/Doc";
             var testExpression = @"processing-instruction()";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: True (based on context node).
         /// para (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest910()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest910(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para";
             var testExpression = @"Para";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: False (based on context node).  Fix test code to move to testexpr node, thus expected=true.
         /// para (Matches = true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest911()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest911(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
             var testExpression = @"Para";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all PI node children of the context node with name = ""PI1"".
         /// processing-instruction('PI1') (true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest912()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest912(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var startingNodePath = "//node()[1]";
             var testExpression = @"processing-instruction('PI1')";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all PI node children of the context node with name = ""PI1"".
         /// processing-instruction('PI1') (false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest913()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest913(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var startingNodePath = "//node()[2]";
             var testExpression = @"processing-instruction('PI1')";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
     }
 }
index a614b1c..7d3327d 100644 (file)
@@ -1,12 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
+using System.Xml.Linq;
 using System.Xml.XPath;
 using XPathTests.Common;
-using System.Xml.Linq;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths
 {
@@ -40,10 +38,13 @@ namespace XPathTests.FunctionalTests.Location.Paths
 
         /// <summary>
         /// Expected: Selects all text node descendants of the context node.
-        /// descendant::text()
+        /// descendant::text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest81()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest81(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var startingNodePath = "/Doc";
@@ -80,15 +81,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all comment node descendants of the context node.
-        /// descendant::comment()
+        /// descendant::comment(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest82()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest82(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var startingNodePath = "/Doc";
@@ -97,15 +101,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken { NodeType = XPathNodeType.Comment, HasNameTable = true, Value = " Doc Comment " },
                 new XPathResultToken { NodeType = XPathNodeType.Comment, HasNameTable = true, Value = " Chap Comment " });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all node descendants of the context node.
-        /// descendant::node()
+        /// descendant::node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest83()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest83(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var startingNodePath = "/Doc";
@@ -225,15 +232,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects all PI node children of the context node.
-        /// descendant::processing-instruction()
+        /// descendant::processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest84()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest84(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var testExpression = @"descendant::processing-instruction()";
@@ -253,15 +263,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     HasNameTable = true
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected: Selects all PI node children of the context node with name = ""PI1"".
         /// processing-instruction('PI1')
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest85()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest85(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var testExpression = @"descendant::processing-instruction('PI1')";
@@ -274,15 +287,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     HasNameTable = true
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected: Selects all PI node children of the context node with name = ""PI1"".
         /// processing-instruction("PI1")
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest86()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest86(Utils.NavigatorKind kind)
         {
             var xml = "xp003.xml";
             var testExpression = @"descendant::processing-instruction(""PI1"")";
@@ -295,15 +311,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     HasNameTable = true
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected: Selects all node descendants of the context node.
         /// descendant::para
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest87()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest87(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -337,15 +356,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Second paragraph "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects node of same type AND name.
         /// Set node test to return node with same name but different type (return attribute with name of para and also have child element with name of para).
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest88()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest88(Utils.NavigatorKind kind)
         {
             var xml = "xp006.xml";
             var startingNodePath = "/Doc/Test1";
@@ -361,15 +383,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Para1"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects node of same type AND name.
         /// Set node test to return node with same name but different type (return element with name of para and also have an attribute with name of para).
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest89()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest89(Utils.NavigatorKind kind)
         {
             var xml = "xp006.xml";
             var startingNodePath = "/Doc/Test1";
@@ -384,15 +409,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Para1"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// QName of only the principal node type can be used in the node test. For child axis it is the element node type.
         /// /bookstore/child::book
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest811()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest811(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/child::book";
@@ -474,28 +502,34 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// QName of only the principal node type can be used in the node test. The test expression uses name of an attribute. Expected empty node-set.
         /// /bookstore/magazine/child::frequency
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest812()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest812(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/magazine/child::frequency";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Node test text(). All text nodes should be selected
-        /// /bookstore/book/text()
+        /// /bookstore/book/text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest813()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest813(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book/text()";
@@ -530,15 +564,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Node test comment(). All comment nodes should be selected
-        /// /comment()
+        /// /comment(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest814()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest814(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/comment()";
@@ -550,28 +587,34 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = " This file represents a fragment of a book store inventory database "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Node test processing-instruction(). All PI nodes should be selected
-        /// /processing-instruction()
+        /// /processing-instruction(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest815()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest815(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/processing-instruction()";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Node test node(). All nodes, irrespective of type, should be selected
-        /// //node()
+        /// //node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void NodeTestsTest816()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeTestsTest816(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//node()";
@@ -2021,7 +2064,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
     }
 }
index 5160722..f06667c 100644 (file)
@@ -1,11 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths.Predicates
 {
@@ -17,8 +16,11 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// <summary>
         /// child::*[last() or following::* | count(preceding::*)> string-length(name())]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest51()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest51(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -210,29 +212,35 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tWhere in the world is Trenton?\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant::*[position()&lt;last() and count(*[following::* > 3]) and local-name!="title"]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest52()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest52(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression =
                 @"descendant::*[position()<last() and count(*[following::* > 3]) and local-name!=""title""] ";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant::*[position()&lt;last() and count(following::*)> 3 and local-name()!="title"]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest53()
+        public static void ComplexExpressionsTest53(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1489,30 +1497,36 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Should not select anything, since there is no child element called last-name
         /// descendant::*[position()&lt;last() and count(following::*)> 3 and local-name!="title"]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest54()
+        public static void ComplexExpressionsTest54(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression =
                 @"descendant::node()[position()<last() and count(following::*) > 3 and local-name!=""title""] ";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant::*/parent::*[name(parent::* )!="bookstore" and name()!="title"]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest55()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest55(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1701,15 +1715,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// position on node set
         /// (//node()/ancestor::node())[position()<2]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest56()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest56(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1723,15 +1740,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Define a range for the position
         /// //node()[position()>2 and position()<7]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest57()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest57(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -2299,15 +2319,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Define a range for the position
         /// /descendant::text()[contains(string(),"Trenton")]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest58()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest58(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -2375,15 +2398,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "Where in the world is Trenton?"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Cascaded predicates
         /// descendant::*[count(child::*[count(child::text())>0])>0]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest59()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest59(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -2746,15 +2772,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tWhere in the world is Trenton?\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Cascaded predicates
         /// book/child::*[child::*[following::magazine[@frequency]]]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest510()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest510(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -2819,15 +2848,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Cascaded predicates
         /// descendant::*[contains(translate(string(),"bB","aA"),"Aoa")]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest511()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest511(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -2964,15 +2996,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "Robert Bob"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Uses number
         /// descendant::node()[number(.)>12]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest512()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest512(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3010,15 +3045,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                 },
                 new XPathResultToken { NodeType = XPathNodeType.Text, HasNameTable = true, Value = "55" });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// predicate on node set. Only one node should be selected
         /// (child::*/child::*)[last()]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest513()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest513(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3036,15 +3074,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "Where in the world is Trenton?"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// predicate on location path. More than one node should be selected
         /// child::*/child::*[last()]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest514()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest514(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3214,15 +3255,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "Where in the world is Trenton?"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Complex expression
         /// child::*[descendant::*[contains(string(),"MSFT")]]/child::price
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest515()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest515(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3239,14 +3283,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "3.95"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// node()/following-sibling::*[preceding-sibling::*[local-name()='magazine']]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest516()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest516(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3395,14 +3442,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tWhere in the world is Trenton?\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// node()[local-name()='magazine']
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest517()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest517(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3482,14 +3532,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// node()/preceding-sibling::*[following-sibling::*[local-name()='magazine']]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest518()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest518(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3622,14 +3675,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// descendant-or-self::*[child::*[local-name()='magazine']]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest519()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest519(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3647,29 +3703,35 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate expression for namespace axis
         /// store/namespace::*/following::*[string-length(string())>count(child::*)][count(namespace::*)>2][not(@*[local-name()="inventory"][.="m112"])]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest520()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest520(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression =
                 @"store/namespace::*/following::*[string-length(string())>count(child::*)][count(namespace::*)>2][not(@*[local-name()=""inventory""][.=""m112""])]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate expression for namespace axis
         /// store/p1:booksection/p2:book[namespace::NSbook[following::p5:*]]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest521()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest521(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"store/p1:booksection/p2:book[namespace::NSbook[following::p5:*]]";
@@ -3681,15 +3743,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
             namespaceManager.AddNamespace("p4", "http://movie.htm");
             namespaceManager.AddNamespace("p5", "http://documentry.htm");
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// predicate on location path. More than one node should be selected
         /// (//last-name)[. != 'Bob'][position() &lt; last()]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest522()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest522(Utils.NavigatorKind kind)
         {
             var xml = "data4.xml";
             var testExpression = @"(//last-name)[. != 'Bob'][position() < last()]";
@@ -3755,15 +3820,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     XmlLang = "en-usabcd"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// /descendant-or-self::* [position()>=1]/ancestor-or-self::*[position() <=5]/descendant::* [position()=1 or position()=2 or position()>3]/ancestor::*
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void ComplexExpressionsTest523()
+        public static void ComplexExpressionsTest523(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -4137,15 +4205,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tWhere in the world is Trenton?\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// predicate on location path. More than one node should be selected
         /// root/foo/bar[preceding::foo/bar[2]]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest524()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest524(Utils.NavigatorKind kind)
         {
             var xml = "test66246.xml";
             var testExpression = @"root/foo/bar[preceding::foo/bar[2]]";
@@ -4205,15 +4276,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "9"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Regression case for 73549
         /// descendant::*[child::*[.="Joe"][following-sibling::*[.="USA"]]]
         /// </summary>
-        [Fact]
-        public static void ComplexExpressionsTest525()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void ComplexExpressionsTest525(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -4229,7 +4303,7 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
     }
 }
index fcc199c..af6e7e5 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths.Predicates
 {
@@ -18,14 +16,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Verify: Returned node is correct (document order).
         /// Forward-Axis. Set predicate filter to return 3rd node
         /// </summary>
-        [Fact]
-        public static void MatchesTest111()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest111(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap";
             var testExpression = @"descendant::*[3]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -33,44 +34,53 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Expected: Selects 2nd, 3rd, 4th and 5th element children of the context node.
         /// child::*[position() >= 2][position() <= 4]
         /// </summary>
-        [Fact]
-        public static void MatchesTest112()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest112(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1/Child3";
             var testExpression = @"child::*[position() >= 2][position() <= 4]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Simple expression - Should return author node with a country node in a publication node.
         /// book/author[publication/country]
         /// </summary>
-        [Fact]
-        public static void MatchesTest113()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest113(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author";
             var testExpression = @"book/author[publication/country]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate within a predicate - Return all authors with a last-name equal to the first last-name node.
         /// (book/author)[last-name=(/bookstore/book/author)[1]/last-name]
         /// </summary>
-        [Fact]
-        public static void MatchesTest114()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest114(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/author";
             var testExpression = @"(book/author)[last-name=(/bookstore/book/author/last-name)[1]]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -78,329 +88,395 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Return all authors with a last-name not equal to the first last-name node. Cascaded predicates using !=
         /// book/author[last-name!=(/bookstore/book/author)[1]/last-name]
         /// </summary>
-        [Fact]
-        public static void MatchesTest115()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest115(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]/author";
             var testExpression = @"book/author[last-name!=(/bookstore/book/author)[1]/last-name]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Cascaded predicates using <= Return all authors with a last name less than or equal to the first author's last-name.
         /// book/author[last-name<=(/bookstore/book/author[1]/last-name)]
         /// </summary>
-        [Fact]
-        public static void MatchesTest116()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest116(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author";
             var testExpression = @"book/author[last-name<=(/bookstore/book/author[1]/last-name)]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator = - Return all books with a price of 55.
         /// book[price=55]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1110()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1110(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]";
             var testExpression = @"book[price=55]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator != - Return all authors of books with a price not equal to 55.56.
         /// book/author[parent::book/price!=55.56]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1111()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1111(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/author";
             var testExpression = @"book/author[parent::book/price!=55.56]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator <= - Return all authors of books with a price less than or equal to 10.0001.
         /// book/author[parent::book/price&lt;=10.0001]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1112()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1112(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[5]/author";
             var testExpression = @"book/author[parent::book/price<=10.0001]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator >= - Return all authors of books with a price greater than or equal to .0001.
         /// book/author[parent::book/price&gt;=.0001]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1113()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1113(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]/author";
             var testExpression = @"book/author[parent::book/price>=.0001]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator < - Return all authors of books with a price less than 10.0.
         /// book/author[parent::book/price&lt;10.0]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1114()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1114(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]/author";
             var testExpression = @"book/author[parent::book/price<10.0]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator > - Return all authors of books with a price greater than 55.0.
         /// book/author[parent::book/price&gt;55.0] (true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest1115()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1115(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[3]/author";
             var testExpression = @"book/author[parent::book/price>55.0]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator > - Return all authors of books with a price greater than 55.0.
         /// book/author[parent::book/price&gt;55.0] (false)
         /// </summary>
-        [Fact]
-        public static void MatchesTest1116()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1116(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author";
             var testExpression = @"book/author[parent::book/price>55.0]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a sting constant, using operator = - Return all book authors with a last-name equal to ""Bob"".
         /// book/author[last-name="Bob"]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1117()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1117(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/author";
             var testExpression = @"book/author[last-name='Bob']";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a sting constant, using operator != - Return all book authors with a last-name not equal to ""Bob"".
         /// book/author[last-name!="Bob"]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1118()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1118(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]/author";
             var testExpression = @"book/author[last-name!='Bob']";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a sting constant, using operator >= - Return all book authors with a last-name greater than or equal to ""Robinson"".
         /// book/author[last-name>="Robinson"]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1119()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1119(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]";
             var testExpression = @"book/author[last-name>='Robinson']";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a sting constant, using operator > - Return all book authors with a last-name greater than ""R"".
         /// book/author[last-name>"R"]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1120()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1120(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]";
             var testExpression = @"book/author[last-name>'R']";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a sting constant, using operator < - Return all book authors with a last-name less than ""Boc"".
         /// book/author[last-name<"Boc"]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1121()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1121(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/author";
             var testExpression = @"book/author[last-name<'Boc']";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node to true() - Return all book authors with an award.
         /// book/author[award=true()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1122()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1122(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/author";
             var testExpression = @"book/author[award=true()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing with true() and false() - Return all book titles.
         /// book/title[true()!=false()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1123()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1123(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[5]/title";
             var testExpression = @"book/title[true()!=false()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing true() with a positive number - Return all book titles.
         /// book/title[true()=5]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1124()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1124(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
             var testExpression = @"book/title[true()=5]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing false() with a string constant - Return all book titles.
         /// book/title[false()!='gramps']
         /// </summary>
-        [Fact]
-        public static void MatchesTest1125()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1125(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/title";
             var testExpression = @"book/title[false()!='gramps']";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing negative numbers - Return all magazine titles.
         /// magazine/title[-23.987 = -23.987]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1126()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1126(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[1]/title";
             var testExpression = @"magazine/title[-23.987 = -23.987]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing number to string constant - Return all magazine titles.
         /// magazine/title[0!="z"]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1127()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1127(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/title";
             var testExpression = @"magazine/title[0!=' -  100   ']";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing string constant to string constant - Return all magazine titles.
         /// magazine/title["z"="z"]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1128()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1128(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine/title";
             var testExpression = @"magazine/title['z'='z']";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Using a mathematical expression in the predicate - Return 3rd book's title.
         /// (book/title)[2+1]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1129()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1129(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[3]/title";
             var testExpression = @"(book/title)[2+1]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -408,14 +484,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Using a mathematical expression in the predicate - Return 2nd book's title.
         /// (book/title)[100-98]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1130()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1130(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/title";
             var testExpression = @"(book/title)[100-98]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -423,14 +502,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Using a mathematical expression in the predicate - Return all book's titles.
         /// (book/title)[(8/4)=2]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1131()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1131(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[3]/title";
             var testExpression = @"(book/title)[(8/4)=2]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -438,14 +520,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Using a mathematical expression in the predicate - Return 4th book's title.
         /// (book/title)[2*2]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1132()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1132(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[4]/title";
             var testExpression = @"(book/title)[2*2]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -453,14 +538,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Using a non-integer number as the position - Return empty node-list.
         /// (book/title)[5.01]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1133()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1133(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[5]/title";
             var testExpression = @"(book/title)[5.01]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -468,29 +556,35 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Whitespace check - (Whitespace test) Return all book's author's last-names.
         /// book / author  /      last-name
         /// </summary>
-        [Fact]
-        public static void MatchesTest1134()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1134(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]//last-name";
             var testExpression = @"book / author  /      last-name";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Invalid expression - Error Case.
         /// child::node()[Schema|]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1135()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1135(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"child::node()[Schema|]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -498,117 +592,141 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Predicate containing attribute - Return all nodes with a style attribute.
         /// *[@style]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1139()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1139(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
             var testExpression = @"*[@style]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate using and - Return all author's with a degree and an award.\
         /// bookstore//author[degree and award]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1140()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1140(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/author";
             var testExpression = @"bookstore//author[degree and award]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate using or - Return all author's with a degree or an award and a publication.
         /// bookstore//author[(degree or award) and publication]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1141()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1141(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/author";
             var testExpression = @"bookstore//author[(degree or award) and publication]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate using not - Return all author's with a degree and not a publication.
         /// bookstore//author[degree and not(publication)]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1142()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1142(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]/author";
             var testExpression = @"bookstore//author[degree and not(publication)]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// String length > 1 => predicate = true
         /// book["!"]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1143()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1143(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
             var testExpression = @"book['!']";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return empty node-list.
         /// *[self::comment]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1144()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1144(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "//comment()/parent::node()";
             var testExpression = @"*[self::comment()]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return first books price text node (12).
-        /// book[position() = 1 or position() = 2]/preceding::*[1]/text()
+        /// book[position() = 1 or position() = 2]/preceding::*[1]/text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MatchesTest1145()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1145(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"book[position() = 1 or position() = 2]/preceding::*[1]/text()";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Should return ERROR.
         /// "/bookstore/book[ancestor(.)]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1146()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1146(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
             var testExpression = @"/bookstore/book[ancestor(.)]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -616,238 +734,286 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Predicate uses ancestor axis
         /// /bookstore/*/title [ancestor::book]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1147()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1147(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/title";
             var testExpression = @"/bookstore/*/title[ancestor::book]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate uses following axis
         /// //*[following::book]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1148()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1148(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
             var testExpression = @"//*[following::book]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate uses following axis
         /// /bookstore/magazine[following::book]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1149()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1149(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[5]";
             var testExpression = @"/bookstore/magazine[following::book]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate uses preceding axis
         /// /bookstore/magazine[preceding::book[title='How To Fix Computers']]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1150()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1150(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[6]";
             var testExpression = @"/bookstore/magazine[preceding::book[title='How To Fix Computers']]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate contains preceding-sibling axis
         /// /bookstore/magazine[preceding-sibling::book]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1151()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1151(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]";
             var testExpression = @"/bookstore/magazine[preceding-sibling::book]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate contains ancestor-or-self axis
         /// /bookstore/magazine[ancestor-or-self::magazine]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1152()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1152(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[1]";
             var testExpression = @"/bookstore/magazine[ancestor-or-self::magazine]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate contains child axis
         /// /bookstore/book [child::title]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1153()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1153(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"/bookstore/book[child::title]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate contains descendant axis
         /// /bookstore/* [descendant::title]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1154()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1154(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[1]";
             var testExpression = @"/bookstore/* [descendant::title]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate contains parent axis
         /// /bookstore/*/title [parent::book]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1155()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1155(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[3]/title";
             var testExpression = @"/bookstore/*/title [parent::book]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate contains following-sibling axis
         /// /bookstore/* [following-sibling::book]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1156()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1156(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[1]";
             var testExpression = @"/bookstore/* [following-sibling::book]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate contains attribute axis
         /// /bookstore/* [attribute::frequency]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1157()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1157(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[4]";
             var testExpression = @"/bookstore/* [attribute::frequency]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate contains namespace axis.  Fix test code to move to testexpr node, thus expected=true.
         /// //* [namespace::NSbook]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1158()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1158(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//* [namespace::NSbook]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate contains descendant or self
         /// /bookstore/* [descendant-or-self::*]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1159()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1159(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
             var testExpression = @"/bookstore/*[descendant-or-self::*]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// The first position of a node set is 1. Predicate uses 0. Expected empty node set.
         /// /bookstore/book[0]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1160()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1160(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
             var testExpression = @"/bookstore/book[0]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate expression resulting in a number is converted to true, if number is equal to context position.
         /// /bookstore/book[1] [2]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1161()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1161(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
             var testExpression = @"/bookstore/book[1] [2]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicates filter node sets on reverse axis as if the document order was bottom up.
         /// /bookstore/book/ancestor::node()[2]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1162()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1162(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"/bookstore/book/ancestor::node()[2]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -855,39 +1021,48 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Expected : should select all nodes that are the last child of their parent
         /// /bookstore//* [position()=count(parent::*/child::*)]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1163()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1163(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/price";
             var testExpression = @"/bookstore//* [position()=count(parent::node()/child::*)]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Only bookstore should be selected, since its position in nodeset=2 and it is the second child of its parent (after the comment node). No other node's position in the node-set is the same as the number of children of its parent.
         /// //node() [position()=count(parent::node()/child::node())]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void MatchesTest1164()
+        public static void MatchesTest1164(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"//node() [position()=count(parent::node()/child::node())]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Select second last child of bookstore
         /// /bookstore/* [position()=last()-1]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1165()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1165(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/my:book[2]";
@@ -897,7 +1072,7 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
             namespaceManager.AddNamespace("my", "urn:http//www.placeholder-name-here.com/schema/");
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
@@ -905,44 +1080,53 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Select the author node (checking position on reverse axis)
         /// /bookstore/book[1]/author/*/ancestor::* [position() = last()-2]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1166()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1166(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book[1]/author/*/ancestor::* [position() = last()-2]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Predicate filters the elements in the node-set at number 8,10,12,55 (these numbers appear as text nodes in the document)
         /// //node() [position() = //*]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void MatchesTest1167()
+        public static void MatchesTest1167(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[6]";
             var testExpression = @"//node() [position() = //*]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Select the first magazine node
         /// /bookstore/book[7]/preceding::*[ self::magazine and position()=last()-count(//*[self::magazine])+21]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1168()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1168(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[1]";
             var testExpression =
                 @"/bookstore/book[7]/preceding::*[ self::magazine and position()=last()-count(//*[self::magazine])+21]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -950,15 +1134,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Select the last magazine node
         /// /bookstore/book[7]/preceding::* [self::magazine and position()=last()-count(//*[self::book])]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1169()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1169(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
             var testExpression =
                 @"/bookstore/book[7]/preceding::* [self::magazine and position()=last()-count(//*[self::book])]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -966,14 +1153,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Select the last magazine node
         /// /bookstore/book[7]/preceding::* [self::magazine and position()=last()-count(//book)]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1170()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1170(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[last()]";
             var testExpression = @"/bookstore/book[7]/preceding::* [self::magazine and position()=last()-count(//book)]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -981,30 +1171,36 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Select all nodes that are not elements
         /// //node() [boolean(self::*)=false()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1171()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1171(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "//comment()";
             var testExpression = @"//node() [boolean(self::*)=false()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Select the 2nd and 3rd book nodes in the document
         /// /bookstore/book[1]/following::* [following-sibling::*[self::magazine] and count(following-sibling::magazine)>5]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1172()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1172(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression =
                 @"/bookstore/book[1]/following::* [following-sibling::*[self::magazine] and count(following-sibling::magazine)>5]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1012,15 +1208,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Uses self
         /// /bookstore/book[1]/self::* [(following-sibling::*[self::magazine]) and count(following-sibling::magazine)>5 and boolean(preceding-sibling::*)=false()][position()=last() and position()= 1]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1173()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1173(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression =
                 @"/bookstore/book[1]/self::* [(following-sibling::*[self::magazine]) and count(following-sibling::magazine)>5 and boolean(preceding-sibling::*)=false()][position()=last() and position()= 1]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1028,65 +1227,80 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Regression case for 66458
         /// bookstore//author[true() and true()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1174()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1174(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/author";
             var testExpression = @"bookstore//author[true() and true()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Regression case for 66458
         /// bookstore//author[true() or true()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1175()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1175(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]/author";
             var testExpression = @"bookstore//author[true() or true()]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// /bookstore//*[position()=3]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1176()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1176(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/price";
             var testExpression = @"/bookstore//*[position()=3]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// /bookstore//*[position()=3][.="12"]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1177()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1177(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/price";
             var testExpression = @"/bookstore//*[position()=3][.=""12""]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// /bookstore/*[position()=1][title="Seven Years in Trenton"]/author[count(child::*)=4][count(preceding-sibling::*)=1]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1178()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1178(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/author";
@@ -1094,35 +1308,41 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                 @"/bookstore/*[position()=1][title=""Seven Years in Trenton""]/author[count(child::*)=4][count(preceding-sibling::*)=1]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// /bookstore/*[position()=1]/author[count(child::*)=4][count(preceding-sibling::*)=1]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1179()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1179(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]/author";
             var testExpression = @"/bookstore/*[position()=1]/author[count(child::*)=4][count(preceding-sibling::*)=1]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Invalid namecharacter
         /// book[!]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1180()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1180(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
             var testExpression = @"book[!]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
     }
index 4c0367e..2ad47dc 100644 (file)
@@ -1,11 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths.Predicates
 {
@@ -18,8 +17,11 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
         /// Position on the child axis
         /// child::*[position()=10]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest61()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest61(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -37,15 +39,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the descendant axis
         /// descendant::node[position()=7 or position()=2]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest62()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest62(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -72,15 +77,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the descendant axis, and node set
         /// (descendant::node[position()=7 or position()=2])[last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest63()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest63(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -96,15 +104,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the descendant axis, uses multiple predicates
         /// descendant::node()[position()&lt;7][position()=2]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest64()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest64(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -122,15 +133,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the ancestor axis, uses multiple predicates. Checks that reverse orientation is maintained on all predicates
         /// ancestor::node()[position()&lt;5][position()>2][last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest65()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest65(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author/publication/country/text()";
@@ -148,15 +162,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the ancestor axis, checks that the position works in the reverse direction
         /// ancestor::node()[position()=3]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest66()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest66(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author/publication/country/text()";
@@ -173,15 +190,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the ancestor axis, checks that position() is applied to the node set formed by the location step and not the whole expression. Multiple nodes should be selected
         /// ancestor::node()/ancestor::node()[position()=last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest67()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest67(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author/publication/country/text()";
@@ -195,15 +215,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the ancestor axis, checks that position() is applied to the node set formed by the location step and not the whole expression. Multiple nodes should be selected
         /// ancestor::node()/ancestor::node()[position()=1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest68()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest68(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author/publication/country/text()";
@@ -258,15 +281,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the descendant-or-self axis
         /// descendant-or-self::node[position()=7 or position()=2]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest69()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest69(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -275,15 +301,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the descendant-or-self axis, uses multiple predicates
         /// descendant-or-self::node()[position()&lt;7][position()=2]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest610()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest610(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -291,15 +320,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
             var expected = new XPathResult(0,
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Should select the context node
         /// descendant-or-self::node[position()=1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest611()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest611(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -317,15 +349,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the ancestor-or-self axis, checks that the position works in the reverse direction
         /// ancestor-or-self::node()[position()=3]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest612()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest612(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author/publication/country/text()";
@@ -341,15 +376,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the ancestor-or-self axis, uses multiple predicates. Checks that reverse orientation is maintained on all predicates
         /// ancestor-or-self::node()[position()&lt;5][position()>2][last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest613()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest613(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author/publication/country/text()";
@@ -366,15 +404,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the ancestor-or-self axis, and node set
         /// (ancestor-or-self::node[position()=5 or position()=2])[last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest614()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest614(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author/publication/country/text()";
@@ -390,15 +431,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "US"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the following axis
         /// following::node[position()=9]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest615()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest615(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
@@ -414,15 +458,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "Mary"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the following-sibling axis
         /// following-sibling::node()[position()=2]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest616()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest616(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
@@ -440,15 +487,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the preceding axis, checks that the position works in the reverse direction
         /// preceding::node()[position()=6]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest617()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest617(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[5]/author";
@@ -456,15 +506,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
             var expected = new XPathResult(0,
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the preceding-sibling axis, checks that the position works in the reverse direction
         /// preceding-sibling::node()[position()=6]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest618()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest618(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[7]";
@@ -481,15 +534,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the attribute axis
         /// magazine/attribute::*[position()=2]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest619()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest619(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -544,15 +600,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "monthly"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the attribute axis, multiple predicates
         /// magazine/attribute::*[position()=1 or position()=2][position()=last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest620()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest620(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -607,15 +666,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "monthly"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the parent axis, should only have one parent
         /// parent::*[position()=1 or position()=2]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest621()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest621(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/author";
@@ -633,43 +695,52 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the parent axis, checking for invalid values, should select nothing
         /// parent::*[position()>1 or position()<1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest622()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest622(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/author";
             var testExpression = @"parent::*[position()>1 or position()<1]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the self axis, checking for invalid values, should select nothing
         /// self::node()[position()>1 or position()<1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest623()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest623(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/author";
             var testExpression = @"self::node()[position()>1 or position()<1]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Position on the self axis, should only have one node on the self axis
         /// self::node()[position()=1 or position()=2]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest624()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest624(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/author";
@@ -685,15 +756,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Checking for position on a node set. Should always work with reference to the child axis
         /// (ancestor::*)[position()=1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest625()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest625(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book/author";
@@ -711,15 +785,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Checking for position on a node set. Should give only one node
         /// (child::*/child::*)[position()=last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest626()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest626(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -737,15 +814,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "Where in the world is Trenton?"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Checking for position not on a node set. Should give more than one node. This is a regression for the test case above
         /// child::*/child::*[position()=last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest627()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest627(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -915,15 +995,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "Where in the world is Trenton?"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Compare position with a node set in a predicate. Should first convert node set to a number.
         /// //*[position()=//n]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest628()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest628(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()=//n]";
@@ -1064,15 +1147,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "0"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a boolean in a predicate. Should first convert boolean to a number.
         /// //*[position()=true()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest629()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest629(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()=true()]";
@@ -1222,28 +1308,34 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "0"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a boolean in a predicate. Should first convert boolean to a number.
         /// //*[position()=false()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest630()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest630(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()=false()]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a string. Should first convert string to a number.
         /// //*[position()="5"]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest631()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest631(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()=""5""]";
@@ -1258,80 +1350,98 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "3"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a string. Should first convert string to a number. String should be converted to NaN and nothing should be selected.
         /// //*[position()="String"]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest632()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest632(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()=""String""]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a NaN. Nothing should be selected
         /// //*[position()=0 div 0]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest633()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest633(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()=0 div 0]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a NaN. Nothing should be selected
         /// //*[position()>0 div 0]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest634()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest634(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>0 div 0]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a NaN. Nothing should be selected
         /// //*[position()<0 div 0]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest635()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest635(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()<0 div 0]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a Infinity. Nothing should be selected
         /// //*[position()=1 div 0]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest636()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest636(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()=1 div 0]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a Infinity. All nodes should be selected
         /// //*[position()<1 div 0]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest637()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest637(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()<1 div 0]";
@@ -1481,41 +1591,50 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "0"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a Infinity. No nodes should be selected
         /// //*[position()>1 div 0]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest638()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest638(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>1 div 0]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a Infinity. No nodes should be selected
         /// //*[position()<-1 div 0]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest639()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest639(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()<-1 div 0]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a Infinity. All nodes should be selected
         /// //*[position()>-1 div 0]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest640()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest640(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>-1 div 0]";
@@ -1665,28 +1784,34 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "0"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Compare position with a Infinity. Nothing should be selected
         /// //*[position()=-1 div 0]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest641()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest641(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()=-1 div 0]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Use position with a range of numbers
         /// //*[position()>1 and position()<20]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest642()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest642(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>1 and position()<20]";
@@ -1791,54 +1916,66 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "0"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Use position with a range of numbers
         /// //*[position()>NaN and position()<20]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest643()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest643(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>0 div 0 and position()<20]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Use position with a range of numbers
         /// //*[position()>0 and position()<NaN]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest644()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest644(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>0 and position()<0 div 0]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Use position with a range of numbers
         /// //*[position()>Infinity and position()<20]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest645()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest645(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>1 div 0 and position()<20]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Use position with a range of numbers
         /// //*[position()>-Infinity and position()<20]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest646()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest646(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>-1 div 0 and position()<20]";
@@ -1988,15 +2125,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "0"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Use position with a range of numbers
         /// //*[position()>0 and position()<Infinity]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest647()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest647(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>0 and position()<1 div 0]";
@@ -2146,28 +2286,34 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "0"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Use position with a range of numbers
         /// //*[position()>0 and position()<-Infinity]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest648()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest648(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>0 and position()<-1 div 0]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Use position with a range of numbers. Selects all nodes
         /// //*[position()>1 or position()<20]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest649()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest649(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>1 or position()<20]";
@@ -2317,15 +2463,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "0"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Use position with a range of numbers. Selects all nodes
         /// //*[position()>-1 div 0 or position()<1 div 0]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest650()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest650(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>-1 div 0 or position()<1 div 0]";
@@ -2475,15 +2624,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "0"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Use position with a range of numbers. Selects all nodes. In Old Xpath it is a bug that we convert the string ""Infinity"" to the really infinity. XPath spec under Number function states that only number in string are converted back to number all other string should be converted to NaN.
         /// //*[position()>"-Infinity" or position()<"Infinity"]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest651()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest651(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var testExpression = @"//*[position()>""-Infinity"" or position()<""Infinity""]";
@@ -2633,15 +2785,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "0"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Use position on a large selection
         /// (//node() | //attribute::*) [(position() >2 and position()<7)or (position() >8 and position()<16) or position()=last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest652()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest652(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -2705,75 +2860,90 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Use position in a mathematical expression
         /// position()+last() div 13
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest653()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest653(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var startingNodePath = "//n";
             var testExpression = @"position()+last() div 13";
             var expected = 1.0769230769230769d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Use position in a boolean expression
         /// position()>5
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest654()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest654(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var startingNodePath = "//n";
             var testExpression = @"position()>5";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Use position in a boolean expression
         /// position()=0
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest655()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest655(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var startingNodePath = "//n";
             var testExpression = @"position()=0";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Use position in a string
         /// concat("The current position"," = ",position())
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest656()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest656(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var startingNodePath = "//n";
             var testExpression = @"concat(""The current position"","" = "",position())";
             var expected = @"The current position = 1";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Use position in query
         /// //n [. = position()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest657()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest657(Utils.NavigatorKind kind)
         {
             var xml = "numbers.xml";
             var startingNodePath = "//n";
@@ -2816,15 +2986,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "1"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Complex expression involving position. Expected : Select the bookstore node
         /// descendant-or-self::node()[position() = ceiling(number(string(child::*[descendant::*[contains(string(),'MSFT')]]/child::price))) div round(19.123 mod 5)]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest658()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest658(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -2843,30 +3016,36 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Complex expression involving position. Uses multiple predicates Expected : Should select bookstore
         /// ancestor-or-self::*[following::price[.="free"]][ancestor::bookstore][child::title][position() = 1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest659()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest659(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]//story3";
             var testExpression =
                 @"ancestor-or-self::*[following::price[.=""free""]][ancestor-or-self::bookstore][descendant::title][position() = 1]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Complex expression involving position. Uses multiple predicates. Expected : Should select 2 magazine nodes
         /// preceding::*[following::price[.="free"]][ancestor::bookstore][child::title][position() = 1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest660()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest660(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]//story3";
@@ -2884,15 +3063,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Selects every node that is the last child of it's parent
         /// /descendant-or-self/child::node()[position()=last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest661()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest661(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/descendant-or-self::node()/child::node()[position()=last()]";
@@ -3101,15 +3283,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Position in multiple predicates
         /// /descendant-or-self::node()[position()> 3 and position() &lt; 30]/child::node()[position()&lt;last() and position()&lt;30 and position()!=13]/preceding::*[position()>=2 and position()&lt;= last() - 2][position()>2][position()>2]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest662()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest662(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -3200,16 +3385,19 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "Mary"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Position in cascaded predicates
         /// //*[position()=2 and //*[position()=3 and //*[position()=2]]]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void UsingPositionFunctionTest663()
+        public static void UsingPositionFunctionTest663(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3489,28 +3677,34 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "Robert Bob"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// book[position()!= 1 and position()!=2 and position()!=3 and position()!=4 and position()!=5 and position()!=6 and position()!=7]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest664()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest664(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression =
                 @"book[position()!= 1 and position()!=2 and position()!=3 and position()!=4 and position()!=5 and position()!=6 and position()!=7]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// book[position() < 2.999998999]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest665()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest665(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3539,14 +3733,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// book/title/text()/ancestor::*[position()=1 or position()=2][position()=1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest666()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest666(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -3616,14 +3813,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "Trenton Today, Trenton Tomorrow"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// namespace::*[last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest667()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest667(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "def:store/def:booksection/bk:book";
@@ -3642,15 +3842,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "http://www.w3.org/XML/1998/namespace"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// //namespace::*[position()<last()][position()>1][position()=last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest668()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest668(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"//namespace::*[position()<last()][position()>1][position()=last()]";
@@ -3746,15 +3949,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "http://default.htm"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Test to verify that namespace nodes are before attribute nodes in document order
         /// (namespace::* | attribute::*)[position()=2]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest669()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest669(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "def:store/def:booksection/bk:book";
@@ -3771,15 +3977,18 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "http://default.htm"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding::*[position()>2][position()>2][position()<last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest670()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest670(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[3]/author/last.name";
@@ -3926,14 +4135,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "Loser"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding-sibling::*[position()&gt;2][position()&gt;1][position()&lt;last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest671()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest671(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/*[last()]";
@@ -4067,14 +4279,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::node()[position()&lt;5][position()>2][last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest672()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest672(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[2]/author/publication/country/text()";
@@ -4092,14 +4307,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// //title/text()/ancestor::*[name()='book'][position()=1][last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest673()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest673(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//title/text()/ancestor::*[name()='book'][position()=1][last()]";
@@ -4181,14 +4399,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //title/text()/ancestor-or-self::*[name()='book'][position()=1][last()]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest674()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest674(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//title/text()/ancestor-or-self::*[name()='book'][position()=1][last()]";
@@ -4270,14 +4491,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //title/text()/ancestor::*[name()='book'][position()=1][following::magazine]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest675()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest675(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//title/text()/ancestor::*[name()='book'][position()=1][following::magazine]";
@@ -4348,14 +4572,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// preceding::*/child::text()[position()=1 or position()=last()][1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest676()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest676(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -4515,14 +4742,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                 new XPathResultToken { NodeType = XPathNodeType.Text, HasNameTable = true, Value = "Robinson" },
                 new XPathResultToken { NodeType = XPathNodeType.Text, HasNameTable = true, Value = "10" });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// preceding-sibling::*/self::*[position()=1][position()=last()][1][child::title]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest677()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest677(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[6]";
@@ -4615,14 +4845,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// //book/descendant::*[position()=1][position()=last()][1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest678()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest678(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book/descendant::*[position()=1][position()=last()][1]";
@@ -4691,14 +4924,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "Trenton Today, Trenton Tomorrow"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book/descendant-or-self::*[position()=1][position()=last()][1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest679()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest679(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book/descendant-or-self::*[position()=1][position()=last()][1]";
@@ -4780,26 +5016,32 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book/descendant-or-self::*/parent[position()=1][position()=last()][1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest680()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest680(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book/descendant-or-self::*/parent[position()=1][position()=last()][1]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book/namespace::*/parent[position()=1][position()=last()][1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest681()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest681(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book/namespace::*/parent::*[position()=1][position()=last()][1]";
@@ -4881,14 +5123,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book/following::*/parent::*[position()=1][position()=last()][1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest682()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest682(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book/following::*/parent::*[position()=1][position()=last()][1]";
@@ -5241,14 +5486,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tWhere in the world is Trenton?\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book/following::*[position()=1][position()=last()][1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest683()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest683(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book/following::*[position()=1][position()=last()][1]";
@@ -5329,14 +5577,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book/following-sibling::*/parent::*[position()=1][position()=last()][1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest684()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest684(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book/following-sibling::*/parent::*[position()=1][position()=last()][1]";
@@ -5353,14 +5604,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book/following-sibling::*[position()=1][position()=last()][1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest685()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest685(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book/following-sibling::*[position()=1][position()=last()][1]";
@@ -5441,14 +5695,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book/preceding::*[position()=1][position()=last()][1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest686()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest686(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book/preceding::*[position()=1][position()=last()][1]";
@@ -5508,14 +5765,17 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     HasNameTable = true
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book/preceding-sibling::*[position()=1][position()=last()][1]
         /// </summary>
-        [Fact]
-        public static void UsingPositionFunctionTest687()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void UsingPositionFunctionTest687(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book/preceding-sibling::*[position()=1][position()=last()][1]";
@@ -5587,7 +5847,7 @@ namespace XPathTests.FunctionalTests.Location.Paths.Predicates
                     Value = "\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
     }
 }
index eb0bb54..40cfaa1 100644 (file)
@@ -1,11 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths
 {
@@ -18,8 +17,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Verify: Returned node is correct (document order).
         /// Forward-Axis. Set predicate filter to return 3rd node
         /// </summary>
-        [Fact]
-        public static void PredicatesTest101()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest101(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc";
@@ -36,15 +38,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n   XPath test\n   First paragraph  Nested  Paragraph  End of first paragraph \n   Second paragraph \n "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Verify: Returned node is correct (reverse document order).
         /// Reverse Axis. Set predicate filter to return 3rd node.
         /// </summary>
-        [Fact]
-        public static void PredicatesTest102()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest102(Utils.NavigatorKind kind)
         {
             var xml = "xp001.xml";
             var startingNodePath = "/Doc/Chap/Para/Para/Origin";
@@ -61,15 +66,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n   XPath test\n   First paragraph  Nested  Paragraph  End of first paragraph \n   Second paragraph \n "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected: Selects 2nd, 3rd, 4th and 5th element children of the context node.
         /// child::*[position() >= 2][position() <= 4]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest103()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest103(Utils.NavigatorKind kind)
         {
             var xml = "xp005.xml";
             var startingNodePath = "Doc/Test1";
@@ -112,15 +120,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Last"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Simple expression - Should return author node with a country node in a publication node.
         /// book/author[publication/country]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest104()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest104(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -137,15 +148,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate within a predicate - Return all authors with a last-name equal to the first last-name node.
         /// (book/author)[last-name=(/bookstore/book/author)[1]/last-name]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest105()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest105(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -181,15 +195,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Return all authors with a last-name not equal to the first last-name node. Cascaded predicates using !=
         /// book/author[last-name!=(/bookstore/book/author)[1]/last-name]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest106()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest106(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -225,71 +242,86 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Cascaded predicates using <= Return all authors with a last name less than or equal to the first author's last-name.
         /// book/author[last-name<=(/bookstore/book/author[1]/last-name)]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest107()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest107(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book/author[last-name<=(/bookstore/book/author[1]/last-name)]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Cascaded predicates using >= Return all authors with a first name greater than or equal to the first author's first-name.
         /// book/author[first-name>=(/bookstore/book/author[1]/first-name)]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest108()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest108(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book/author[first-name>=(/bookstore/book/author[1]/first-name)]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Cascaded predicates using > - Return all authors with a first-name greater than the first book's title.
         /// book/author[first-name>(/bookstore/book/title)[1]]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest109()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest109(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book/author[first-name>(/bookstore/book/title)[1]]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Cascaded predicates using < - Return all authors with a first-name less than the first book's title.
         /// book/author[first-name<(/bookstore/book/title)[1]]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1010()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1010(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book/author[first-name<(/bookstore/book/title)[1]]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator = - Return all books with a price of 55.
         /// book[price=55]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1011()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1011(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -318,15 +350,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator != - Return all authors of books with a price not equal to 55.56.
         /// book/author[/bookstore/book/price!=55.56]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1012()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1012(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -401,15 +436,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator <= - Return all authors of books with a price less than or equal to 10.0001.
         /// book/author[/bookstore/book/price<=10.0001]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1013()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1013(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -484,15 +522,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator >= - Return all authors of books with a price greater than or equal to .0001.
         /// book/author[/bookstore/book/price>=.0001]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1014()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1014(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -567,15 +608,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator < - Return all authors of books with a price less than 10.0.
         /// book/author[/bookstore/book/price<10.0]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1015()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1015(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -650,15 +694,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a numeric constant, using operator > - Return all authors of books with a price greater than 55.0.
         /// book/author[/bookstore/book/price>55.0]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1016()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1016(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -733,15 +780,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a sting constant, using operator = - Return all book authors with a last-name equal to ""Bob"".
         /// book/author[last-name="Bob"]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1017()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1017(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -777,15 +827,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a sting constant, using operator != - Return all book authors with a last-name not equal to ""Bob"".
         /// book/author[last-name!="Bob"]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1018()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1018(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -821,57 +874,69 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a sting constant, using operator >= - Return all book authors with a last-name greater than or equal to ""Robinson"".
         /// book/author[last-name>="Robinson"]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1019()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1019(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book/author[last-name>='Robinson']";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a sting constant, using operator > - Return all book authors with a last-name greater than ""R"".
         /// book/author[last-name>"R"]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1020()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1020(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book/author[last-name>'R']";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node value to a sting constant, using operator < - Return all book authors with a last-name less than ""Boc"".
         /// book/author[last-name<"Boc"]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1021()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1021(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book/author[last-name<'Boc']";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing node to true() - Return all book authors with an award.
         /// book/author[award=true()]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1022()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1022(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -907,15 +972,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing with true() - Return all book authors with an award.
         /// book/author[award=true()]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1023()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1023(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -951,15 +1019,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing with true() and false() - Return all book titles.
         /// book/title[true()!=false()]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1024()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1024(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1029,15 +1100,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Trenton Today, Trenton Tomorrow"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing true() with a positive number - Return all book titles.
         /// book/title[true()=5]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1025()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1025(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1107,15 +1181,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Trenton Today, Trenton Tomorrow"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing false() with a string constant - Return all book titles.
         /// book/title[false()!='gramps']
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1026()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1026(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1185,15 +1262,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Trenton Today, Trenton Tomorrow"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing negative numbers - Return all magazine titles.
         /// magazine/title[-23.987 = -23.987]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1027()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1027(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1236,15 +1316,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Tracking Trenton"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing number to string constant - Return all magazine titles.
         /// magazine/title[0!="z"]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1028()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1028(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1287,15 +1370,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Tracking Trenton"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Comparing string constant to string constant - Return all magazine titles.
         /// magazine/title["z"="z"]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1029()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1029(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1338,15 +1424,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Tracking Trenton"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Using a mathematical expression in the predicate - Return 3rd book's title.
         /// (book/title)[2+1]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1030()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1030(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1362,15 +1451,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "XQL The Golden Years"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Using a mathematical expression in the predicate - Return 2nd book's title.
         /// (book/title)[100-98]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1031()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1031(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1386,21 +1478,24 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "History of Trenton"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Using a mathematical expression in the predicate - Return all book's titles.
         /// (book/title)[(8/4)=2]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1032()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1032(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"(book/title)[(8/4)=2]";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1408,8 +1503,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Using a mathematical expression in the predicate - Return 4th book's title.
         /// (book/title)[2*2]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1033()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1033(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1425,29 +1523,35 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "History of Trenton 2"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Using a non-integer number as the position - Return empty node-list.
         /// (book/title)[5.01]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1034()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1034(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"(book/title)[5.01]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Whitespace check - (Whitespace test) Return all book's author's last-names.
         /// book / author  /      last-name
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1035()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1035(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1517,21 +1621,24 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Bob"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Invalid expression - Error Case.
         /// child::node()[Schema|]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1036()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1036(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"child::node()[Schema|]";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1539,14 +1646,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Invalid expression - Error Case.
         /// child::node()[Schema|]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1037()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1037(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"child::node()[Schema|]";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1554,8 +1664,11 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Predicate containing attribute - Return all nodes with a style attribute.
         /// *[@style]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1042()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1042(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1747,15 +1860,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\tWhere in the world is Trenton?\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicate using and - Return all author's with a degree and an award.\
         /// bookstore//author[degree and award]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1043()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1043(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"bookstore//author[degree and award]";
@@ -1771,15 +1887,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate using or - Return all author's with a degree or an award and a publication.
         /// bookstore//author[(degree or award) and publication]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1044()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1044(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"bookstore//author[(degree or award) and publication]";
@@ -1805,15 +1924,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate using not - Return all author's with a degree and not a publication.
         /// bookstore//author[degree and not(publication)]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1045()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1045(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"bookstore//author[degree and not(publication)]";
@@ -1828,15 +1950,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Using invalid name character - Should return empty node list.
         /// book["!"]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1046()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1046(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -1919,20 +2044,23 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// book[!]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1047()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1047(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"book[!]";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1940,47 +2068,59 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Return empty node-list.
         /// *[self::comment]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1048()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1048(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"*[self::comment()]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Return first books price text node (12).
-        /// book[position() = 1 or position() = 2]/preceding::*[1]/text()
+        /// book[position() = 1 or position() = 2]/preceding::*[1]/text(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1049()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1049(Utils.NavigatorKind kind)
         {
             var xml = "books_2.xml";
             var testExpression = @"book[position() = 1 or position() = 2]/preceding::*[1]/text()";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Should return ERROR.
         /// "/bookstore/book[ancestor(.)]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1050()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1050(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book[ancestor(.)]";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Predicate uses ancestor axis
         /// /bookstore/*/title [ancestor::book]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1051()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1051(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/*/title[ancestor::book]";
@@ -2049,15 +2189,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Trenton Today, Trenton Tomorrow"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate uses following axis
         /// //*[following::book]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1052()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1052(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//*[following::book]";
@@ -2898,15 +3041,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     HasNameTable = true
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate uses following axis
         /// /bookstore/magazine[following::book]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1053()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1053(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/magazine[following::book]";
@@ -2973,15 +3119,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate uses preceding axis
         /// /bookstore/magazine[preceding::book[title='How To Fix Computers']]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1054()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1054(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/magazine[preceding::book[title='How To Fix Computers']]";
@@ -2997,15 +3146,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate contains preceding-sibling axis
         /// /bookstore/magazine[preceding-sibling::book]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1055()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1055(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/magazine[preceding-sibling::book]";
@@ -3072,15 +3224,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate contains ancestor-or-self axis
         /// /bookstore/magazine[ancestor-or-self::magazine]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1056()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1056(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/magazine[ancestor-or-self::magazine]";
@@ -3147,15 +3302,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate contains child axis
         /// /bookstore/book [child::title]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1057()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1057(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book[child::title]";
@@ -3237,15 +3395,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate contains descendant axis
         /// /bookstore/* [descendant::title]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1058()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1058(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/* [descendant::title]";
@@ -3380,15 +3541,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate contains parent axis
         /// /bookstore/*/title [parent::book]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1059()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1059(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/*/title [parent::book]";
@@ -3457,15 +3621,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Trenton Today, Trenton Tomorrow"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate contains following-sibling axis
         /// /bookstore/* [following-sibling::book]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1060()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1060(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/* [following-sibling::book]";
@@ -3609,15 +3776,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate contains attribute axis
         /// /bookstore/* [attribute::frequency]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1061()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1061(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/* [attribute::frequency]";
@@ -3696,15 +3866,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate contains namespace axis
         /// //* [namespace::NSbook]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1062()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1062(Utils.NavigatorKind kind)
         {
             var xml = "name.xml";
             var testExpression = @"//* [namespace::NSbook]";
@@ -3804,15 +3977,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "The Quark And The Jaguar"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate contains descendant or self
         /// /bookstore/* [descendant-or-self::*]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1063()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1063(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/*[descendant-or-self::*]";
@@ -4003,55 +4179,67 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\tWhere in the world is Trenton?\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// The first position of a node set is 1. Predicate uses 0. Expected empty node set.
         /// /bookstore/book[0]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1064()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1064(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book[0]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate expression resulting in a number is converted to true, if number is equal to context position.
         /// /bookstore/book[1] [2]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1065()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1065(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book[1] [2]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// '//' is the abbreviated representation of '/descendant-or-self::node()/'
         /// // represents /descendant-or-self::node()/
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1066()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1066(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//self::node() = /descendant-or-self::node()/self::node()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicates filter node sets on reverse axis as if the document order was bottom up.
         /// /bookstore/book/ancestor::node()[2]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1067()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1067(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book/ancestor::node()[2]";
@@ -4064,15 +4252,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected : should select all nodes that are the last child of their parent
         /// /bookstore//* [position()=count(parent::*/child::*)]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1068()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1068(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore//* [position()=count(parent::node()/child::*)]";
@@ -4419,15 +4610,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Where in the world is Trenton?"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Only bookstore should be selected, since its position in nodeset=1 and it is the first child of its parent. No other node's position in the node-set is the same as the number of children of its parent.
         /// //* [position()=count(parent::*/child::*)]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1069()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1069(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -4786,15 +4980,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Where in the world is Trenton?"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Select second last child of bookstore
         /// /bookstore/* [position()=last()-1]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1070()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1070(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/* [position()=last()-1]";
@@ -4812,15 +5009,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\tWhere is Trenton?\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Select the author node (checking position on reverse axis)
         /// /bookstore/book[1]/author/*/ancestor::* [position() = last()-2]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1071()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1071(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book[1]/author/*/ancestor::* [position() = last()-2]";
@@ -4835,16 +5035,19 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate filters the elements in the node-set at number 8,10,12,55 (these numbers appear as text nodes in the document)
         /// //* [position() = //*]
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void PredicatesTest1072()
+        public static void PredicatesTest1072(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//* [position() = //*]";
@@ -4881,56 +5084,68 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Select the first magazine node
         /// /bookstore/book[7]/preceding::*[ self::magazine and position()=last()-count(//*[self::magazine])+21]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1073()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1073(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
                 @"/bookstore/book[7]/preceding::*[ self::magazine and position()=last()-count(//*[self::magazine])+21]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Select the last magazine node
         /// /bookstore/book[7]/preceding::* [self::magazine and position()=last()-count(//*[self::book])]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1074()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1074(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
                 @"/bookstore/book[7]/preceding::* [self::magazine and position()=last()-count(//*[self::book])]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Select the last magazine node
         /// /bookstore/book[7]/preceding::* [self::magazine and position()=last()-count(//book)]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1075()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1075(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book[7]/preceding::* [self::magazine and position()=last()-count(//book)]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Select all nodes that are not elements
         /// //node() [boolean(self::*)=false()]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1076()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1076(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//node() [boolean(self::*)=false()]";
@@ -5284,15 +5499,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Select the 2nd and 3rd book nodes in the document
         /// /bookstore/book[1]/following::* [following-sibling::*[self::magazine] and count(following-sibling::magazine)>5]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1077()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1077(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -5321,15 +5539,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Select the 1st book node
         /// /bookstore/book[1]/self::* [(following-sibling::*[self::magazine]) and count(following-sibling::magazine)>5 and boolean(preceding-sibling::*)=false()][position()=last() and position()= 1]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1078()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1078(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -5347,14 +5568,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// /bookstore/magazine [following-sibling::magazine]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1079()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1079(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/magazine [following-sibling::magazine]";
@@ -5411,14 +5635,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\tPC Magazine Best Product of 1997\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// /bookstore/node() [following-sibling::magazine]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1080()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1080(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/node() [following-sibling::magazine]";
@@ -5552,14 +5779,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// /bookstore/magazine [following::magazine]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1081()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1081(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/magazine [following::magazine]";
@@ -5616,14 +5846,17 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n\t\tPC Magazine Best Product of 1997\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// /bookstore/node() [following::magazine]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1082()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1082(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/node() [following::magazine]";
@@ -5757,27 +5990,33 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// /bookstore/book[7]/preceding::*[ self::magazine and position()=last()-count(//*[self::magazine])]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1083()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1083(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
                 @"/bookstore/book[7]/preceding::*[ self::magazine and position()=last()-count(//*[self::magazine])]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// /bookstore/book[7]/preceding::*[ self::award and position()=last()-count(//*[self::magazine])+1]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1084()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1084(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression =
@@ -5793,15 +6032,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "Trenton Literary Review Honorable Mention"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate expression for namespace axis
         /// store/p1:booksection/p2:book[2]/namespace::*[.="http://book2.htm"][name()="NSbook"]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1085()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1085(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression =
@@ -5814,28 +6056,34 @@ namespace XPathTests.FunctionalTests.Location.Paths
             namespaceManager.AddNamespace("p4", "http://book2.htm");
             namespaceManager.AddNamespace("p5", "http://documentry.htm");
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// Predicate expression for namespace axis
         /// store/namespace::*/following::*/namespace::*/parent::*/namespace::*/ancestor::*
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1086()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1086(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var testExpression = @"store/namespace::*/following::*/namespace::*/parent::*/namespace::*/ancestor::*";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Predicate expression for namespace axis
         /// descendant-or-self::*[namespace::NSmovie or (not(namespace::NSmovie|namespace::NSbook))]
         /// </summary>
-        [Fact]
-        public static void PredicatesTest1087()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void PredicatesTest1087(Utils.NavigatorKind kind)
         {
             var xml = "name2.xml";
             var startingNodePath = "/p1:store/p1:booksection";
@@ -5850,7 +6098,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
             namespaceManager.AddNamespace("p5", "http://documentry.htm");
             var expected = new XPathResult(0);
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, namespaceManager: namespaceManager,
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, namespaceManager: namespaceManager,
                 startingNodePath: startingNodePath);
         }
     }
index 08bd4f9..690a2a5 100644 (file)
@@ -1,11 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Steps
 {
@@ -18,165 +15,201 @@ namespace XPathTests.FunctionalTests.Location.Steps
         /// Invalid Location Step - Missing axis . Expected error.
         /// /::bookstore
         /// </summary>
-        [Fact]
-        public static void MatchesTest151()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest151(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/::bookstore";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Location Step - Missing Node test. Expected error.
         /// /child::
         /// </summary>
-        [Fact]
-        public static void MatchesTest152()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest152(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/child::";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Location Step - Using an invalid axis. Expected error.
         /// /bookstore/sibling::book
         /// </summary>
-        [Fact]
-        public static void MatchesTest153()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest153(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/sibling::book";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Location Step - Multiple axis. Location step can have only one axis. Test expression uses multiple axis. Expected error.
         /// /bookstore/child::ancestor::book
         /// </summary>
-        [Fact]
-        public static void MatchesTest154()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest154(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/child::ancestor::book";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Location Step - Multiple node tests using | - Multiple node-tests are not allowed. Test uses | to union two node tests. Error expected.
         /// /bookstore/child::(book | magazine)
         /// </summary>
-        [Fact]
-        public static void MatchesTest155()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest155(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/child::(book | magazine)";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Location Step - Multiple node tests using | - Multiple node-tests are not allowed. Test uses 'and' to combine two node tests. Error expected.
         /// /bookstore/book and magazine
         /// </summary>
-        [Fact]
-        public static void MatchesTest156()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest156(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book and magazine";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Location Step - Multiple node tests using 'or' - Multiple node-tests are not allowed. Test uses 'or' to combine two node tests. Error expected.
         /// /bookstore/book or magazine
         /// </summary>
-        [Fact]
-        public static void MatchesTest157()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest157(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book or magazine";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Valid Location step - Single predicate
         /// /bookstore/* [name()='book']
         /// </summary>
-        [Fact]
-        public static void MatchesTest158()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest158(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
             var testExpression = @"/bookstore/* [name()='book']";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Valid Location Step - Multiple predicates
         /// /bookstore/* [name()='book' or name()='magazine'][name()='magazine']
         /// </summary>
-        [Fact]
-        public static void MatchesTest159()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest159(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine";
             var testExpression = @"/bookstore/* [name()='book' or name()='magazine'][name()='magazine']";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Valid Location Step - No predicates
         /// /bookstore/book
         /// </summary>
-        [Fact]
-        public static void MatchesTest1510()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1510(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[5]";
             var testExpression = @"/bookstore/book";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Check order of predicates - Test to check if the predicates are applied in the correct order. Should select the 3rd book node in the XML doc.
         /// /bookstore/book [position() = 1 or position() = 3 or position() = 6][position() = 2]
         /// </summary>
-        [Fact]
-        public static void MatchesTest1511()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1511(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[3]";
             var testExpression = @"/bookstore/book [position() = 1 or position() = 3 or position() = 6][position() = 2]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected Error : Abbreviated Axis specifier '.' is a valid location step, but not allowed in matches
         /// /.
         /// </summary>
-        [Fact]
-        public static void MatchesTest1512()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1512(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"/.";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -184,14 +217,17 @@ namespace XPathTests.FunctionalTests.Location.Steps
         /// Expected Error : Abbreviated Axis specifier '..' is a valid location step, but not allowed in matches
         /// /bookstore/book/..
         /// </summary>
-        [Fact]
-        public static void MatchesTest1513()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1513(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"/bookstore/book/..";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -199,14 +235,17 @@ namespace XPathTests.FunctionalTests.Location.Steps
         /// Invalid Expression '..' with node test. Node test is not allowed with an abbreviated axis specifier
         /// /bookstore/*/title/.. book
         /// </summary>
-        [Fact]
-        public static void MatchesTest1514()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1514(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"/bookstore/*/title/.. book";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -214,14 +253,17 @@ namespace XPathTests.FunctionalTests.Location.Steps
         /// Invalid Expression '.' with node test. Predicates are not allowed with abbreviated axis specifiers.
         /// /bookstore/*/title/.[name()='book']
         /// </summary>
-        [Fact]
-        public static void MatchesTest1515()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest1515(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book";
             var testExpression = @"/bookstore/*/title/.[name()='book']";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
     }
index 1363cc7..b502d04 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location
 {
@@ -18,99 +16,123 @@ namespace XPathTests.FunctionalTests.Location
         /// Invalid Location Step - Missing axis . Expected error.
         /// /::bookstore
         /// </summary>
-        [Fact]
-        public static void StepsTest141()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest141(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/::bookstore";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Location Step - Missing Node test. Expected error.
         /// /child::
         /// </summary>
-        [Fact]
-        public static void StepsTest142()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest142(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/child::";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Location Step - Using an invalid axis. Expected error.
         /// /bookstore/sibling::book
         /// </summary>
-        [Fact]
-        public static void StepsTest143()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest143(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/sibling::book";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Location Step - Multiple axis. Location step can have only one axis. Test expression uses multiple axis. Expected error.
         /// /bookstore/child::ancestor::book
         /// </summary>
-        [Fact]
-        public static void StepsTest144()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest144(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/child::ancestor::book";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Location Step - Multiple node tests using | - Multiple node-tests are not allowed. Test uses | to union two node tests. Error expected.
         /// /bookstore/child::(book | magazine)
         /// </summary>
-        [Fact]
-        public static void StepsTest145()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest145(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/child::(book | magazine)";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Location Step - Multiple node tests using | - Multiple node-tests are not allowed. Test uses 'and' to combine two node tests. Error expected.
         /// /bookstore/book and magazine
         /// </summary>
-        [Fact]
-        public static void StepsTest146()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest146(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book and magazine";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Location Step - Multiple node tests using 'or' - Multiple node-tests are not allowed. Test uses 'or' to combine two node tests. Error expected.
         /// /bookstore/book or magazine
         /// </summary>
-        [Fact]
-        public static void StepsTest147()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest147(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book or magazine";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Valid Location step - Single predicate
         /// /bookstore/* [name()='book']
         /// </summary>
-        [Fact]
-        public static void StepsTest148()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest148(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/* [name()='book']";
@@ -192,15 +214,18 @@ namespace XPathTests.FunctionalTests.Location
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Valid Location Step - Multiple predicates
         /// /bookstore/* [name()='book' or name()='magazine'][name()='magazine']
         /// </summary>
-        [Fact]
-        public static void StepsTest149()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest149(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/* [name()='book' or name()='magazine'][name()='magazine']";
@@ -267,15 +292,18 @@ namespace XPathTests.FunctionalTests.Location
                     Value = "\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Valid Location Step - No predicates
         /// /bookstore/book
         /// </summary>
-        [Fact]
-        public static void StepsTest1410()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest1410(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book";
@@ -357,15 +385,18 @@ namespace XPathTests.FunctionalTests.Location
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Check order of predicates - Test to check if the predicates are applied in the correct order. Should select the 3rd book node in the XML doc.
         /// /bookstore/book [position() = 1 or position() = 3 or position() = 6][position() = 2]
         /// </summary>
-        [Fact]
-        public static void StepsTest1411()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest1411(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book [position() = 1 or position() = 3 or position() = 6][position() = 2]";
@@ -382,15 +413,18 @@ namespace XPathTests.FunctionalTests.Location
                         "\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Abbreviated Axis specifier '.' is a valid location step
         /// /.
         /// </summary>
-        [Fact]
-        public static void StepsTest1412()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest1412(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/.";
@@ -403,15 +437,18 @@ namespace XPathTests.FunctionalTests.Location
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Abbreviated Axis specifier '..' is a valid location step
         /// /bookstore/book/..
         /// </summary>
-        [Fact]
-        public static void StepsTest1413()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest1413(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book/..";
@@ -428,33 +465,39 @@ namespace XPathTests.FunctionalTests.Location
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Invalid Expression '..' with node test. Node test is not allowed with an abbreviated axis specifier
         /// /bookstore/*/title/.. book
         /// </summary>
-        [Fact]
-        public static void StepsTest1414()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest1414(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/*/title/.. book";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Invalid Expression '.' with node test. Predicates are not allowed with abbreviated axis specifiers.
         /// /bookstore/*/title/.[name()='book']
         /// </summary>
-        [Fact]
-        public static void StepsTest1415()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void StepsTest1415(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/*/title/.[name()='book']";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
     }
 }
index b34bad9..c749639 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests
 {
@@ -17,9 +15,12 @@ namespace XPathTests.FunctionalTests
         /// <summary>
         /// surrogates : xpath testing, return 7 nodes
         /// </summary>
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [OuterLoop]
-        public static void GlobalizationTest566()
+        public static void GlobalizationTest566(Utils.NavigatorKind kind)
         {
             var xml = "Surrogates_1.xml";
             var testExpression =
@@ -89,14 +90,17 @@ namespace XPathTests.FunctionalTests
                     Value = "\n    \n    \uD868\uDCF9\n    2A0F9\n    D868\n    DCF9\n    \n \n   "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// turkish i xpath testing, return 4 nodes
         /// </summary>
-        [Fact]
-        public static void GlobalizationTest567()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void GlobalizationTest567(Utils.NavigatorKind kind)
         {
             var xml = "turkish.xml";
             var testExpression = "data/a[text()=\"\u0131\" or text()=\"I\" or text()=\"i\" or text()=\"\u0130\"] ";
@@ -138,14 +142,17 @@ namespace XPathTests.FunctionalTests
                     Value = "\u0130"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Thai Risky : xpath testing, returns 4 nodes
         /// </summary>
-        [Fact]
-        public static void GlobalizationTest568()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void GlobalizationTest568(Utils.NavigatorKind kind)
         {
             var xml = "Thai_risky_chars.xml";
             var testExpression =
@@ -189,14 +196,17 @@ namespace XPathTests.FunctionalTests
                     Value = "\u0E22\u0E39\u0E48\u0E22\u0E35\u0E48\u0E1B\u0E31\u0E48\u0E19 \u0E01\u0E38\u0E0F\u0E34\u0E42\u0E01\u0E0E\u0E39 \u0E27\u0E34\u0E0D\u0E0D\u0E39 \u0E2D\u0E39\u0E10\u0E10\u0E38\u0E19 \u0E19\u0E49\u0E33\u0E1B\u0E49\u0E33 "
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Japanese 1: xpath testing problem char, returns 19 nodes
         /// </summary>
-        [Fact]
-        public static void GlobalizationTest569()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void GlobalizationTest569(Utils.NavigatorKind kind)
         {
             var xml = "JPN_problem_chars_1.xml";
             var testExpression =
@@ -374,14 +384,17 @@ namespace XPathTests.FunctionalTests
                     HasNameTable = true
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Japanese 2: xpath testing problem char, returns 7 nodes
         /// </summary>
-        [Fact]
-        public static void GlobalizationTest5610()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void GlobalizationTest5610(Utils.NavigatorKind kind)
         {
             var xml = "JPN_problem_chars_2.xml";
             var testExpression =
@@ -451,14 +464,17 @@ namespace XPathTests.FunctionalTests
                     Value = "\nKana \uFF90\uFF91\uFF92 \n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Korean: xpath testing problem char, return 6 nodes
         /// </summary>
-        [Fact]
-        public static void GlobalizationTest5613()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void GlobalizationTest5613(Utils.NavigatorKind kind)
         {
             var xml = "KOR_problem_chars_b.xml";
             var testExpression =
@@ -519,14 +535,17 @@ namespace XPathTests.FunctionalTests
                     Value = "\uFF2A\uFF55\uFF4E\uFF4A\uFF41"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Single byte char: xpath testing problem char, return 6 nodes
         /// </summary>
-        [Fact]
-        public static void GlobalizationTest5614()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void GlobalizationTest5614(Utils.NavigatorKind kind)
         {
             var xml = "Single_byte_problem_chars_b.xml";
             var testExpression =
@@ -587,77 +606,92 @@ namespace XPathTests.FunctionalTests
                     Value = "\u2122 \u00A9\u00AD\u00AE"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// translate(): CHS gb18030 char
         /// </summary>
-        [Fact]
-        public static void GlobalizationTest5615()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void GlobalizationTest5615(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression =
                 "translate('+\u008F\\\u0178\\\u00E0\\\u00E5\\\u00FB\\\u2022\\\u00E5\\\u0161\\\u00E5\\\u2018\\\u00E5\\~\\+', '\u008F\\\u0178\\\u00E0\\\u00E5\\\u00FB\\\u2022\\\u00E5\\\u0161\\\u00E5\\\u2018\\\u00E5\\~\\', '1*2*3*4*5*6*7*8*9*a*b*c*d*e*')";
             var expected = @"+1*2*3*4*5*6*4*8*4*a*4*c*+";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// translate(): Single byte problem char
         /// </summary>
-        [Fact]
-        public static void GlobalizationTest5616()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void GlobalizationTest5616(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression =
                 "translate('+\u00F6\u00DC\u00DF\u00A9\u00BF\u00BE\u00D5\u00C4\u00E4\u00D6\u00A7\u00B2\u00B3@\u00B5\u00E5E5\u00E5\u2122\u00AD\u00AE+', '\u00F6\u00DC\u00DF\u00A9\u00BF\u00BE\u00D5\u00C4\u00E4\u00D6\u00A7\u00B2\u00B3@\u00B5\u00E5E5\u00E5\u2122\u00AD\u00AE', '0123456789abcdefghijklm')";
             var expected = @"+0123456789abcdefghfjkl+";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// translate(): Japanese problem char
         /// </summary>
-        [Fact]
-        public static void GlobalizationTest5617()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void GlobalizationTest5617(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression =
                 "translate('+\uFF71\uFF72\uFF73\uFF74\uFF75\u3042\u3044\u3046\u3048\u304A\u30A2\u30A4\u30A6\u30A8\u30AA\u4E9C\u4F0A\u5B87\u6C5F\u592A\u5E73\u6D0B\u6BEB\u6B47\u6B49\u6ECC\u6F3E\u9ED1\u5341\u6B43\u6FEC\u85F9\u72BE\u8868\u86DE\u6BEB\u70DF\u7930\u7AF9\uFF41\uFF22\uFF41+', '\uFF71\uFF72\uFF73\uFF74\uFF75\u3042\u3044\u3046\u3048\u304A\u30A2\u30A4\u30A6\u30A8\u30AA\u4E9C\u4F0A\u5B87\u6C5F\u592A\u5E73\u6D0B\u6BEB\u6B47\u6B49\u6ECC\u6F3E\u9ED1\u5341\u6B43\u6FEC\u85F9\u72BE\u8868\u86DE\u6BEB\u70DF\u7930\u7AF9\uFF41\uFF22\uFF41', '0123456789abcdefghijklmnopqrstuvwxyz@#?%^*()_=')";
             var expected = @"+0123456789abcdefghijklmnopqrstuvwxym@#?%^%+";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// translate(): CHT problem char
         /// </summary>
-        [Fact]
-        public static void GlobalizationTest5618()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void GlobalizationTest5618(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression =
                 "translate('+\u00F1\u00F2\u00E9\u00D1\u00E4\u00E7\u00D3\u00E7\u00E5\u00E5\u00E5\u00FE\u00A1\u00A1\u00AA\u00FE\u00A8\u00EF\u00E5~\u00A1\u00A2+', '\u00F1\u00F2\u00E9\u00D1\u00E4\u00E7\u00D3\u00E7\u00E5\u00E5\u00E5\u00FE\u00A1\u00A1\u00AA\u00FE\u00A8\u00EF\u00E5~\u00A1\u00A2', '0123456789abcdefghijklmnopqrstuvwxyz@#?%^*()_=')";
             var expected = @"+01234565888bccebgh8jcl+";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// translate(): CHS problem char
         /// </summary>
-        [Fact]
-        public static void GlobalizationTest5619()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void GlobalizationTest5619(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression =
                 "translate('+\u00E5\u00FE\u00A1\u00A1\u00B0\u00A1\u00E5\u0178\u00E0\u00FB\u2019\u008F\u0178\u00E0\u00E5\u00FB\u2022\u00E5\u0161\u00E5\u2018\u00E5~+', '\u00E5\u00FE\u00A1\u00A1\u00B0\u00A1\u00E5\u0178\u00E0\u00FB\u2019\u008F\u0178\u00E0\u00E5\u00FB\u2022\u00E5\u0161\u00E5\u2018\u00E5~', '0123456789abcdefghijklmnopqrstuvwxyz@#?%^*()_=')";
             var expected = @"+0122420789ab7809g0i0k0m+";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
     }
 }
index c741ac7..c420941 100644 (file)
@@ -1,11 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests
 {
@@ -16,10 +15,13 @@ namespace XPathTests.FunctionalTests
     {
         /// <summary>
         /// Expression with intervening whitespace after node type. If the character following an NCName (possibly after intervening ExprWhitespace) is (, then the token must be recognized as a NodeType or a FunctionName
-        /// node     ()
+        /// node     (Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest521()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest521(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/*[node    ()]";
@@ -36,29 +38,35 @@ namespace XPathTests.FunctionalTests
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expression with intervening whitespace after function name.
-        /// name   ()
+        /// name   (Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest522()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest522(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"name   ()";
             var expected = @"bookstore";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// /*[node     ()]
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest523()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest523(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"
@@ -78,15 +86,18 @@ namespace XPathTests.FunctionalTests
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expression for whitespace before and after ::
         /// /bookstore/child   ::   book
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest524()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest524(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/child   ::   book";
@@ -168,45 +179,54 @@ namespace XPathTests.FunctionalTests
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expression with intervening whitespace after '(' and before ')'
         /// name( )
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest525()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest525(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"name( )";
             var expected = @"bookstore";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expression with intervening whitespace after ')'
-        /// name()
+        /// name(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest526()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest526(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"name() ";
             var expected = @"bookstore";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expression with intervening whitespace before axis name.
         /// /bookstore/ child::book
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest527()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest527(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/ child::book";
@@ -288,15 +308,18 @@ namespace XPathTests.FunctionalTests
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expression with intervening whitespace after axis name.
         /// /bookstore/child ::book
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest528()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest528(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/child ::book";
@@ -378,15 +401,18 @@ namespace XPathTests.FunctionalTests
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expression with intervening whitespace before name test
         /// /bookstore/child:: book
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest529()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest529(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/child:: book";
@@ -468,15 +494,18 @@ namespace XPathTests.FunctionalTests
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expression with intervening whitespace after name test
         /// /bookstore/child::book
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5210()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5210(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/child::book ";
@@ -558,15 +587,18 @@ namespace XPathTests.FunctionalTests
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Testing for intervening whitespace before node type.
-        /// /bookstore/child:: node()
+        /// /bookstore/child:: node(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5211()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5211(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/child:: node()";
@@ -775,30 +807,36 @@ namespace XPathTests.FunctionalTests
                 },
                 new XPathResultToken { NodeType = XPathNodeType.Whitespace, HasNameTable = true });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Testing with intervening whitespace before function name.
-        /// name()
+        /// name(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5212()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5212(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @" name()";
             var expected = @"bookstore";
 
-            Utils.XPathStringTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathStringTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Testing with intervening whitespace before @
         /// /bookstore/book/ @style
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5213()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5213(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book/ @style";
@@ -860,15 +898,18 @@ namespace XPathTests.FunctionalTests
                     Value = "novel"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Testing for intervening whitespace after @
         /// /bookstore/book/@ style
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5214()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5214(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book/@ style";
@@ -930,15 +971,18 @@ namespace XPathTests.FunctionalTests
                     Value = "novel"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Multiple prefixes are not allowed
         /// ns:ns:ns
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5215()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5215(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"ns:ns:ns";
@@ -946,7 +990,7 @@ namespace XPathTests.FunctionalTests
 
             namespaceManager.AddNamespace("ns", "http://dummy.htm");
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 namespaceManager: namespaceManager);
         }
 
@@ -954,34 +998,43 @@ namespace XPathTests.FunctionalTests
         /// Regression for 62975. (Namespace manager not used)
         /// ns:ns:ns
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5216()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5216(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"ns:ns:ns";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Regression for 62975. (Namespace manager not used)
         /// ns : ns
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5217()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5217(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"ns : ns";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Prefixes are not allowed before axes names
         /// ns:child::*
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5218()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5218(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"ns:child::*";
@@ -989,58 +1042,70 @@ namespace XPathTests.FunctionalTests
 
             namespaceManager.AddNamespace("ns", "http://dummy.htm");
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// ns:ns:child::*
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5219()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5219(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"ns:ns:child::*";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// ns: child::*
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5220()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5220(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"ns: child::*";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// ns:descendant::*
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5221()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5221(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"ns:descendant::*";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Only a single decimal is allowed in numbers
         /// .123./book
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5222()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5222(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @".123./book";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1048,14 +1113,17 @@ namespace XPathTests.FunctionalTests
         /// Regression for 62977
         /// 12.3./book
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5223()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5223(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"12.3./book";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1063,14 +1131,17 @@ namespace XPathTests.FunctionalTests
         /// Regression for 62977
         /// 1..3/book
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5224()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5224(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"1..3/book";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1078,14 +1149,17 @@ namespace XPathTests.FunctionalTests
         /// Regression for 62977
         /// 12../book
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5225()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5225(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"12../book";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1093,14 +1167,17 @@ namespace XPathTests.FunctionalTests
         /// Predicates are allowed with numbers, function calls, literals, variable ref
         /// .1234[true()]/title
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5226()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5226(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @".1234[true()]";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1108,14 +1185,17 @@ namespace XPathTests.FunctionalTests
         /// Predicates are allowed with numbers, function calls, literals, variable ref.
         /// .1234[true()]/title
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5227()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5227(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @".1234[true()]";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1123,14 +1203,17 @@ namespace XPathTests.FunctionalTests
         /// Predicates are allowed with numbers, function calls, literals, variable ref
         /// number(.1234[true()])
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5228()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5228(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"number(.1234[true()])";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1138,14 +1221,17 @@ namespace XPathTests.FunctionalTests
         /// Predicates are allowed with numbers, function calls, literals, variable ref
         /// number(123)[true()]
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5229()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5229(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"number(123)[true()]";
 
-            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNumberTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -1153,20 +1239,26 @@ namespace XPathTests.FunctionalTests
         /// Predicates are allowed with numbers, function calls, literals, variable ref
         /// string(123[true()])
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5230()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5230(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"string(123[true()])";
 
-            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathStringTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// /bookstore/child    ::
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5231()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5231(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"
@@ -1251,87 +1343,105 @@ namespace XPathTests.FunctionalTests
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// .abc./book
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5232()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5232(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @".abc./book";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Check if operator is scanned properly
-        /// ""!=true()
+        /// ""!=true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5233()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5233(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @""""" != true()";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// (foo=1)or(foo=2)
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5234()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5234(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(foo=1)or(foo=2)";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// (foo=1)and(foo=2)
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5235()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5235(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(foo=1)and(foo=2)";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// (count(//book))and(count(//magazine))
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5236()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5236(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(count(//book))and(count(//magazine))";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// (count(//book))-(count(//magazine))
         /// </summary>
-        [Fact]
-        public static void LexicalStructureTest5237()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void LexicalStructureTest5237(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"(count(//book))-(count(//magazine))";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
     }
 }
index 60bf215..dd3ae1f 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
-using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.MiscellaneousCases
 {
@@ -18,84 +16,105 @@ namespace XPathTests.FunctionalTests.MiscellaneousCases
         /// Throw an exception on undefined variables
         /// child::*[$$abc=1]
         /// </summary>
-        [Fact]
-        public static void MatchesTest541()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest541(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"child::*[$$abc=1]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Match should throw an exception on expression that don't have a return type of nodeset
-        /// true() and true()
+        /// true() and true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MatchesTest542()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest542(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"true() and true()";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Match should throw an exception on expression that don't have a return type of nodeset
-        /// false() or true()
+        /// false() or true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MatchesTest543()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest543(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"true() and true()";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// 1 and 1
         /// </summary>
-        [Fact]
-        public static void MatchesTest544()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest544(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"1 and 1";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// 1
         /// </summary>
-        [Fact]
-        public static void MatchesTest545()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest545(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"1";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// //node()[abc:xyz()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest546()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest546(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//node()[abc:xyz()]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// //node()[abc:xyz()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest547()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest547(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -104,7 +123,7 @@ namespace XPathTests.FunctionalTests.MiscellaneousCases
 
             namespaceManager.AddNamespace("abc", "http://abc.htm");
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 namespaceManager: namespaceManager, startingNodePath: startingNodePath);
         }
 
@@ -112,8 +131,11 @@ namespace XPathTests.FunctionalTests.MiscellaneousCases
         /// Contains a function fasle(), which is not defined, so it should throw an exception
         /// descendant::node()/self::node() [self::text() = false() and self::attribute=fasle()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest548()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest548(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -122,7 +144,7 @@ namespace XPathTests.FunctionalTests.MiscellaneousCases
 
             namespaceManager.AddNamespace("abc", "http://abc.htm");
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 namespaceManager: namespaceManager, startingNodePath: startingNodePath);
         }
 
@@ -130,14 +152,17 @@ namespace XPathTests.FunctionalTests.MiscellaneousCases
         /// No namespace manager provided
         /// //*[abc()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest549()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest549(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"//*[abc()]";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -145,8 +170,11 @@ namespace XPathTests.FunctionalTests.MiscellaneousCases
         /// Namespace manager provided
         /// //*[abc()]
         /// </summary>
-        [Fact]
-        public static void MatchesTest5410()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest5410(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -155,7 +183,7 @@ namespace XPathTests.FunctionalTests.MiscellaneousCases
 
             namespaceManager.AddNamespace("abc", "http://abc.htm");
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 namespaceManager: namespaceManager, startingNodePath: startingNodePath);
         }
 
@@ -163,59 +191,71 @@ namespace XPathTests.FunctionalTests.MiscellaneousCases
         /// Trying several patterns connected with |
         /// /bookstore | /bookstore//@* | //magazine
         /// </summary>
-        [Fact]
-        public static void MatchesTest5411()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest5411(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine/@frequency";
             var testExpression = @"/bookstore | /bookstore//@* | //magazine";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Trying several patterns connected with |
-        /// /bookstore | /bookstore//@* | //magazine | comment()
+        /// /bookstore | /bookstore//@* | //magazine | comment(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MatchesTest5412()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest5412(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "//comment()";
             var testExpression = @"/bookstore | /bookstore//@* | //magazine | comment()";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Trying several patterns connected with |.  Fix test code to move to testexpr node, thus expected=true.
         /// /bookstore | /bookstore//@* | //magazine | comment() (true)
         /// </summary>
-        [Fact]
-        public static void MatchesTest5413()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest5413(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "//book";
             var testExpression = @"/bookstore | /bookstore//@* | //magazine | comment()";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Expected Error
         /// /bookstore | /bookstore//@* | //magazine |
         /// </summary>
-        [Fact]
-        public static void MatchesTest5414()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MatchesTest5414(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "//book";
             var testExpression = @"/bookstore | /bookstore//@* | //magazine |";
 
-            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathMatchTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
     }
index cdf9b6c..351b191 100644 (file)
@@ -1,11 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests
 {
@@ -18,8 +17,11 @@ namespace XPathTests.FunctionalTests
         /// verify that attribute nodes occur before children of a node in document order
         /// attribute nodes before children
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest531()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest531(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/magazine[6]/@frequency/following::title";
@@ -52,105 +54,129 @@ namespace XPathTests.FunctionalTests
                     Value = "Trenton Today, Trenton Tomorrow"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Throw an exception on undefined variables
         /// child::*[$$abc=1]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest532()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest532(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/book[1]";
             var testExpression = @"child::*[$$abc=1]";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Select() should throw an exception on expression that don't have a return type of nodeset
-        /// true() and true()
+        /// true() and true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest533()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest533(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"true() and true()";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Select() should throw an exception on expression that don't have a return type of nodeset
-        /// false() or true()
+        /// false() or true(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest534()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest534(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"false() or true()";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// 1 and 1
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest535()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest535(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"1 and 1";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// 1[true()]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest536()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest536(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"1[true()]";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// 1
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest537()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest537(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"1";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Regression for 62694
         /// //node()[abc:xyz()]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest538()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest538(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//node()[abc:xyz()]";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Regression for 62694
         /// //node()[abc:xyz()]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest539()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest539(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//node()[abc:xyz()]";
@@ -158,15 +184,18 @@ namespace XPathTests.FunctionalTests
 
             namespaceManager.AddNamespace("abc", "http://abc.htm");
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 namespaceManager: namespaceManager);
         }
 
         /// <summary>
         /// descendant::node()/self::node() [self::text() = false() and self::attribute=fasle()]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest5310()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest5310(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -175,7 +204,7 @@ namespace XPathTests.FunctionalTests
 
             namespaceManager.AddNamespace("abc", "http://abc.htm");
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 namespaceManager: namespaceManager, startingNodePath: startingNodePath);
         }
 
@@ -183,14 +212,17 @@ namespace XPathTests.FunctionalTests
         /// No namespace manager provided
         /// //*[abc()]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest5311()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest5311(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
             var testExpression = @"//*[abc()]";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 startingNodePath: startingNodePath);
         }
 
@@ -198,8 +230,11 @@ namespace XPathTests.FunctionalTests
         /// Namespace manager provided
         /// //*[abc()]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest5312()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest5312(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore";
@@ -208,28 +243,34 @@ namespace XPathTests.FunctionalTests
 
             namespaceManager.AddNamespace("abc", "http://abc.htm");
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression,
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression,
                 namespaceManager: namespaceManager, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*[position>2][position()=5]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest5313()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest5313(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
             var testExpression = @"ancestor::*[position()>2][position()=5]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*[position>2][position()=1]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest5314()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest5314(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
@@ -247,40 +288,49 @@ namespace XPathTests.FunctionalTests
                         "\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*[position>2][position()=3]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest5315()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest5315(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
             var testExpression = @"ancestor::*[position()>2][position()=3]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*[position>2][position()=4]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest5316()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest5316(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
             var testExpression = @"ancestor::*[position()>2][position()=4]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*[position>2][last()]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest5317()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest5317(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
@@ -298,14 +348,17 @@ namespace XPathTests.FunctionalTests
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*[position>2][position()=2]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest5318()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest5318(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
@@ -323,14 +376,17 @@ namespace XPathTests.FunctionalTests
                         "\n\t\n\t\tSeven Years in Trenton\n\t\t\n\t\t\tJoe\n\t\t\tBob\n\t\t\tTrenton Literary Review Honorable Mention\n\t\t\tUSA\n\t\t\n\t\t12\n\t\n\t\n\t\tHistory of Trenton\n\t\t\n\t\t\tMary\n\t\t\tBob\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tJoeBob\n\t\t\t\tLoser\n\t\t\t\tUS\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tXQL The Golden Years\n\t\t\n\t\t\tMike\n\t\t\tHyman\n\t\t\t\n\t\t\t\tXQL For Dummies\n\t\t\t\tJonathan\n\t\t\t\tMarsh\n\t\t\t\n\t\t\n\t\t55.95\n\t\n\t\n\t\tRoad and Track\n\t\t3.50\n\t\t\n\t\tYes\n\t\n\t\n\t\tPC Week\n\t\tfree\n\t\tZiff Davis\n\t\n\t\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\tSport Cars - Can you really dream?\n\t\t\t\n\t\t\n\t\n\t\n\t\tPC Magazine Best Product of 1997\n\t\n\t\n\t\tHistory of Trenton 2\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t55\n\t\n\t\n\t\tHistory of Trenton Vol 3\n\t\t\n\t\t\tMary F\n\t\t\tRobinson\n\t\t\tFrank\n\t\t\tAnderson\n\t\t\tPulizer\n\t\t\t\n\t\t\t\tSelected Short Stories of\n\t\t\t\tMary F\n\t\t\t\tRobinson\n\t\t\t\n\t\t\n\t\t10\n\t\n\t\n\t\tHow To Fix Computers\n\t\t\n\t\t\tHack\n\t\t\ter\n\t\t\tPh.D.\n\t\t\n\t\t08\n\t\n\t\n\t\tTracking Trenton\n\t\t2.50\n\t\t\n\t\n\t\n\t\tTracking Trenton Stocks\n\t\t0.98\n\t\t\n\t\n\t\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t\n\t\n\t\tWho's Who in Trenton\n\t\tRobert Bob\n\t\n\t\n\t\tWhere is Trenton?\n\t\n\t\n\t\tWhere in the world is Trenton?\n\t\n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// ancestor::*[position>2]
         /// </summary>
-        [Fact]
-        public static void MiscellaneousCasesTest5319()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void MiscellaneousCasesTest5319(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var startingNodePath = "/bookstore/magazine[3]/articles/story1/details";
@@ -359,19 +415,22 @@ namespace XPathTests.FunctionalTests
                         "\n\t\tPC Magazine\n\t\t3.95\n\t\tZiff Davis\n\t\t\n\t\t\tCreate a dream PC\n\t\t\t\tCreate a list of needed hardware\n\t\t\t\n\t\t\tThe future of the web\n\t\t\t\tCan Netscape stay alive with Microsoft eating up its browser share?\n\t\t\t\tMSFT 99.30\n\t\t\t\t1998-06-23\n\t\t\t\n\t\t\tVisual Basic 5.0 - Will it stand the test of time?\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
-        [Fact]
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
         [SkipOnTargetFramework(TargetFrameworkMonikers.NetFramework)]
-        public static void WhenUsingCustomXPathNavigatorDescendantIteratorShouldBeDoneAfterIterationIsComplete()
+        public static void WhenUsingCustomXPathNavigatorDescendantIteratorShouldBeDoneAfterIterationIsComplete(Utils.NavigatorKind kind)
         {
             // When XPathDescendantIterator.MoveNext returns false it should keep returning false
             // This is a regression test.
             // Previously this scenario was possible to hit only when inheriting from XPathNavigator
             // and not providing custom XPathDescendantsNavigator
             string xml = "<root><a/><b/><c/><d><e/><f/></d></root>";
-            var xpnav = new CustomNavigator(Utils.CreateNavigator(xml));
+            var xpnav = new CustomNavigator(Utils.CreateNavigator(kind, xml));
 
             var it = xpnav.SelectDescendants(XPathNodeType.All, true);
             int ret = 0;
index 7ef4087..e022b64 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests
 {
@@ -18,8 +16,11 @@ namespace XPathTests.FunctionalTests
         /// Trying to union 2 node-sets
         /// | can union node-sets
         /// </summary>
-        [Fact]
-        public static void NodeSetsTest511()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetsTest511(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book | /bookstore/magazine";
@@ -162,33 +163,39 @@ namespace XPathTests.FunctionalTests
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// | cannot be used with types other than node sets. Error expected
         /// /bookstore/book | 3
         /// </summary>
-        [Fact]
-        public static void NodeSetsTest512()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetsTest512(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/bookstore/book | 3";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
 
         /// <summary>
         /// Expression to be filtered is not a nodeset. It is an error if the expression to be filtered does not result in a node-set
         /// 3[3]
         /// </summary>
-        [Fact]
-        public static void NodeSetsTest513()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void NodeSetsTest513(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"3[3]";
 
-            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(xml, testExpression);
+            Utils.XPathNodesetTestThrows<System.Xml.XPath.XPathException>(kind, xml, testExpression);
         }
     }
 }
index 0c91116..e9f3eaa 100644 (file)
@@ -1,11 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
-using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.MiscellaneousCases
 {
@@ -17,73 +15,91 @@ namespace XPathTests.FunctionalTests.MiscellaneousCases
         /// <summary>
         /// translate() cannot handle surrogate pair mapping correctly
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest552()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest552(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = "translate('+\uD800\uDF30+', '\uD800\uDF30', 'x')";
             var expected = @"+x+";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// translate() cannot handle surrogate pair mapping correctly
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest553()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest553(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = "translate('+\uD800\uDF30+', '\uD800\uDF30', 'xy')";
             var expected = @"+xy+";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// translate() cannot handle surrogate pair mapping correctly
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest554()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest554(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"translate('1.2.3.4.5.6.7.8.9.', '112233445566778899', 'axaxaxaxaxaxaxaxax')";
             var expected = @"a.a.a.a.a.a.a.a.a.";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// translate('--aaa--', 'xyz', '')
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest555()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest555(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"translate('--aaa--', 'xyz', '')";
             var expected = @"--aaa--";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// translate('abc', 'abc', '')
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest556()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest556(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"translate('abc', 'abc', '')";
             var expected = @"";
 
-            Utils.XPathStringTest(xml, testExpression, expected);
+            Utils.XPathStringTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //namespace::*
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest557()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest557(Utils.NavigatorKind kind)
         {
             var xml = "t98598.xml";
             var testExpression = @"//namespace::*";
@@ -147,51 +163,63 @@ namespace XPathTests.FunctionalTests.MiscellaneousCases
                     Value = "http://www.w3.org/XML/1998/namespace"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// position()
+        /// position(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest558()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest558(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"position()";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book[starts-with(@stype,'text')]
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest559()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest559(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book[starts-with(@stype,'text')]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book[starts-with(@stype,'glo')]
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest5510()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest5510(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book[starts-with(@stype,'glo')]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book[starts-with(@stype,'')]
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest5511()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest5511(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book[starts-with(@stype,'')]";
@@ -273,135 +301,165 @@ namespace XPathTests.FunctionalTests.MiscellaneousCases
                         "\n\t\tTrenton Today, Trenton Tomorrow\n\t\t\n\t\t\tToni\n\t\t\tBob\n\t\t\tB.A.\n\t\t\tPh.D.\n\t\t\tPulizer\n\t\t\tStill in Trenton\n\t\t\tTrenton Forever\n\t\t\n\t\t6.50\n\t\t\n\t\t\tIt was a dark and stormy night.\n\t\t\tBut then all nights in Trenton seem dark and\n\t\t\tstormy to someone who has gone through what\n\t\t\tI have.\n\t\t\t\n\t\t\t\n\t\t\t\tTrenton\n\t\t\t\tmisery\n\t\t\t\n\t\t\n\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book[starts-with(@stype,' ')]
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest5512()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest5512(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book[starts-with(@stype,' ')]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book[starts-with(@stype,' text')]
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest5513()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest5513(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book[starts-with(@stype,' text')]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// //book[starts-with(@stype,'text ')]
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest5514()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest5514(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"//book[starts-with(@stype,'text ')]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
-        /// last()
+        /// last(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest5515()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest5515(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"last()";
             var expected = 1d;
 
-            Utils.XPathNumberTest(xml, testExpression, expected);
+            Utils.XPathNumberTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// /child::MyComputer/descendant::UIntData/descendant::Value//@value
-        /// last()
+        /// last(Utils.NavigatorKind kind)
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest5516()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest5516(Utils.NavigatorKind kind)
         {
             var xml = "t114730.xml";
             var testExpression = @"/child::MyComputer/descendant::UIntData/descendant::Value//@value";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Execution of XPath expressions like that compare string to node-set with arithmetic operators in context of parent expression results in NRE.
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest5519()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest5519(Utils.NavigatorKind kind)
         {
             var xml = "books.xml";
             var testExpression = @"/*['6' > *]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Match() String functions inside predicate use wrong context node
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest5520()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest5520(Utils.NavigatorKind kind)
         {
             var xml = "bookstore.xml";
             var testExpression = @"book[substring-before(local-name(),'store')]";
             var expected = new XPathResult(0);
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected: Line 1 == Line 3, Actual Line 1 == Line 2 (this test cases is Line1==Line2?)
         /// count(/*[1]//node()[1]) = count(/*[1]/descendant::node()[1])
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest5523()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest5523(Utils.NavigatorKind kind)
         {
             var xml = "bookstore.xml";
             var testExpression = @"count(/*[1]//node()[1]) = count(/*[1]/descendant::node()[1])";
             var expected = false;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Expected: Line 1 == Line 3, Actual Line 1 == Line 2 (this test cases is Line1==Line3?)
         /// count(/*[1]//node()[1]) = count(/*//node()[1])
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest5524()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest5524(Utils.NavigatorKind kind)
         {
             var xml = "bookstore.xml";
             var testExpression = @"count(/*[1]//node()[1]) = count(/*//node()[1])";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Numeric operators are incorrectly treated as returning boolean
         /// not(0+0)
         /// </summary>
-        [Fact]
-        public static void RegressionTestsTest5525()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void RegressionTestsTest5525(Utils.NavigatorKind kind)
         {
             var xml = "dummy.xml";
             var testExpression = @"not(0+0)";
             var expected = true;
 
-            Utils.XPathBooleanTest(xml, testExpression, expected);
+            Utils.XPathBooleanTest(kind, xml, testExpression, expected);
         }
     }
 }
index 6e0c142..e10ede4 100644 (file)
@@ -1,12 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using System;
 using System.Text;
-using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.FunctionalTests.Location.Paths
 {
@@ -24,21 +22,27 @@ namespace XPathTests.FunctionalTests.Location.Paths
         /// Return all OrderDate's equal to ""11/16/94"".
         /// OrderIDs/CustomerIDs/EmployeeIDs/OrderDates/OrderDate[.="11/16/94"]
         /// </summary>
-        [Fact]
-        public void AbbreviatedSyntaxTest125()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public void AbbreviatedSyntaxTest125(Utils.NavigatorKind kind)
         {
             var xml = "XQL_Orders_j1.xml";
             var testExpression = @"OrderIDs/CustomerIDs/EmployeeIDs/OrderDates/OrderDate[.='11/16/94']";
             var expected = new XPathResult(0);
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Russian: xpath testing problem char, return 1 node
         /// </summary>
-        [Fact]
-        public void GlobalizationTest5612()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public void GlobalizationTest5612(Utils.NavigatorKind kind)
         {
             var xml = "Russian_problem_chars.xml";
             var testExpression = "//root[contains(text(), \"?? \u00A4 ?? ?? \u00A9 ? \u00AE ??\")]";
@@ -53,30 +57,36 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "\n?? \u00A4 ?? ?? \u00A9 ? \u00AE ?? \n"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
 
         /// <summary>
         /// Testing multiple predicates - Return all CustomerIDs that have a Customer ID and EmployeeIDs with an EmployeeID and a Freight equal to 12.75.
         /// OrderIDs/CustomerIDs[CustomerID]/EmployeeIDs[EmployeeID][OrderDates/Freight=12.75]
         /// </summary>
-        [Fact]
-        public void MatchesTest1136()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public void MatchesTest1136(Utils.NavigatorKind kind)
         {
             var xml = "XQL_Orders_j3.xml";
             var startingNodePath = "//EmployeeIDs[1]";
             var testExpression = @"OrderIDs/CustomerIDs[CustomerID]/EmployeeIDs[EmployeeID][OrderDates/Freight=12.75]";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Using a very large number for position - Return the 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999th CustomerIDs (Should return nothing)
         /// OrderIDs/CustomerIDs[9999999999999999999999999999999999999999999999999999999999999999999999999999999999999]
         /// </summary>
-        [Fact]
-        public void MatchesTest1137()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public void MatchesTest1137(Utils.NavigatorKind kind)
         {
             var xml = "XQL_Orders_j3.xml";
             var startingNodePath = "//CustomerIDs";
@@ -84,45 +94,54 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 @"OrderIDs/CustomerIDs[9999999999999999999999999999999999999999999999999999999999999999999999999999999999999]";
             var expected = false;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicates containing attribute - Return all OrderIDs CollatingOrder attribute greater than or equal to 1033.
         /// /ROOT/OrderIDs[OrderID/@CollatingOrder>=1033]/OrderID/@CollatingOrder
         /// </summary>
-        [Fact]
-        public void MatchesTest1138()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public void MatchesTest1138(Utils.NavigatorKind kind)
         {
             var xml = "xql_orders-flat-200a.xml";
             var startingNodePath = "/ROOT/OrderIDs[22]/OrderID/@CollatingOrder";
             var testExpression = @"/ROOT/OrderIDs[OrderID/@CollatingOrder>=1033]/OrderID/@CollatingOrder";
             var expected = true;
 
-            Utils.XPathMatchTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathMatchTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Multiple predicates - Return all OrderIDs where CustomerID's have an EmployeeIDs and EmployeeID equal to 3 and an OrderDate greater than or equal to ""11/16/94"".
         /// .//OrderIDs[CustomerIDs[EmployeeIDs][//EmployeeID='3']][//OrderDate>='11/16/94']
         /// </summary>
-        [Fact]
-        public void PredicatesTest1038()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public void PredicatesTest1038(Utils.NavigatorKind kind)
         {
             var xml = "XQL_Orders_j3.xml";
             var startingNodePath = "/ROOT";
             var testExpression = @".//OrderIDs[CustomerIDs[EmployeeIDs][//EmployeeID='3']][//OrderDate>='11/16/94']";
             var expected = new XPathResult(0);
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Testing multiple predicates - Return all CustomerIDs that have a Customer ID and EmployeeIDs with an EmployeeID and a Freight equal to 12.75.
         /// OrderIDs/CustomerIDs[CustomerID]/EmployeeIDs[EmployeeID][OrderDates/Freight=12.75]
         /// </summary>
-        [Fact]
-        public void PredicatesTest1039()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public void PredicatesTest1039(Utils.NavigatorKind kind)
         {
             var xml = "XQL_Orders_j3.xml";
             var startingNodePath = "/ROOT";
@@ -139,15 +158,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                         "\n\t\t\t\t3\n\t\t\t\t\n\t\t\t\t\t11/16/94\n\t\t\t\t\t12/14/94\n\t\t\t\t\t11/28/94\n\t\t\t\t\t1\n\t\t\t\t\t12.75\n\t\t\t\t\tLILA-Supermercado\n\t\t\t\t\tCarrera 52 con Ave. Bol\u00EDvar #65-98 Llano Largo\n\t\t\t\t\tBarquisimeto\n\t\t\t\t\tLara\n\t\t\t\t\t3508\n\t\t\t\t\tVenezuela\n\t\t\t\t\n\t\t\t"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Using a very large number for position - Return the 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999th CustomerIDs (Should return nothing)
         /// OrderIDs/CustomerIDs[9999999999999999999999999999999999999999999999999999999999999999999999999999999999999]
         /// </summary>
-        [Fact]
-        public void PredicatesTest1040()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public void PredicatesTest1040(Utils.NavigatorKind kind)
         {
             var xml = "XQL_Orders_j1.xml";
             var startingNodePath = "/ROOT";
@@ -155,15 +177,18 @@ namespace XPathTests.FunctionalTests.Location.Paths
                 @"OrderIDs/CustomerIDs[9999999999999999999999999999999999999999999999999999999999999999999999999999999999999]";
             var expected = new XPathResult(0);
 
-            Utils.XPathNodesetTest(xml, testExpression, expected, startingNodePath: startingNodePath);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected, startingNodePath: startingNodePath);
         }
 
         /// <summary>
         /// Predicates containing attribute - Return all OrderIDs CollatingOrder attribute greater than or equal to 1033.
         /// /ROOT/OrderIDs[OrderID/@CollatingOrder>=1033]/OrderID/@CollatingOrder
         /// </summary>
-        [Fact]
-        public void PredicatesTest1041()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public void PredicatesTest1041(Utils.NavigatorKind kind)
         {
             var xml = "xql_orders-flat-200a.xml";
             var testExpression = @"/ROOT/OrderIDs[OrderID/@CollatingOrder>=1033]/OrderID/@CollatingOrder";
@@ -249,7 +274,7 @@ namespace XPathTests.FunctionalTests.Location.Paths
                     Value = "1033"
                 });
 
-            Utils.XPathNodesetTest(xml, testExpression, expected);
+            Utils.XPathNodesetTest(kind, xml, testExpression, expected);
         }
     }
 }
index efa402f..51447dd 100644 (file)
@@ -1,10 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System;
 using System.Xml.XPath;
-using Xunit;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.XPathExpressionTests
 {
@@ -14,7 +13,7 @@ namespace XPathTests.XPathExpressionTests
         {
             Assert.NotNull(XPathExpression.Compile(toCompile));
         }
-        private static void NavigatorCompileTest(string toCompile)
+        private static void NavigatorCompileTest(Utils.NavigatorKind kind, string toCompile)
         {
             var xml = @"<DocumentElement>
     <Level1 Data='0'>
@@ -35,90 +34,111 @@ namespace XPathTests.XPathExpressionTests
     </Level1>
 </DocumentElement>";
 
-            var dataNav = Utils.CreateNavigator(xml);
+            var dataNav = Utils.CreateNavigator(kind, xml);
             Assert.NotNull(dataNav.Compile(toCompile));
         }
 
-        private static void RunCompileTests(string toCompile)
+        private static void RunCompileTests(Utils.NavigatorKind kind, string toCompile)
         {
             XPathExpressionCompileTest(toCompile);
-            NavigatorCompileTest(toCompile);
+            NavigatorCompileTest(kind, toCompile);
         }
 
-        private static void CompileTestsErrors(string toCompile, string exceptionString)
+        private static void CompileTestsErrors(Utils.NavigatorKind kind, string toCompile, string exceptionString)
         {
             Assert.Throws<XPathException>(() => XPathExpressionCompileTest(toCompile));
-            Assert.Throws<XPathException>(() => NavigatorCompileTest(toCompile));
+            Assert.Throws<XPathException>(() => NavigatorCompileTest(kind, toCompile));
         }
 
         /// <summary>
         /// Pass in valid XPath Expression (return type = Nodeset)
         /// Priority: 0
         /// </summary>
-        [Fact]
-        public static void Variation_1()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_1(Utils.NavigatorKind kind)
         {
-            RunCompileTests("child::*");
+            RunCompileTests(kind, "child::*");
         }
 
         /// <summary>
         /// Pass in valid XPath Expression (return type = String)
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_2()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_2(Utils.NavigatorKind kind)
         {
-            RunCompileTests("string(1)");
+            RunCompileTests(kind, "string(1)");
         }
 
         /// <summary>
         ///  Pass in valid XPath Expression (return type = Number)
         ///  Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_3()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_3(Utils.NavigatorKind kind)
         {
-            RunCompileTests("number('1')");
+            RunCompileTests(kind, "number('1')");
         }
 
         /// <summary>
         /// Pass in valid XPath Expression (return type = Boolean)
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_4()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_4(Utils.NavigatorKind kind)
         {
-            RunCompileTests("true()");
+            RunCompileTests(kind, "true()");
         }
 
         /// <summary>
         /// Pass in invalid XPath Expression
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_5()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_5(Utils.NavigatorKind kind)
         {
-            CompileTestsErrors("invalid:::", "Xp_InvalidToken");
+            CompileTestsErrors(kind, "invalid:::", "Xp_InvalidToken");
         }
 
         /// <summary>
         /// Pass in empty string
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_6()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_6(Utils.NavigatorKind kind)
         {
-            CompileTestsErrors(string.Empty, "Xp_NodeSetExpected");
+            CompileTestsErrors(kind, string.Empty, "Xp_NodeSetExpected");
         }
 
         /// <summary>
         /// Pass in NULL
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_7()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_7(Utils.NavigatorKind kind)
         {
-            CompileTestsErrors(null, "Xp_ExprExpected");
+            CompileTestsErrors(kind, null, "Xp_ExprExpected");
         }
     }
 }
index 2f59ca3..0509020 100644 (file)
@@ -6,8 +6,8 @@ using System.Collections;
 using System.Linq;
 using System.Xml.Linq;
 using System.Xml.XPath;
-using Xunit;
 using XPathTests.Common;
+using Xunit;
 
 namespace XPathTests.XPathExpressionTests
 {
@@ -32,18 +32,18 @@ namespace XPathTests.XPathExpressionTests
     </Level1>
 </DocumentElement>";
 
-        private static void EvaluateTestNonCompiled<T>(string toEvaluate, T expected)
+        private static void EvaluateTestNonCompiled<T>(Utils.NavigatorKind kind, string toEvaluate, T expected)
         {
-            var navigator = Utils.CreateNavigator(xml);
+            var navigator = Utils.CreateNavigator(kind, xml);
             var result = navigator.Evaluate(toEvaluate);
             var convertedResult = Convert.ChangeType(result, typeof(T));
 
             Assert.Equal(expected, convertedResult);
         }
 
-        private static void EvaluateTestCompiledXPathExpression<T>(string toEvaluate, T expected)
+        private static void EvaluateTestCompiledXPathExpression<T>(Utils.NavigatorKind kind, string toEvaluate, T expected)
         {
-            var navigator = Utils.CreateNavigator(xml);
+            var navigator = Utils.CreateNavigator(kind, xml);
             var xPathExpression = XPathExpression.Compile(toEvaluate);
             var result = navigator.Evaluate(xPathExpression);
             var convertedResult = Convert.ChangeType(result, typeof(T));
@@ -52,72 +52,87 @@ namespace XPathTests.XPathExpressionTests
         }
 
 
-        private static void EvaluateTestsBoth<T>(string toEvaluate, T expected)
+        private static void EvaluateTestsBoth<T>(Utils.NavigatorKind kind, string toEvaluate, T expected)
         {
-            EvaluateTestNonCompiled(toEvaluate, expected);
-            EvaluateTestCompiledXPathExpression(toEvaluate, expected);
+            EvaluateTestNonCompiled(kind, toEvaluate, expected);
+            EvaluateTestCompiledXPathExpression(kind, toEvaluate, expected);
         }
 
-        private static void EvaluateTestsErrors(string toEvaluate, string exceptionString)
+        private static void EvaluateTestsErrors(Utils.NavigatorKind kind, string toEvaluate, string exceptionString)
         {
-            Assert.Throws<XPathException>(() => EvaluateTestCompiledXPathExpression<object>(toEvaluate, null));
-            Assert.Throws<XPathException>(() => EvaluateTestNonCompiled<object>(toEvaluate, null));
+            Assert.Throws<XPathException>(() => EvaluateTestCompiledXPathExpression<object>(kind, toEvaluate, null));
+            Assert.Throws<XPathException>(() => EvaluateTestNonCompiled<object>(kind, toEvaluate, null));
         }
 
         /// <summary>
         /// Pass in valid XPath Expression (return type = String)
         /// Priority: 0
         /// </summary>
-        [Fact]
-        public static void Variation_1()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_1(Utils.NavigatorKind kind)
         {
-            EvaluateTestsBoth("string(1)", "1");
+            EvaluateTestsBoth(kind, "string(1)", "1");
         }
 
         /// <summary>
         /// Pass in valid XPath Expression (return type = Number)
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_2()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_2(Utils.NavigatorKind kind)
         {
-            EvaluateTestsBoth("number('1')", 1);
+            EvaluateTestsBoth(kind, "number('1')", 1);
         }
 
         /// <summary>
         /// Pass in valid XPath Expression (return type = Boolean)
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_3()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_3(Utils.NavigatorKind kind)
         {
-            EvaluateTestsBoth("true()", true);
+            EvaluateTestsBoth(kind, "true()", true);
         }
 
         /// <summary>
         /// Pass in empty String
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_5()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_5(Utils.NavigatorKind kind)
         {
-            EvaluateTestsErrors(string.Empty, "Xp_NodeSetExpected");
+            EvaluateTestsErrors(kind, string.Empty, "Xp_NodeSetExpected");
         }
 
         /// <summary>
         /// Pass in invalid XPath Expression (wrong syntax)
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_6()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_6(Utils.NavigatorKind kind)
         {
-            EvaluateTestsErrors("string(1, 2)", "Xp_InvalidNumArgs");
+            EvaluateTestsErrors(kind, "string(1, 2)", "Xp_InvalidNumArgs");
         }
 
 
-        private static void EvaluateTestNonCompiledNodeset(string toEvaluate, string[] expected)
+        private static void EvaluateTestNonCompiledNodeset(Utils.NavigatorKind kind, string toEvaluate, string[] expected)
         {
-            var navigator = Utils.CreateNavigator(xml);
+            var navigator = Utils.CreateNavigator(kind, xml);
             var iter = (XPathNodeIterator)navigator.Evaluate(toEvaluate);
 
             foreach (var e in expected)
@@ -127,9 +142,9 @@ namespace XPathTests.XPathExpressionTests
             }
         }
 
-        private static void EvaluateTestCompiledNodeset(string toEvaluate, string[] expected)
+        private static void EvaluateTestCompiledNodeset(Utils.NavigatorKind kind, string toEvaluate, string[] expected)
         {
-            var navigator = Utils.CreateNavigator(xml);
+            var navigator = Utils.CreateNavigator(kind, xml);
             var xPathExpression = XPathExpression.Compile(toEvaluate);
             var iter = (XPathNodeIterator)navigator.Evaluate(xPathExpression);
 
@@ -144,41 +159,53 @@ namespace XPathTests.XPathExpressionTests
         /// Pass in valid XPath Expression
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_7()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_7(Utils.NavigatorKind kind)
         {
-            EvaluateTestCompiledNodeset("DocumentElement/child::*", new[] { "first", "second", "third", "last" });
-            EvaluateTestNonCompiledNodeset("DocumentElement/child::*", new[] { "first", "second", "third", "last" });
+            EvaluateTestCompiledNodeset(kind, "DocumentElement/child::*", new[] { "first", "second", "third", "last" });
+            EvaluateTestNonCompiledNodeset(kind, "DocumentElement/child::*", new[] { "first", "second", "third", "last" });
         }
 
         /// <summary>
         /// Pass in NULL
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_9()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_9(Utils.NavigatorKind kind)
         {
-            EvaluateTestsErrors(null, "Xp_ExprExpected");
+            EvaluateTestsErrors(kind, null, "Xp_ExprExpected");
         }
 
         /// <summary>
         /// Pass in invalid XPath Expression (wrong syntax)
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_10()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_10(Utils.NavigatorKind kind)
         {
-            EvaluateTestsErrors("DocumentElement/child:::*", "Xp_InvalidToken");
+            EvaluateTestsErrors(kind, "DocumentElement/child:::*", "Xp_InvalidToken");
         }
 
         /// <summary>
         /// Pass in two different XPath Expression in a row
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_11()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_11(Utils.NavigatorKind kind)
         {
-            var navigator = Utils.CreateNavigator(xml);
+            var navigator = Utils.CreateNavigator(kind, xml);
 
             navigator.Evaluate("child::*");
             navigator.Evaluate("descendant::*");
@@ -188,10 +215,13 @@ namespace XPathTests.XPathExpressionTests
         /// Pass in valid XPath Expression, then empty string
         /// Priority: 1
         /// </summary>
-        [Fact]
-        public static void Variation_12()
+        [Theory]
+        [InlineData(Utils.NavigatorKind.XmlDocument)]
+        [InlineData(Utils.NavigatorKind.XPathDocument)]
+        [InlineData(Utils.NavigatorKind.XDocument)]
+        public static void Variation_12(Utils.NavigatorKind kind)
         {
-            var navigator = Utils.CreateNavigator(xml);
+            var navigator = Utils.CreateNavigator(kind, xml);
 
             navigator.Select("/DocumentElement/child::*");
             Assert.Throws<XPathException>(() => navigator.Select(string.Empty));
index 79ef33f..3422afa 100644 (file)
@@ -1,7 +1,6 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System.IO;
 using System.Xml;
 using System.Xml.XPath;
 using XPathTests.Common;
index d60e4c3..9b798ee 100644 (file)
@@ -2,13 +2,13 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using System;
-using System.Xml;
-using System.Text;
-using System.IO;
-using System.Globalization;
-using OLEDB.Test.ModuleCore;
 using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+using System.Text;
 using System.Threading.Tasks;
+using System.Xml;
+using OLEDB.Test.ModuleCore;
 
 /// <summary>
 /// Summary description for Class1
index 76bf378..ebfbe04 100644 (file)
@@ -2,11 +2,11 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using System;
-using System.Text;
-using System.IO;
-using OLEDB.Test.ModuleCore;
 using System.Collections.Generic;
+using System.IO;
 using System.Reflection;
+using System.Text;
+using OLEDB.Test.ModuleCore;
 
 namespace XmlCoreTest.Common
 {
index d51c5e3..3a138d1 100644 (file)
@@ -2,8 +2,8 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using System;
-using System.IO;
 using System.Collections.Generic;
+using System.IO;
 using System.Text;
 using OLEDB.Test.ModuleCore;
 
index a608317..1d4470c 100644 (file)
 /// out to end at the buffer boundary.
 ///
 using System;
-using System.Xml;
-using System.Text;
+using System.Collections.Generic;
 using System.IO;
+using System.Text;
+using System.Xml;
 using OLEDB.Test.ModuleCore;
-using System.Collections.Generic;
 
 namespace XmlCoreTest.Common
 {
index b4c3ca0..9ee5ed5 100644 (file)
 /// out to end at the buffer boundary.
 ///
 using System;
-using System.Xml;
-using System.Text;
-using System.IO;
-
-using System.Globalization;
 using System.Diagnostics;
-
+using System.Globalization;
+using System.IO;
+using System.Text;
+using System.Xml;
 using OLEDB.Test.ModuleCore;
 
 namespace XmlCoreTest.Common
index dfa238e..f3aaf6f 100644 (file)
@@ -2,13 +2,13 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using System;
+using System.Collections;
+using System.Collections.Generic;
 using System.IO;
 using System.Text;
 using System.Xml;
-using OLEDB.Test.ModuleCore;
-using System.Collections;
-using System.Collections.Generic;
 using System.Xml.XmlDiff;
+using OLEDB.Test.ModuleCore;
 
 namespace XmlCoreTest.Common
 {
index a0cfd1f..4101d1b 100644 (file)
@@ -1,9 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System.Text;
-using System.IO;
 using System.Diagnostics;
+using System.IO;
+using System.Text;
 
 namespace System.Xml.XmlDiff
 {
index 23cfda1..569103b 100644 (file)
@@ -2,11 +2,11 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using System;
-using System.Xml;
-using System.IO;
 using System.Collections;
 using System.Diagnostics;
+using System.IO;
 using System.Text;
+using System.Xml;
 using OLEDB.Test.ModuleCore;
 
 namespace System.Xml.XmlDiff
index 8a912d7..49bb74f 100644 (file)
@@ -2,11 +2,11 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using System.Collections.Generic;
+using System.Linq;
 using System.Runtime.InteropServices;
 using System.Threading.Tasks;
 using Xunit;
 using Xunit.Sdk;
-using System.Linq;
 
 namespace System
 {
index 62b4f0e..a1de790 100644 (file)
@@ -1,4 +1,6 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-[assembly: Xunit.CollectionBehavior(DisableTestParallelization = true)]
\ No newline at end of file
+using Xunit;
+
+[assembly: CollectionBehavior(CollectionBehavior.CollectionPerAssembly, DisableTestParallelization = true, MaxParallelThreads = 1)]
index 8c576ab..326786d 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Microsoft.Win32.SafeHandles;
 using System.Buffers;
 using System.Diagnostics;
 using System.Runtime.CompilerServices;
-using System.Threading;
 using System.Text;
+using System.Threading;
+using Microsoft.Win32.SafeHandles;
+using Xunit;
 
 namespace System.IO
 {
index e8eb35a..8b57b37 100644 (file)
@@ -5,11 +5,11 @@ using System.Diagnostics;
 using System.IO;
 using System.Linq;
 using System.Linq.Expressions;
-using System.Security;
-using System.Security.Authentication;
 using System.Reflection;
-using System.Runtime.InteropServices;
 using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Security;
+using System.Security.Authentication;
 using Microsoft.Win32;
 using Xunit;
 
diff --git a/src/libraries/System.Private.Xml.Linq/tests/XPath/XDocument/System.Xml.XPath.XDocument.Tests.csproj b/src/libraries/System.Private.Xml.Linq/tests/XPath/XDocument/System.Xml.XPath.XDocument.Tests.csproj
deleted file mode 100644 (file)
index 4841596..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-    <CommonPathXPath>$(CommonTestPath)System\Xml\XPath</CommonPathXPath>
-  </PropertyGroup>
-  <ItemGroup>
-    <!-- XPath.XDocument navigator -->
-    <Compile Include="CreateNavigatorComparer.cs" />
-    <Compile Include="NavigatorComparer.cs" />
-    <Compile Include="CreateNavigatorFromXDocument.cs" />
-    <Compile Include="XDocumentXPathTest.cs" />
-    <!-- Common -->
-    <Compile Include="$(CommonPathXPath)\XmlDocument\CreateNavigatorFromXmlDocument.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\FileHelper.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\ICreateNavigator.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\Utils.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\XPathResult.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\XPathResultToken.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\BooleanFunctionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\ComplexExpressionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\NodeSetFunctionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\NodeSetMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\NumberFunctionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\ParameterTypeCoercionTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\StringFunctionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CustomerScenarios\CustomerScenariosTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CustomerScenarios\MatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\BasicMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\BasicsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\BooleansTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\NodeSetsMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\NodeSetsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\NumbersTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\SetContextFunctionalTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\SetContextMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAbbreviatedSyntaxMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAbbreviatedSyntaxTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxeCombinationsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxeComplexExprMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxeComplexExprTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxeMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathNodeMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathNodeTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathPredicateComplexExprTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathPredicateMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathPredicatePositionTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathPredicatesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\StepMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\StepsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\GlobalizationTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\LexicalStructureTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\MatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\MiscellaneousCasesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\NodeSetsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\RegressionTestsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\TestsWithEncoding\MiscWithEncodings.cs" />
-    <Compile Include="$(CommonPathXPath)\XPathExpressionTests\CompileTests.cs" />
-    <Compile Include="$(CommonPathXPath)\XPathExpressionTests\EvaluateTests.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\91893.xml">
-      <Link>TestData\91893.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\JPN_problem_chars_1.xml">
-      <Link>TestData\JPN_problem_chars_1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\JPN_problem_chars_2.xml">
-      <Link>TestData\JPN_problem_chars_2.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\KOR_problem_chars_b.xml">
-      <Link>TestData\KOR_problem_chars_b.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\Russian_problem_chars.xml">
-      <Link>TestData\Russian_problem_chars.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\Single_byte_problem_chars_b.xml">
-      <Link>TestData\Single_byte_problem_chars_b.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\Surrogates_1.xml">
-      <Link>TestData\Surrogates_1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\Thai_risky_chars.xml">
-      <Link>TestData\Thai_risky_chars.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\XQL_Orders_j1.xml">
-      <Link>TestData\XQL_Orders_j1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\XQL_Orders_j3.xml">
-      <Link>TestData\XQL_Orders_j3.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xql_orders-flat-200a.xml">
-      <Link>TestData\xql_orders-flat-200a.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\books.xml">
-      <Link>TestData\books.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\books_2.xml">
-      <Link>TestData\books_2.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\bookstore.xml">
-      <Link>TestData\bookstore.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\data.xml">
-      <Link>TestData\data.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\data1.xml">
-      <Link>TestData\data1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\data4.xml">
-      <Link>TestData\data4.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\dummy.xml">
-      <Link>TestData\dummy.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\id4.xml">
-      <Link>TestData\id4.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\lang.xml">
-      <Link>TestData\lang.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\name.xml">
-      <Link>TestData\name.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\name2.xml">
-      <Link>TestData\name2.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\name4.xml">
-      <Link>TestData\name4.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\namespaces.xml">
-      <Link>TestData\namespaces.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\ns_default.xml">
-      <Link>TestData\ns_default.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\ns_prefixes.xml">
-      <Link>TestData\ns_prefixes.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\numbers.xml">
-      <Link>TestData\numbers.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\space.xml">
-      <Link>TestData\space.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\t114730.xml">
-      <Link>TestData\t114730.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\t98598.xml">
-      <Link>TestData\t98598.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\test1.xml">
-      <Link>TestData\test1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\test63682.xml">
-      <Link>TestData\test63682.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\test63733.xml">
-      <Link>TestData\test63733.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\test66246.xml">
-      <Link>TestData\test66246.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\turkish.xml">
-      <Link>TestData\turkish.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp001.xml">
-      <Link>TestData\xp001.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp002.xml">
-      <Link>TestData\xp002.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp003.xml">
-      <Link>TestData\xp003.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp004.xml">
-      <Link>TestData\xp004.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp005.xml">
-      <Link>TestData\xp005.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp006.xml">
-      <Link>TestData\xp006.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp008.xml">
-      <Link>TestData\xp008.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp012.xml">
-      <Link>TestData\xp012.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xpC001.xml">
-      <Link>TestData\xpC001.xml</Link>
-    </EmbeddedResource>
-  </ItemGroup>
-</Project>
diff --git a/src/libraries/System.Private.Xml.Linq/tests/XPath/XDocument/XDocumentXPathTest.cs b/src/libraries/System.Private.Xml.Linq/tests/XPath/XDocument/XDocumentXPathTest.cs
deleted file mode 100644 (file)
index 20c857d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-
-using XPathTests.Common;
-
-namespace XPathTests.Common
-{
-    public static partial class Utils
-    {
-        private static readonly ICreateNavigator _navigatorCreator = new CreateNavigatorComparer();
-        public static readonly string ResourceFilesPath = "System.Xml.XPath.XDocument.Tests.TestData.";
-    }
-}
index b9f572e..06f09b8 100644 (file)
@@ -1,4 +1,8 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.4.32907.410
+MinimumVisualStudioVersion = 10.0.40219.1
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BaseLibManaged", "..\Common\tests\System\Xml\BaseLibManaged\BaseLibManaged.csproj", "{301E53B9-AF30-4759-953B-8C2396D96E41}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ModuleCore", "..\Common\tests\System\Xml\ModuleCore\ModuleCore.csproj", "{497F8F6C-CE19-4B51-9A6E-5176231F22F3}"
@@ -13,60 +17,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SerializableAssembly", "..\
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Private.Xml", "src\System.Private.Xml.csproj", "{B49AD269-3938-4F33-AEF8-029D3A94138F}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.Misc.Tests", "tests\Misc\System.Xml.Misc.Tests.csproj", "{A1DBA542-0E3C-4767-9BDB-58238C195856}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.CharCheckingReader.Tests", "tests\Readers\CharCheckingReader\System.Xml.RW.CharCheckingReader.Tests.csproj", "{EF288754-66B1-4E80-8044-2D69EBB0F121}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.CustomReader.Tests", "tests\Readers\CustomReader\System.Xml.RW.CustomReader.Tests.csproj", "{AE2A48D5-AA4E-4B0D-875B-2624B23D79E1}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.FactoryReader.Tests", "tests\Readers\FactoryReader\System.Xml.RW.FactoryReader.Tests.csproj", "{F0955347-9034-42BA-9924-E6245E813B6C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.NameTable.Tests", "tests\Readers\NameTable\System.Xml.RW.NameTable.Tests.csproj", "{6E1952A6-B2A2-4552-8BF9-19BF78005B8D}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.ReaderSettings.Tests", "tests\Readers\ReaderSettings\System.Xml.RW.ReaderSettings.Tests.csproj", "{760E5C8B-1DEE-485C-AC58-86723AF12749}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.SubtreeReader.Tests", "tests\Readers\SubtreeReader\System.Xml.RW.SubtreeReader.Tests.csproj", "{48D22D17-2757-43E8-9A8C-2C53165C7271}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.WrappedReader.Tests", "tests\Readers\WrappedReader\System.Xml.RW.WrappedReader.Tests.csproj", "{F1EA6D30-052C-4BAF-A6C7-4B2A1F4A4AE5}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.RwFactory.Tests", "tests\Writers\RwFactory\System.Xml.RW.RwFactory.Tests.csproj", "{7D132F1D-BE7F-475A-8E03-5E1579DB79B7}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.XmlWriterApi.Tests", "tests\Writers\XmlWriterApi\System.Xml.RW.XmlWriterApi.Tests.csproj", "{4EAFAB71-A5E3-41AB-8F84-EBD5D36DF9E5}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.XmlConvert.Tests", "tests\XmlConvert\System.Xml.RW.XmlConvert.Tests.csproj", "{43C406AC-9304-4FE4-8A32-7C6C4286E1C6}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.XmlDocument.Tests", "tests\XmlDocument\System.Xml.XmlDocument.Tests.csproj", "{6CDEE0F7-3E0E-4EDD-91B0-2B1A56ED6109}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.XmlNodeReader.Tests", "tests\XmlNodeReader\System.Xml.XmlNodeReader.Tests\System.Xml.XmlNodeReader.Tests.csproj", "{ECEE9717-ECE3-4F62-8C65-CEED1A76DFDF}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.XmlReader.ReadContentAs.Tests", "tests\XmlReader\ReadContentAs\System.Xml.RW.XmlReader.ReadContentAs.Tests.csproj", "{64194137-008E-491D-9258-C07C0389ADB9}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.XmlReader.Tests", "tests\XmlReader\Tests\System.Xml.RW.XmlReader.Tests.csproj", "{EA178A11-E0EF-456F-A7E6-D50B3296275B}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.XmlSystemPathResolver.Tests", "tests\XmlReader\XmlResolver\System.Xml.RW.XmlSystemPathResolver.Tests.csproj", "{70CFC896-B150-4DD7-86B0-3981A128CDA1}"
-EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.XmlReaderLib", "tests\XmlReaderLib\System.Xml.RW.XmlReaderLib.csproj", "{64441DE6-F486-411A-B965-F12785171B38}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.XmlResolver.Tests", "tests\XmlResolver\System.Xml.XmlResolver.Tests\System.Xml.XmlResolver.Tests.csproj", "{8B8DF798-5C25-454A-9CE5-D2170BB91CA1}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.XmlSchemaSet.Tests", "tests\XmlSchema\XmlSchemaSet\System.Xml.XmlSchemaSet.Tests.csproj", "{F8E21282-5C68-4F45-B25D-015A6473EDFA}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.XmlSchema.XmlSchemaValidatorApi.Tests", "tests\XmlSchema\XmlSchemaValidatorApi\System.Xml.XmlSchema.XmlSchemaValidatorApi.Tests.csproj", "{1C4E51A4-3349-4408-AB8F-3F0CCAAD72C6}"
-EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.XmlSerializer.ReflectionOnly.Tests", "tests\XmlSerializer\ReflectionOnly\System.Xml.XmlSerializer.ReflectionOnly.Tests.csproj", "{AD461557-2DDB-4A3C-8433-FFB5E31A5E6F}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.XmlSerializer.Tests", "tests\XmlSerializer\System.Xml.XmlSerializer.Tests.csproj", "{91C2929B-7AB0-4B58-84B4-BB6335140557}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.RW.XmlWriter.Tests", "tests\XmlWriter\System.Xml.RW.XmlWriter.Tests.csproj", "{8C42EA3F-0619-4541-ACC1-D667882A513D}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.XPath.XmlDocument.Tests", "tests\XPath\XmlDocument\System.Xml.XPath.XmlDocument.Tests.csproj", "{8C4495D3-EC0D-49FB-B49F-31F326BE3B7C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.XPath.Tests", "tests\XPath\XPathDocument\System.Xml.XPath.Tests.csproj", "{2ACA294D-34E5-476C-B978-DE6FA028318E}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.Xsl.XslCompiledTransformApi.Tests", "tests\Xslt\XslCompiledTransformApi\System.Xml.Xsl.XslCompiledTransformApi.Tests.csproj", "{A2B94467-3E3E-4632-B76A-4820CF43EDA0}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Xml.Xsl.XslTransformApi.Tests", "tests\Xslt\XslTransformApi\System.Xml.Xsl.XslTransformApi.Tests.csproj", "{BBB6623D-BDF2-41B6-9165-A22A6C4D4159}"
-EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibraryImportGenerator", "..\System.Runtime.InteropServices\gen\LibraryImportGenerator\LibraryImportGenerator.csproj", "{6BC66CAC-5D61-48C2-8343-FF32DC7BC626}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Interop.SourceGeneration", "..\System.Runtime.InteropServices\gen\Microsoft.Interop.SourceGeneration\Microsoft.Interop.SourceGeneration.csproj", "{9CDA14FB-7312-45E7-BF4C-1E446C2242BC}"
@@ -79,6 +33,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{41E18B29-2DB
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "gen", "gen", "{75FE1E48-B986-46E6-874F-336D74FF6C94}"
 EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "System.Private.Xml.Tests", "tests\System.Private.Xml.Tests.csproj", "{6E5C53F1-1C16-4CFF-B735-6F49E554C906}"
+EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
                Debug|Any CPU = Debug|Any CPU
@@ -113,114 +69,14 @@ Global
                {B49AD269-3938-4F33-AEF8-029D3A94138F}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {B49AD269-3938-4F33-AEF8-029D3A94138F}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {B49AD269-3938-4F33-AEF8-029D3A94138F}.Release|Any CPU.Build.0 = Release|Any CPU
-               {A1DBA542-0E3C-4767-9BDB-58238C195856}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {A1DBA542-0E3C-4767-9BDB-58238C195856}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {A1DBA542-0E3C-4767-9BDB-58238C195856}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {A1DBA542-0E3C-4767-9BDB-58238C195856}.Release|Any CPU.Build.0 = Release|Any CPU
-               {EF288754-66B1-4E80-8044-2D69EBB0F121}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {EF288754-66B1-4E80-8044-2D69EBB0F121}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {EF288754-66B1-4E80-8044-2D69EBB0F121}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {EF288754-66B1-4E80-8044-2D69EBB0F121}.Release|Any CPU.Build.0 = Release|Any CPU
-               {AE2A48D5-AA4E-4B0D-875B-2624B23D79E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {AE2A48D5-AA4E-4B0D-875B-2624B23D79E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {AE2A48D5-AA4E-4B0D-875B-2624B23D79E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {AE2A48D5-AA4E-4B0D-875B-2624B23D79E1}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F0955347-9034-42BA-9924-E6245E813B6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F0955347-9034-42BA-9924-E6245E813B6C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F0955347-9034-42BA-9924-E6245E813B6C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F0955347-9034-42BA-9924-E6245E813B6C}.Release|Any CPU.Build.0 = Release|Any CPU
-               {6E1952A6-B2A2-4552-8BF9-19BF78005B8D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {6E1952A6-B2A2-4552-8BF9-19BF78005B8D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {6E1952A6-B2A2-4552-8BF9-19BF78005B8D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {6E1952A6-B2A2-4552-8BF9-19BF78005B8D}.Release|Any CPU.Build.0 = Release|Any CPU
-               {760E5C8B-1DEE-485C-AC58-86723AF12749}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {760E5C8B-1DEE-485C-AC58-86723AF12749}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {760E5C8B-1DEE-485C-AC58-86723AF12749}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {760E5C8B-1DEE-485C-AC58-86723AF12749}.Release|Any CPU.Build.0 = Release|Any CPU
-               {48D22D17-2757-43E8-9A8C-2C53165C7271}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {48D22D17-2757-43E8-9A8C-2C53165C7271}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {48D22D17-2757-43E8-9A8C-2C53165C7271}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {48D22D17-2757-43E8-9A8C-2C53165C7271}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F1EA6D30-052C-4BAF-A6C7-4B2A1F4A4AE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F1EA6D30-052C-4BAF-A6C7-4B2A1F4A4AE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F1EA6D30-052C-4BAF-A6C7-4B2A1F4A4AE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F1EA6D30-052C-4BAF-A6C7-4B2A1F4A4AE5}.Release|Any CPU.Build.0 = Release|Any CPU
-               {7D132F1D-BE7F-475A-8E03-5E1579DB79B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {7D132F1D-BE7F-475A-8E03-5E1579DB79B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {7D132F1D-BE7F-475A-8E03-5E1579DB79B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {7D132F1D-BE7F-475A-8E03-5E1579DB79B7}.Release|Any CPU.Build.0 = Release|Any CPU
-               {4EAFAB71-A5E3-41AB-8F84-EBD5D36DF9E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {4EAFAB71-A5E3-41AB-8F84-EBD5D36DF9E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {4EAFAB71-A5E3-41AB-8F84-EBD5D36DF9E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {4EAFAB71-A5E3-41AB-8F84-EBD5D36DF9E5}.Release|Any CPU.Build.0 = Release|Any CPU
-               {43C406AC-9304-4FE4-8A32-7C6C4286E1C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {43C406AC-9304-4FE4-8A32-7C6C4286E1C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {43C406AC-9304-4FE4-8A32-7C6C4286E1C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {43C406AC-9304-4FE4-8A32-7C6C4286E1C6}.Release|Any CPU.Build.0 = Release|Any CPU
-               {6CDEE0F7-3E0E-4EDD-91B0-2B1A56ED6109}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {6CDEE0F7-3E0E-4EDD-91B0-2B1A56ED6109}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {6CDEE0F7-3E0E-4EDD-91B0-2B1A56ED6109}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {6CDEE0F7-3E0E-4EDD-91B0-2B1A56ED6109}.Release|Any CPU.Build.0 = Release|Any CPU
-               {ECEE9717-ECE3-4F62-8C65-CEED1A76DFDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {ECEE9717-ECE3-4F62-8C65-CEED1A76DFDF}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {ECEE9717-ECE3-4F62-8C65-CEED1A76DFDF}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {ECEE9717-ECE3-4F62-8C65-CEED1A76DFDF}.Release|Any CPU.Build.0 = Release|Any CPU
-               {64194137-008E-491D-9258-C07C0389ADB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {64194137-008E-491D-9258-C07C0389ADB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {64194137-008E-491D-9258-C07C0389ADB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {64194137-008E-491D-9258-C07C0389ADB9}.Release|Any CPU.Build.0 = Release|Any CPU
-               {EA178A11-E0EF-456F-A7E6-D50B3296275B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {EA178A11-E0EF-456F-A7E6-D50B3296275B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {EA178A11-E0EF-456F-A7E6-D50B3296275B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {EA178A11-E0EF-456F-A7E6-D50B3296275B}.Release|Any CPU.Build.0 = Release|Any CPU
-               {70CFC896-B150-4DD7-86B0-3981A128CDA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {70CFC896-B150-4DD7-86B0-3981A128CDA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {70CFC896-B150-4DD7-86B0-3981A128CDA1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {70CFC896-B150-4DD7-86B0-3981A128CDA1}.Release|Any CPU.Build.0 = Release|Any CPU
                {64441DE6-F486-411A-B965-F12785171B38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {64441DE6-F486-411A-B965-F12785171B38}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {64441DE6-F486-411A-B965-F12785171B38}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {64441DE6-F486-411A-B965-F12785171B38}.Release|Any CPU.Build.0 = Release|Any CPU
-               {8B8DF798-5C25-454A-9CE5-D2170BB91CA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {8B8DF798-5C25-454A-9CE5-D2170BB91CA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {8B8DF798-5C25-454A-9CE5-D2170BB91CA1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {8B8DF798-5C25-454A-9CE5-D2170BB91CA1}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F8E21282-5C68-4F45-B25D-015A6473EDFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F8E21282-5C68-4F45-B25D-015A6473EDFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F8E21282-5C68-4F45-B25D-015A6473EDFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F8E21282-5C68-4F45-B25D-015A6473EDFA}.Release|Any CPU.Build.0 = Release|Any CPU
-               {1C4E51A4-3349-4408-AB8F-3F0CCAAD72C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {1C4E51A4-3349-4408-AB8F-3F0CCAAD72C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {1C4E51A4-3349-4408-AB8F-3F0CCAAD72C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {1C4E51A4-3349-4408-AB8F-3F0CCAAD72C6}.Release|Any CPU.Build.0 = Release|Any CPU
                {AD461557-2DDB-4A3C-8433-FFB5E31A5E6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {AD461557-2DDB-4A3C-8433-FFB5E31A5E6F}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {AD461557-2DDB-4A3C-8433-FFB5E31A5E6F}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {AD461557-2DDB-4A3C-8433-FFB5E31A5E6F}.Release|Any CPU.Build.0 = Release|Any CPU
-               {91C2929B-7AB0-4B58-84B4-BB6335140557}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {91C2929B-7AB0-4B58-84B4-BB6335140557}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {91C2929B-7AB0-4B58-84B4-BB6335140557}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {91C2929B-7AB0-4B58-84B4-BB6335140557}.Release|Any CPU.Build.0 = Release|Any CPU
-               {8C42EA3F-0619-4541-ACC1-D667882A513D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {8C42EA3F-0619-4541-ACC1-D667882A513D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {8C42EA3F-0619-4541-ACC1-D667882A513D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {8C42EA3F-0619-4541-ACC1-D667882A513D}.Release|Any CPU.Build.0 = Release|Any CPU
-               {8C4495D3-EC0D-49FB-B49F-31F326BE3B7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {8C4495D3-EC0D-49FB-B49F-31F326BE3B7C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {8C4495D3-EC0D-49FB-B49F-31F326BE3B7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {8C4495D3-EC0D-49FB-B49F-31F326BE3B7C}.Release|Any CPU.Build.0 = Release|Any CPU
-               {2ACA294D-34E5-476C-B978-DE6FA028318E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {2ACA294D-34E5-476C-B978-DE6FA028318E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {2ACA294D-34E5-476C-B978-DE6FA028318E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {2ACA294D-34E5-476C-B978-DE6FA028318E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {A2B94467-3E3E-4632-B76A-4820CF43EDA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {A2B94467-3E3E-4632-B76A-4820CF43EDA0}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {A2B94467-3E3E-4632-B76A-4820CF43EDA0}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {A2B94467-3E3E-4632-B76A-4820CF43EDA0}.Release|Any CPU.Build.0 = Release|Any CPU
-               {BBB6623D-BDF2-41B6-9165-A22A6C4D4159}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {BBB6623D-BDF2-41B6-9165-A22A6C4D4159}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {BBB6623D-BDF2-41B6-9165-A22A6C4D4159}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {BBB6623D-BDF2-41B6-9165-A22A6C4D4159}.Release|Any CPU.Build.0 = Release|Any CPU
                {6BC66CAC-5D61-48C2-8343-FF32DC7BC626}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {6BC66CAC-5D61-48C2-8343-FF32DC7BC626}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {6BC66CAC-5D61-48C2-8343-FF32DC7BC626}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -233,6 +89,10 @@ Global
                {19C87966-6C1B-4CFA-9798-E989270CAB2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {19C87966-6C1B-4CFA-9798-E989270CAB2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {19C87966-6C1B-4CFA-9798-E989270CAB2B}.Release|Any CPU.Build.0 = Release|Any CPU
+               {6E5C53F1-1C16-4CFF-B735-6F49E554C906}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {6E5C53F1-1C16-4CFF-B735-6F49E554C906}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {6E5C53F1-1C16-4CFF-B735-6F49E554C906}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {6E5C53F1-1C16-4CFF-B735-6F49E554C906}.Release|Any CPU.Build.0 = Release|Any CPU
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
@@ -244,37 +104,13 @@ Global
                {ADD6F934-4933-47A1-A700-AA63D6474097} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
                {6222F04D-AF3C-4CA3-A564-F4FED0A60F64} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
                {8FC1BB5E-395F-469B-80D8-4EE782C04AD9} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {A1DBA542-0E3C-4767-9BDB-58238C195856} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {EF288754-66B1-4E80-8044-2D69EBB0F121} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {AE2A48D5-AA4E-4B0D-875B-2624B23D79E1} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {F0955347-9034-42BA-9924-E6245E813B6C} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {6E1952A6-B2A2-4552-8BF9-19BF78005B8D} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {760E5C8B-1DEE-485C-AC58-86723AF12749} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {48D22D17-2757-43E8-9A8C-2C53165C7271} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {F1EA6D30-052C-4BAF-A6C7-4B2A1F4A4AE5} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {7D132F1D-BE7F-475A-8E03-5E1579DB79B7} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {4EAFAB71-A5E3-41AB-8F84-EBD5D36DF9E5} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {43C406AC-9304-4FE4-8A32-7C6C4286E1C6} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {6CDEE0F7-3E0E-4EDD-91B0-2B1A56ED6109} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {ECEE9717-ECE3-4F62-8C65-CEED1A76DFDF} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {64194137-008E-491D-9258-C07C0389ADB9} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {EA178A11-E0EF-456F-A7E6-D50B3296275B} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {70CFC896-B150-4DD7-86B0-3981A128CDA1} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
+               {B49AD269-3938-4F33-AEF8-029D3A94138F} = {41E18B29-2DB1-495A-8460-E7A257F8EA07}
                {64441DE6-F486-411A-B965-F12785171B38} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {8B8DF798-5C25-454A-9CE5-D2170BB91CA1} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {F8E21282-5C68-4F45-B25D-015A6473EDFA} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {1C4E51A4-3349-4408-AB8F-3F0CCAAD72C6} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
                {AD461557-2DDB-4A3C-8433-FFB5E31A5E6F} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {91C2929B-7AB0-4B58-84B4-BB6335140557} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {8C42EA3F-0619-4541-ACC1-D667882A513D} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {8C4495D3-EC0D-49FB-B49F-31F326BE3B7C} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {2ACA294D-34E5-476C-B978-DE6FA028318E} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {A2B94467-3E3E-4632-B76A-4820CF43EDA0} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {BBB6623D-BDF2-41B6-9165-A22A6C4D4159} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
-               {B49AD269-3938-4F33-AEF8-029D3A94138F} = {41E18B29-2DB1-495A-8460-E7A257F8EA07}
                {6BC66CAC-5D61-48C2-8343-FF32DC7BC626} = {75FE1E48-B986-46E6-874F-336D74FF6C94}
                {9CDA14FB-7312-45E7-BF4C-1E446C2242BC} = {75FE1E48-B986-46E6-874F-336D74FF6C94}
                {19C87966-6C1B-4CFA-9798-E989270CAB2B} = {75FE1E48-B986-46E6-874F-336D74FF6C94}
+               {6E5C53F1-1C16-4CFF-B735-6F49E554C906} = {E96EBB95-6AC7-4ECD-AD77-30F089F2C1F9}
        EndGlobalSection
        GlobalSection(ExtensibilityGlobals) = postSolution
                SolutionGuid = {80121011-1A73-45DC-80FC-B3727F3DF58C}
diff --git a/src/libraries/System.Private.Xml/tests/AllowDefaultResolverContext.cs b/src/libraries/System.Private.Xml/tests/AllowDefaultResolverContext.cs
new file mode 100644 (file)
index 0000000..9d56769
--- /dev/null
@@ -0,0 +1,44 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Reflection;
+using Xunit;
+
+namespace System.Xml.Tests
+{
+    internal sealed class AllowDefaultResolverContext : IDisposable
+    {
+        private const string SwitchName = "Switch.System.Xml.AllowDefaultResolver";
+
+        public AllowDefaultResolverContext()
+        {
+            AppContext.SetSwitch(SwitchName, isEnabled: true);
+            ClearCachedSwitch();
+        }
+
+        public void Dispose()
+        {
+            AppContext.SetSwitch(SwitchName, isEnabled: false);
+            ClearCachedSwitch();
+        }
+
+        private static void ClearCachedSwitch()
+        {
+            // Many tests try to change the value of this switch, which affects process-wide
+            // state and which is cached by the implementation. As a hack to deal with this,
+            // all tests in this assembly are run serially, and we use reflection to clear
+            // out the cached value before and after each relevant test. Longer term, the better
+            // approach is to use RemoteExecutor to isolate those tests that need to change
+            // the default, or alternatively separate all such tests into a separate test project
+            // where that project contains only those tests that require the switch set.
+
+            Type t = typeof(XmlConvert).Assembly.GetType("System.LocalAppContextSwitches");
+            Assert.NotNull(t);
+
+            FieldInfo fi = t.GetField("s_allowDefaultResolver", BindingFlags.NonPublic | BindingFlags.Static);
+            Assert.NotNull(fi);
+
+            fi.SetValue(null, 0);
+        }
+    }
+}
diff --git a/src/libraries/System.Private.Xml/tests/Misc/System.Xml.Misc.Tests.csproj b/src/libraries/System.Private.Xml/tests/Misc/System.Xml.Misc.Tests.csproj
deleted file mode 100644 (file)
index 7e36551..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <RootNamespace>XmlMiscTests</RootNamespace>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="XmlThrowingResolverTests.cs" />
-    <Compile Include="XmlSecureResolverTests.cs" />
-    <Compile Include="XmlUrlResolverTests.cs" />
-  </ItemGroup>
-</Project>
index 95a88d3..479c514 100644 (file)
@@ -1,13 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System.Collections;
-using System.Collections.Generic;
-using System.Text;
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.CharCheckingReaderTests
 {
     public partial class CharCheckingReaderTest : CGenericTestModule
     {
index 4dc12cf..2fd8b36 100644 (file)
@@ -1,11 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using System.Xml.Tests;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.CharCheckingReaderTests
 {
     [TestModule(Name = "XmlCharCheckingReader Test", Desc = "XmlCharCheckingReader Test")]
     public partial class CharCheckingReaderTest : CGenericTestModule
diff --git a/src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/System.Xml.RW.CharCheckingReader.Tests.csproj b/src/libraries/System.Private.Xml/tests/Readers/CharCheckingReader/System.Xml.RW.CharCheckingReader.Tests.csproj
deleted file mode 100644 (file)
index 54f4951..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="CharReaderTests.cs" />
-    <Compile Include="InheritedCases.cs" />
-    <Compile Include="$(CommonTestPath)TestUtilities\System\DisableParallelizationPerAssembly.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
-    <ProjectReference Include="..\..\XmlReaderLib\System.Xml.RW.XmlReaderLib.csproj" />
-  </ItemGroup>
-</Project>
index 653d4b9..1403672 100644 (file)
@@ -1,10 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.CustomReaderTests
 {
     public partial class CReaderTestModule : CGenericTestModule
     {
index 06624f7..ff68480 100644 (file)
@@ -1,10 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using System.Xml.Tests;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.CustomReaderTests
 {
     [TestModule(Name = "CustomReader Test", Desc = "CustomReader Test")]
     public partial class CReaderTestModule : CGenericTestModule
diff --git a/src/libraries/System.Private.Xml/tests/Readers/CustomReader/System.Xml.RW.CustomReader.Tests.csproj b/src/libraries/System.Private.Xml/tests/Readers/CustomReader/System.Xml.RW.CustomReader.Tests.csproj
deleted file mode 100644 (file)
index c9fdced..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="CReaderTestModule.cs" />
-    <Compile Include="InheritedCases.cs" />
-    <Compile Include="$(CommonTestPath)TestUtilities\System\DisableParallelizationPerAssembly.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
-    <ProjectReference Include="..\..\XmlReaderLib\System.Xml.RW.XmlReaderLib.csproj" />
-  </ItemGroup>
-</Project>
diff --git a/src/libraries/System.Private.Xml/tests/Readers/Directory.Build.props b/src/libraries/System.Private.Xml/tests/Readers/Directory.Build.props
deleted file mode 100644 (file)
index 8d4c5c0..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-  <Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)..'))" />
-
-  <ItemGroup>
-    <TrimmerRootDescriptor Include="$(MSBuildThisFileDirectory)..\ILLink.Descriptors.ModuleCore.xml" />
-  </ItemGroup>
-</Project>
index 63f1e79..0a3a150 100644 (file)
@@ -1,10 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.FactoryReaderTests
 {
     public partial class FactoryReaderTest : CGenericTestModule
     {
index 621cb50..01d816e 100644 (file)
@@ -1,11 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using System.Xml.Tests;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.FactoryReaderTests
 {
     ////////////////////////////////////////////////////////////////
     // Module: use CXMLTypeCoercionTestModule
index 450f2fc..3f98c51 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.FactoryReaderTests
 {
     ////////////////////////////////////////////////////////////////
     // TestCase TCXML Normalization
diff --git a/src/libraries/System.Private.Xml/tests/Readers/FactoryReader/System.Xml.RW.FactoryReader.Tests.csproj b/src/libraries/System.Private.Xml/tests/Readers/FactoryReader/System.Xml.RW.FactoryReader.Tests.csproj
deleted file mode 100644 (file)
index efc29f0..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="FactoryReaderTests.cs" />
-    <Compile Include="InheritedCases.cs" />
-    <Compile Include="Normalization.cs" />
-    <Compile Include="TCNormalization.cs" />
-    <Compile Include="$(CommonTestPath)TestUtilities\System\DisableParallelizationPerAssembly.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
-    <ProjectReference Include="..\..\XmlReaderLib\System.Xml.RW.XmlReaderLib.csproj" />
-  </ItemGroup>
-</Project>
index f42d3c1..09ba503 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.FactoryReaderTests
 {
     public partial class TCNormalization : TCXMLReaderBaseGeneral
     {
index 431ea68..1b7940c 100644 (file)
@@ -4,7 +4,7 @@
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.NameTableTests
 {
     public partial class CNameTableTestModule : CTestModule
     {
index 0a08e26..397cef0 100644 (file)
@@ -1,11 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Collections.Generic;
+using System.Xml.Tests;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.NameTableTests
 {
     ////////////////////////////////////////////////////////////////
     // TestCase NameTable user scenario inheritance
diff --git a/src/libraries/System.Private.Xml/tests/Readers/NameTable/System.Xml.RW.NameTable.Tests.csproj b/src/libraries/System.Private.Xml/tests/Readers/NameTable/System.Xml.RW.NameTable.Tests.csproj
deleted file mode 100644 (file)
index e186c87..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="CNameTableTestModule.cs" />
-    <Compile Include="InheritNameTable.cs" />
-    <Compile Include="TCRecordNameTableAdd.cs" />
-    <Compile Include="TCRecordNameTableGet.cs" />
-    <Compile Include="TCUserNameTable.cs" />
-    <Compile Include="TestFiles.cs" />
-    <Compile Include="XmlNameTable.cs" />
-    <Compile Include="$(CommonTestPath)TestUtilities\System\DisableParallelizationPerAssembly.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
-    <ProjectReference Include="..\..\XmlReaderLib\System.Xml.RW.XmlReaderLib.csproj" />
-  </ItemGroup>
-</Project>
index a4b3335..cc68205 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.NameTableTests
 {
     public partial class TCRecordNameTableAdd : TCBase
     {
index f60c1c6..6f2a51a 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.NameTableTests
 {
     public partial class TCRecordNameTableGet : TCBase
     {
index 13afc8b..50670f1 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.NameTableTests
 {
     public partial class TCUserNameTable : CTestCase
     {
index 701b480..fbb9f40 100644 (file)
@@ -3,9 +3,10 @@
 
 using System.Collections.Generic;
 using System.IO;
+using System.Xml.Tests;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.NameTableTests
 {
     ////////////////////////////////////////////////////////////////
     // TestFiles
index 1efc18d..3f852ba 100644 (file)
@@ -1,11 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using System.Xml.Tests;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.NameTableTests
 {
     ////////////////////////////////////////////////////////////////
     // Module
index ba11ce2..e935320 100644 (file)
@@ -1,10 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     public partial class CReaderTestModule : CGenericTestModule
     {
index 853a8cd..fee42e1 100644 (file)
@@ -1,13 +1,14 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Collections.Generic;
 using System.IO;
+using System.Xml.Tests;
+using OLEDB.Test.ModuleCore;
 using WebData.BaseLib;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     [TestCase(Name = "Conformance Settings", Desc = "Conformance Settings")]
     public partial class TCConformanceSettings : TCXMLReaderBaseGeneral
index e14fda3..e592dab 100644 (file)
@@ -1,11 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using System.Xml.Tests;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     [TestCase(Name = "Create Overloads", Desc = "Create Overloads")]
     public partial class TCCreateOverloads : TCXMLReaderBaseGeneral
index 4bdc3af..c9c6b77 100644 (file)
@@ -1,11 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using System.Xml.Tests;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     [TestCase(Name = "Filter Settings", Desc = "Filter Settings")]
     public partial class TCFilterSettings : TCXMLReaderBaseGeneral
index d8ee582..d6a5787 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     [TestCase(Name = "LineInfo", Desc = "LineInfo")]
     public partial class TCLineInfo : TCXMLReaderBaseGeneral
index d716d0f..62cc739 100644 (file)
@@ -1,12 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System;
 using System.IO;
+using System.Xml.Tests;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     [TestCase(Name = "MaxCharacters Settings", Desc = "MaxCharacters Settings")]
     public partial class TCMaxSettings : TCXMLReaderBaseGeneral
index 5082081..8b6101c 100644 (file)
@@ -1,12 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
 using System.Text;
+using System.Xml.Tests;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     [TestModule(Name = "ReaderSettings Test", Desc = "ReaderSettings Test")]
     public partial class CReaderTestModule : CGenericTestModule
diff --git a/src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/System.Xml.RW.ReaderSettings.Tests.csproj b/src/libraries/System.Private.Xml/tests/Readers/ReaderSettings/System.Xml.RW.ReaderSettings.Tests.csproj
deleted file mode 100644 (file)
index 9206d87..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="ConformanceSettings.cs" />
-    <Compile Include="CReaderTestModule.cs" />
-    <Compile Include="CreateOverloads.cs" />
-    <Compile Include="FilterSettings.cs" />
-    <Compile Include="Interactions.cs" />
-    <Compile Include="MaxSettings.cs" />
-    <Compile Include="ReaderSettings.cs" />
-    <Compile Include="TCCloseInput.cs" />
-    <Compile Include="TCConformanceSettings.cs" />
-    <Compile Include="TCCreateOverloads.cs" />
-    <Compile Include="TCDtdProcessingCoreReader.cs" />
-    <Compile Include="TCDtdProcessingNonCoreReader.cs" />
-    <Compile Include="TCFilterSettings.cs" />
-    <Compile Include="TCLineInfo.cs" />
-    <Compile Include="TCMaxSettings.cs" />
-    <Compile Include="TCOneByteStream.cs" />
-    <Compile Include="TCReaderSettings.cs" />
-    <Compile Include="TCRSGeneric.cs" />
-    <Compile Include="$(CommonTestPath)TestUtilities\System\DisableParallelizationPerAssembly.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(CommonTestPath)System\Xml\BaseLibManaged\BaseLibManaged.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
-    <ProjectReference Include="..\..\XmlReaderLib\System.Xml.RW.XmlReaderLib.csproj" />
-  </ItemGroup>
-</Project>
index f99b572..8c8e4dd 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     public partial class TCCloseInput : TCXMLReaderBaseGeneral
     {
index 3803a39..d659c56 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     public partial class TCConformanceSettings : TCXMLReaderBaseGeneral
     {
index ab62d73..eec5e06 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     public partial class TCCreateOverloads : TCXMLReaderBaseGeneral
     {
index 0b92b68..3b85318 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     public partial class TCDtdProcessingCoreReader : TCXMLReaderBaseGeneral
     {
index a9dce28..e51e505 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     public partial class TCDtdProcessingNonCoreReader : TCXMLReaderBaseGeneral
     {
index a37baed..0009c65 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     public partial class TCFilterSettings : TCXMLReaderBaseGeneral
     {
index fc3024e..b727d12 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     public partial class TCLineInfo : TCXMLReaderBaseGeneral
     {
index 96be47e..6e94206 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     public partial class TCMaxSettings : TCXMLReaderBaseGeneral
     {
index 14287aa..85500ae 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     public partial class TCOneByteStream : TCXMLReaderBaseGeneral
     {
index 5505c08..82b0f33 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     public partial class TCRSGeneric : TCXMLReaderBaseGeneral
     {
index 5a9ab57..2ddf9bb 100644 (file)
@@ -1,9 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.ReaderSettingsTests
 {
     public partial class TCReaderSettings : TCXMLReaderBaseGeneral
     {
index 08e36cf..6effd3e 100644 (file)
@@ -1,11 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using System.Xml.Tests;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.SubtreeReaderTests
 {
     [TestModule(Name = "XmlSubtreeReader Test", Desc = "XmlSubtreeReader Test")]
     public partial class SubtreeReaderTest : CGenericTestModule
index 1fe6b48..cfde74e 100644 (file)
@@ -1,10 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.SubtreeReaderTests
 {
     public partial class SubtreeReaderTest : CGenericTestModule
     {
diff --git a/src/libraries/System.Private.Xml/tests/Readers/SubtreeReader/System.Xml.RW.SubtreeReader.Tests.csproj b/src/libraries/System.Private.Xml/tests/Readers/SubtreeReader/System.Xml.RW.SubtreeReader.Tests.csproj
deleted file mode 100644 (file)
index 13ab3f6..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="InheritedCases.cs" />
-    <Compile Include="SubtreeReaderTests.cs" />
-    <Compile Include="$(CommonTestPath)TestUtilities\System\DisableParallelizationPerAssembly.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
-    <ProjectReference Include="..\..\XmlReaderLib\System.Xml.RW.XmlReaderLib.csproj" />
-  </ItemGroup>
-</Project>
index 4ae8c5a..34e05d6 100644 (file)
@@ -1,11 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using System.Xml.Tests;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.WrappedReaderTests
 {
     [TestModule(Name = "XmlWrappedReader Test", Desc = "XmlWrappedReader Test")]
     public partial class WrappedReaderTest : CGenericTestModule
diff --git a/src/libraries/System.Private.Xml/tests/Readers/WrappedReader/System.Xml.RW.WrappedReader.Tests.csproj b/src/libraries/System.Private.Xml/tests/Readers/WrappedReader/System.Xml.RW.WrappedReader.Tests.csproj
deleted file mode 100644 (file)
index c364cbd..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="InheritedCases.cs" />
-    <Compile Include="WrappedReaderTests.cs" />
-    <Compile Include="$(CommonTestPath)TestUtilities\System\DisableParallelizationPerAssembly.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
-    <ProjectReference Include="..\..\XmlReaderLib\System.Xml.RW.XmlReaderLib.csproj" />
-  </ItemGroup>
-</Project>
index 61cdf66..a0a575d 100644 (file)
@@ -1,10 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Tests;
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.WrappedReaderTests
 {
     public partial class WrappedReaderTest : CGenericTestModule
     {
diff --git a/src/libraries/System.Private.Xml/tests/System.Private.Xml.Tests.csproj b/src/libraries/System.Private.Xml/tests/System.Private.Xml.Tests.csproj
new file mode 100644 (file)
index 0000000..96b10af
--- /dev/null
@@ -0,0 +1,674 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <RootNamespace>System.Xml.Tests</RootNamespace>
+    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
+    
+    <!--Remove once this is fixed, https://github.com/dotnet/runtime/issues/71506 -->
+    <IlcTrimMetadata>false</IlcTrimMetadata>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
+    <!-- This doesn't run on V8 shell because https://bugs.chromium.org/p/v8/issues/detail?id=12541 -->
+    <Scenario>WasmTestOnBrowser</Scenario>
+    <TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
+    <TestArchiveTestsDir>$(TestArchiveTestsRoot)$(OSPlatformConfig)/</TestArchiveTestsDir>
+    <DefineConstants>$(DefineConstants);TARGET_BROWSER</DefineConstants>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Include="AllowDefaultResolverContext.cs" />
+    <Compile Include="$(CommonTestPath)\TestUtilities\System\DisableParallelizationPerAssembly.cs" Link="Common\TestUtilities\System\DisableParallelizationPerAssembly.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="Misc\XmlThrowingResolverTests.cs" />
+    <Compile Include="Misc\XmlSecureResolverTests.cs" />
+    <Compile Include="Misc\XmlUrlResolverTests.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="Readers\CharCheckingReader\CharReaderTests.cs" />
+    <Compile Include="Readers\CharCheckingReader\InheritedCases.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Readers\CustomReader\CReaderTestModule.cs" />
+    <Compile Include="Readers\CustomReader\InheritedCases.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Readers\FactoryReader\FactoryReaderTests.cs" />
+    <Compile Include="Readers\FactoryReader\InheritedCases.cs" />
+    <Compile Include="Readers\FactoryReader\Normalization.cs" />
+    <Compile Include="Readers\FactoryReader\TCNormalization.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Readers\NameTable\CNameTableTestModule.cs" />
+    <Compile Include="Readers\NameTable\InheritNameTable.cs" />
+    <Compile Include="Readers\NameTable\TCRecordNameTableAdd.cs" />
+    <Compile Include="Readers\NameTable\TCRecordNameTableGet.cs" />
+    <Compile Include="Readers\NameTable\TCUserNameTable.cs" />
+    <Compile Include="Readers\NameTable\TestFiles.cs" />
+    <Compile Include="Readers\NameTable\XmlNameTable.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Readers\ReaderSettings\ConformanceSettings.cs" />
+    <Compile Include="Readers\ReaderSettings\CReaderTestModule.cs" />
+    <Compile Include="Readers\ReaderSettings\CreateOverloads.cs" />
+    <Compile Include="Readers\ReaderSettings\FilterSettings.cs" />
+    <Compile Include="Readers\ReaderSettings\Interactions.cs" />
+    <Compile Include="Readers\ReaderSettings\MaxSettings.cs" />
+    <Compile Include="Readers\ReaderSettings\ReaderSettings.cs" />
+    <Compile Include="Readers\ReaderSettings\TCCloseInput.cs" />
+    <Compile Include="Readers\ReaderSettings\TCConformanceSettings.cs" />
+    <Compile Include="Readers\ReaderSettings\TCCreateOverloads.cs" />
+    <Compile Include="Readers\ReaderSettings\TCDtdProcessingCoreReader.cs" />
+    <Compile Include="Readers\ReaderSettings\TCDtdProcessingNonCoreReader.cs" />
+    <Compile Include="Readers\ReaderSettings\TCFilterSettings.cs" />
+    <Compile Include="Readers\ReaderSettings\TCLineInfo.cs" />
+    <Compile Include="Readers\ReaderSettings\TCMaxSettings.cs" />
+    <Compile Include="Readers\ReaderSettings\TCOneByteStream.cs" />
+    <Compile Include="Readers\ReaderSettings\TCReaderSettings.cs" />
+    <Compile Include="Readers\ReaderSettings\TCRSGeneric.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Readers\SubtreeReader\InheritedCases.cs" />
+    <Compile Include="Readers\SubtreeReader\SubtreeReaderTests.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Readers\WrappedReader\InheritedCases.cs" />
+    <Compile Include="Readers\WrappedReader\WrappedReaderTests.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="Writers\RwFactory\CFactoryModule.cs" />
+    <Compile Include="Writers\RwFactory\CModCmdLine.cs" />
+    <Compile Include="Writers\RwFactory\CRWFactory.cs" />
+    <Compile Include="Writers\RwFactory\CXmlDriverEngine.cs" />
+    <Compile Include="Writers\RwFactory\CXmlDriverException.cs" />
+    <Compile Include="Writers\RwFactory\CXmlDriverModule.cs" />
+    <Compile Include="Writers\RwFactory\CXmlDriverParam.cs" />
+    <Compile Include="Writers\RwFactory\CXmlDriverScenario.cs" />
+    <Compile Include="Writers\RwFactory\CXmlDriverVariation.cs" />
+    <Compile Include="Writers\RwFactory\ReaderFactory.cs" />
+    <Compile Include="Writers\RwFactory\WriterFactory.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Writers\XmlWriterApi\EndOfLineHandlingTests.cs" />
+    <Compile Include="Writers\XmlWriterApi\ErrorCondition.cs" />
+    <Compile Include="Writers\XmlWriterApi\NamespaceHandlingTests.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCAttribute.cs" />
+    <Compile Include="Writers\XmlWriterApi\ReaderParamTestCase.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCAutoCL.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCAutoComplete.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCCheckChars.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCCloseOutput.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCDefaultWriterSettingsTests.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCDocType.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCDocument.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCElement.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCErrorState.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCFlushClose.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCFragmentCL.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCFullEndElement.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCIndent.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCIndentChars.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCNewLineChars.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCNewLineHandling.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCNewLineOnAttributes.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCOmitXmlDecl.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCStandAlone.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCWriteAttributes.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCWriteBuffer.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCWriteNode_XmlReader.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCWriterSettingsMisc.cs" />
+    <Compile Include="Writers\XmlWriterApi\TCWriterWithMemoryStream.cs" />
+    <Compile Include="Writers\XmlWriterApi\TestExtensions.cs" />
+    <Compile Include="Writers\XmlWriterApi\WriteEndDocumentOnCloseTest.cs" />
+    <Compile Include="Writers\XmlWriterApi\XmlWriterTestCaseBase.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="XmlConvert\EncodeDecodeTests.cs" />
+    <Compile Include="XmlConvert\MiscellaneousTests.cs" />
+    <Compile Include="XmlConvert\SqlXmlConvertTests.cs" />
+    <Compile Include="XmlConvert\SqlXmlConvertTests0.cs" />
+    <Compile Include="XmlConvert\SqlXmlConvertTests1.cs" />
+    <Compile Include="XmlConvert\SqlXmlConvertTests2.cs" />
+    <Compile Include="XmlConvert\SqlXmlConvertTests3.cs" />
+    <Compile Include="XmlConvert\ToTypeTests.cs" />
+    <Compile Include="XmlConvert\VerifyNameTests1.cs" />
+    <Compile Include="XmlConvert\VerifyNameTests2.cs" />
+    <Compile Include="XmlConvert\VerifyNameTests3.cs" />
+    <Compile Include="XmlConvert\VerifyNameTests4.cs" />
+    <Compile Include="XmlConvert\VerifyNameTests5.cs" />
+    <Compile Include="XmlConvert\XmlBaseCharConvertTests.cs" />
+    <Compile Include="XmlConvert\XmlBaseCharConvertTests1.cs" />
+    <Compile Include="XmlConvert\XmlBaseCharConvertTests2.cs" />
+    <Compile Include="XmlConvert\XmlBaseCharConvertTests3.cs" />
+    <Compile Include="XmlConvert\XmlCombiningCharConvertTests.cs" />
+    <Compile Include="XmlConvert\XmlCombiningCharConvertTests1.cs" />
+    <Compile Include="XmlConvert\XmlCombiningCharConvertTests2.cs" />
+    <Compile Include="XmlConvert\XmlCombiningCharConvertTests3.cs" />
+    <Compile Include="XmlConvert\XmlConvertTests.cs" />
+    <Compile Include="XmlConvert\XmlDigitCharConvertTests.cs" />
+    <Compile Include="XmlConvert\XmlDigitCharConvertTests1.cs" />
+    <Compile Include="XmlConvert\XmlDigitCharConvertTests2.cs" />
+    <Compile Include="XmlConvert\XmlDigitCharConvertTests3.cs" />
+    <Compile Include="XmlConvert\XmlEmbeddedNullCharConvertTests.cs" />
+    <Compile Include="XmlConvert\XmlEmbeddedNullCharConvertTests1.cs" />
+    <Compile Include="XmlConvert\XmlEmbeddedNullCharConvertTests2.cs" />
+    <Compile Include="XmlConvert\XmlEmbeddedNullCharConvertTests3.cs" />
+    <Compile Include="XmlConvert\XmlIdeographicCharConvertTests.cs" />
+    <Compile Include="XmlConvert\XmlIdeographicCharConvertTests1.cs" />
+    <Compile Include="XmlConvert\XmlIdeographicCharConvertTests2.cs" />
+    <Compile Include="XmlConvert\XmlIdeographicCharConvertTests3.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="XmlDocument\XmlDocumentTests\LoadTests.cs" />
+    <Compile Include="XmlDocument\XmlAttributeCollectionTests\AppendTests.cs" />
+    <Compile Include="XmlDocument\XmlAttributeCollectionTests\CollectionInterfaceTests.cs" />
+    <Compile Include="XmlDocument\XmlAttributeCollectionTests\CopyToTests.cs" />
+    <Compile Include="XmlDocument\XmlAttributeCollectionTests\IndexerTests.cs" />
+    <Compile Include="XmlDocument\XmlAttributeCollectionTests\InsertAfterTests.cs" />
+    <Compile Include="XmlDocument\XmlAttributeCollectionTests\InsertBeforeTests.cs" />
+    <Compile Include="XmlDocument\XmlAttributeCollectionTests\PrependTests.cs" />
+    <Compile Include="XmlDocument\XmlAttributeCollectionTests\RemoveAllTests.cs" />
+    <Compile Include="XmlDocument\XmlAttributeCollectionTests\RemoveAtTests.cs" />
+    <Compile Include="XmlDocument\XmlAttributeCollectionTests\RemoveTests.cs" />
+    <Compile Include="XmlDocument\XmlAttributeCollectionTests\SetNamedItemTests.cs" />
+    <Compile Include="XmlDocument\XmlAttributeTests\SpecifiedTests.cs" />
+    <Compile Include="XmlDocument\XmlCharacterDataTests\AppendDataTests.cs" />
+    <Compile Include="XmlDocument\XmlCharacterDataTests\DataTests.cs" />
+    <Compile Include="XmlDocument\XmlCharacterDataTests\DeleteDataTests.cs" />
+    <Compile Include="XmlDocument\XmlCharacterDataTests\InsertDataTests.cs" />
+    <Compile Include="XmlDocument\XmlCharacterDataTests\LengthTests.cs" />
+    <Compile Include="XmlDocument\XmlCharacterDataTests\ReplaceTests.cs" />
+    <Compile Include="XmlDocument\XmlCharacterDataTests\SubstringTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\CreateAttributeTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\CreateCDataSectionTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\CreateCommentTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\CreateDocumentFragment.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\CreateElementTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\CreateProcessingInstruction.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\CreateTextNodeTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\CreateXmlDeclarationTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\GetElementsByTagNameTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\ImportNodeTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\NameTableTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\NodeChangedTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\NodeChangingTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\NodeInsertedTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\NodeInsertingTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\NodeRemovedTests.cs" />
+    <Compile Include="XmlDocument\XmlDocumentTests\NodeRemovingTests.cs" />
+    <Compile Include="XmlDocument\XmlElementTests\GetAttributeNodeTests.cs" />
+    <Compile Include="XmlDocument\XmlElementTests\GetAttributeTests.cs" />
+    <Compile Include="XmlDocument\XmlElementTests\GetElementsByTagNameTests.cs" />
+    <Compile Include="XmlDocument\XmlElementTests\HasAttributeTests.cs" />
+    <Compile Include="XmlDocument\XmlElementTests\RemoveAttributeNodeTests.cs" />
+    <Compile Include="XmlDocument\XmlElementTests\RemoveAttributeTests.cs" />
+    <Compile Include="XmlDocument\XmlElementTests\SetAttributeNodeTests.cs" />
+    <Compile Include="XmlDocument\XmlElementTests\SetAttributeTests.cs" />
+    <Compile Include="XmlDocument\XmlImplementationTests\CreateDocumentTests.cs" />
+    <Compile Include="XmlDocument\XmlImplementationTests\HasFeatureTests.cs" />
+    <Compile Include="XmlDocument\XmlNamedNodeMapTests\CountTests.cs" />
+    <Compile Include="XmlDocument\XmlNamedNodeMapTests\GetNamedItemTests.cs" />
+    <Compile Include="XmlDocument\XmlNamedNodeMapTests\GetNameTests.cs" />
+    <Compile Include="XmlDocument\XmlNamedNodeMapTests\ItemTests.cs" />
+    <Compile Include="XmlDocument\XmlNamedNodeMapTests\RemoveNamedItemTests.cs" />
+    <Compile Include="XmlDocument\XmlNamedNodeMapTests\SetNamedItemTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeListTests\CountTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeListTests\ItemTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\AppendChildTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\AttributesTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\ChildNodesTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\CloneNodeTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\FirstChildTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\HasChildNodesTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\InsertBeforeTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\LastChildTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\LocalNameTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\NamespaceURITests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\NameTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\NextSiblingTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\NodeTypeTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\NormalizeTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\OwnerDocumentTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\ParentNodeTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\PrefixTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\PreviousSiblingTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\RemoveChildTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\ReplaceChildTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\SupportsTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\ValueTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\InsertTests\OneElementTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\InsertTests\TestHelper.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\InsertTests\ThreeElementTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\InsertTests\TwoElementTests.cs" />
+    <Compile Include="XmlDocument\XmlNodeTests\InsertTests\TwoTextNodeTests.cs" />
+    <Compile Include="XmlDocument\XmlProcessingInstructionTests\DataTests.cs" />
+    <Compile Include="XmlDocument\XmlProcessingInstructionTests\TargetTests.cs" />
+    <Compile Include="XmlDocument\XmlTextTests\SplitTextTests.cs" />
+    <Content Include="XmlDocument\example.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="XmlNodeReader\System.Xml.XmlNodeReader.Tests\NodeReaderTestHelper.cs" />
+    <Compile Include="XmlNodeReader\System.Xml.XmlNodeReader.Tests\XmlNodeReaderConstructionTests.cs" />
+    <Compile Include="XmlNodeReader\System.Xml.XmlNodeReader.Tests\XmlNodeReaderGetAttributeTests.cs" />
+    <Compile Include="XmlNodeReader\System.Xml.XmlNodeReader.Tests\XmlNodeReaderMiscTests.cs" />
+    <Compile Include="XmlNodeReader\System.Xml.XmlNodeReader.Tests\XmlNodeReaderMoveToAttributeTests.cs" />
+    <Compile Include="XmlNodeReader\System.Xml.XmlNodeReader.Tests\XmlNodeReaderReadTests.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="XmlReader\ReadContentAs\ReadAsArrayTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsBooleanAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsBooleanElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsBooleanTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsByteAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsByteElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsByteTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsCharElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsCharTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDateTimeAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDateTimeElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDateTimeOffsetAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDateTimeOffsetElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDateTimeOffsetTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDateTimeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDayOfWeekElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDayOfWeekTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDecimalAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDecimalElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDecimalTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDoubleAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDoubleElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsDoubleTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsExceptionElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsExceptionTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsExtendedDateTimeElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsExtendedDateTimeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsFloatAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsFloatElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsFloatTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsIntegerAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsIntegerElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsIntegerTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsLongAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsLongElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsLongTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsObjectAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsObjectElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsObjectTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsStringAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsStringElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsStringTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsTimeSpanAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsTimeSpanElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsTimeSpanTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsTimeZoneInfoElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsTimeZoneInfoTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsUriAttributeTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsUriElementContentTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\ReadAsUriTests.cs" />
+    <Compile Include="XmlReader\ReadContentAs\Utils.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="XmlReader\Tests\AsyncReaderLateInitTests.cs" />
+    <Compile Include="XmlReader\Tests\DisposeTests.cs" />
+    <Compile Include="XmlReader\Tests\BaseUriTests.cs" />
+    <Compile Include="XmlReader\Tests\ReaderEncodingTests.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="XmlReader\XmlResolver\XmlSystemPathResolverTests.cs" />
+    <Content Include="XmlReader\TestFiles\**\*" Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" Visible="false" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="XmlResolver\System.Xml.XmlResolver.Tests\DummyStream.cs" />
+    <Compile Include="XmlResolver\System.Xml.XmlResolver.Tests\XmlPreloadedResolverAddRemoveTests.cs" />
+    <Compile Include="XmlResolver\System.Xml.XmlResolver.Tests\XmlPreloadedResolverConstructionTests.cs" />
+    <Compile Include="XmlResolver\System.Xml.XmlResolver.Tests\XmlPreloadedResolverGetEntity.cs" />
+    <Compile Include="XmlResolver\System.Xml.XmlResolver.Tests\XmlPreloadedResolverMiscTests.cs" />
+    <Compile Include="XmlResolver\System.Xml.XmlResolver.Tests\XmlPreloadedResolverResolveUriTests.cs" />
+    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml1-frameset.dtd">
+      <Link>Utils\DTDs\XHTML10\no_comments\xhtml1-frameset.dtd</Link>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml1-strict.dtd">
+      <Link>Utils\DTDs\XHTML10\no_comments\xhtml1-strict.dtd</Link>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml1-transitional.dtd">
+      <Link>Utils\DTDs\XHTML10\no_comments\xhtml1-transitional.dtd</Link>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml-lat1.ent">
+      <Link>Utils\DTDs\XHTML10\no_comments\xhtml-lat1.ent</Link>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml-special.ent">
+      <Link>Utils\DTDs\XHTML10\no_comments\xhtml-special.ent</Link>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml-symbol.ent">
+      <Link>Utils\DTDs\XHTML10\no_comments\xhtml-symbol.ent</Link>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\RSS091\no_comments\rss-0.91.dtd">
+      <Link>Utils\DTDs\RSS091\no_comments\rss-0.91.dtd</Link>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="XmlSchema\XmlSchemaSet\CError.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Add_Reader.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Add_Schema.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Add_SchemaSet.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Add_URL.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_AllowXmlAttributes.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_AnyAttribute.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Compile.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Constructors.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Contains_ns.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Contains_schema.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_CopyTo.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Count.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_EnableUpaCheck.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_GlobalAttributes.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_GlobalElements.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_GlobalTypes.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Imports.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Includes.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_IsCompiled.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Misc.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_NmTokens.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_ProhibitDTD.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Remove.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_RemoveRecursive.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Reprocess.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Schemas.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_Schemas_NS.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_ValidationEventHandler.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_XmlNameTable.cs" />
+    <Compile Include="XmlSchema\XmlSchemaSet\TC_SchemaSet_XmlResolver.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\Constructor_AddSchema.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\CustomImplementations.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\ExceptionVerifier.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\GetExpectedAttributes.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\GetExpectedParticles.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\Initialize_EndValidation.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\PropertiesTests.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\ValidateAttribute.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\ValidateAttribute_String.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\ValidateElement.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\ValidateMisc.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\ValidateText_EndElement.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\ValidateText_String.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\ValidateWhitespace_String.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\ValidatorModule.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\XmlTestSettings.cs" />
+    <Compile Include="XmlSchema\XmlSchemaValidatorApi\CXmlTestResolver.cs" />
+    <Content Include="XmlSchema\TestFiles\**\*" Link="XmlSchema\TestFiles\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" Visible="false" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="XmlSerializer\XmlSerializerTests.cs" />
+    <Compile Include="XmlSerializer\XmlSerializerTests.Internal.cs" />
+    <Compile Include="XmlSerializer\XmlSerializerTests.RuntimeOnly.cs" />
+    <Compile Include="..\..\System.Runtime.Serialization.Xml\tests\SerializationTypes.RuntimeOnly.cs" />
+    <None Include="..\..\System.Runtime.Serialization.Xml\tests\SerializationTypes.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="XmlWriter\DisposeTests.cs" />
+    <Compile Include="XmlWriter\WriteWithEncoding.cs" />
+    <Compile Include="XmlWriter\WriteWithEncodingWithFallback.cs" />
+    <Compile Include="XmlWriter\WriteWithInvalidSurrogate.cs" />
+    <Compile Include="XmlWriter\XmlTextWriterTests.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="XPath\XPathDocument\CreateNavigatorFromXmlReader.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\XmlDocument\CreateNavigatorFromXmlDocument.cs" Link="Common\System\Xml\XPath\XmlDocument\CreateNavigatorFromXmlDocument.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\XDocument\CreateNavigatorComparer.cs" Link="Common\System\Xml\XPath\XDocument\CreateNavigatorComparer.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\XDocument\CreateNavigatorFromXDocument.cs" Link="Common\System\Xml\XPath\XDocument\CreateNavigatorFromXDocument.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\XDocument\NavigatorComparer.cs" Link="Common\System\Xml\XPath\XDocument\NavigatorComparer.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\Common\FileHelper.cs" Link="Common\System\Xml\XPath\Common\FileHelper.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\Common\ICreateNavigator.cs" Link="Common\System\Xml\XPath\Common\ICreateNavigator.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\Common\Utils.cs" Link="Common\System\Xml\XPath\Common\Utils.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\Common\XPathResult.cs" Link="Common\System\Xml\XPath\Common\XPathResult.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\Common\XPathResultToken.cs" Link="Common\System\Xml\XPath\Common\XPathResultToken.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\CoreFunctionLibrary\BooleanFunctionsTests.cs" Link="Common\System\Xml\XPath\CoreFunctionLibrary\BooleanFunctionsTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\CoreFunctionLibrary\ComplexExpressionsTests.cs" Link="Common\System\Xml\XPath\CoreFunctionLibrary\ComplexExpressionsTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\CoreFunctionLibrary\NodeSetFunctionsTests.cs" Link="Common\System\Xml\XPath\CoreFunctionLibrary\NodeSetFunctionsTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\CoreFunctionLibrary\NodeSetMatchesTests.cs" Link="Common\System\Xml\XPath\CoreFunctionLibrary\NodeSetMatchesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\CoreFunctionLibrary\NumberFunctionsTests.cs" Link="Common\System\Xml\XPath\CoreFunctionLibrary\NumberFunctionsTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\CoreFunctionLibrary\ParameterTypeCoercionTests.cs" Link="Common\System\Xml\XPath\CoreFunctionLibrary\ParameterTypeCoercionTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\CoreFunctionLibrary\StringFunctionsTests.cs" Link="Common\System\Xml\XPath\CoreFunctionLibrary\StringFunctionsTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\CustomerScenarios\CustomerScenariosTests.cs" Link="Common\System\Xml\XPath\CustomerScenarios\CustomerScenariosTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\CustomerScenarios\MatchesTests.cs" Link="Common\System\Xml\XPath\CustomerScenarios\MatchesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncExpressions\BasicMatchesTests.cs" Link="Common\System\Xml\XPath\FuncExpressions\BasicMatchesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncExpressions\BasicsTests.cs" Link="Common\System\Xml\XPath\FuncExpressions\BasicsTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncExpressions\BooleansTests.cs" Link="Common\System\Xml\XPath\FuncExpressions\BooleansTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncExpressions\NodeSetsMatchesTests.cs" Link="Common\System\Xml\XPath\FuncExpressions\NodeSetsMatchesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncExpressions\NodeSetsTests.cs" Link="Common\System\Xml\XPath\FuncExpressions\NodeSetsTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncExpressions\NumbersTests.cs" Link="Common\System\Xml\XPath\FuncExpressions\NumbersTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncExpressions\SetContextFunctionalTests.cs" Link="Common\System\Xml\XPath\FuncExpressions\SetContextFunctionalTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncExpressions\SetContextMatchesTests.cs" Link="Common\System\Xml\XPath\FuncExpressions\SetContextMatchesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathAbbreviatedSyntaxMatchesTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathAbbreviatedSyntaxMatchesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathAbbreviatedSyntaxTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathAbbreviatedSyntaxTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathAxeCombinationsTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathAxeCombinationsTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathAxeComplexExprMatchesTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathAxeComplexExprMatchesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathAxeComplexExprTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathAxeComplexExprTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathAxeMatchesTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathAxeMatchesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathAxesTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathAxesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathNodeMatchesTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathNodeMatchesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathNodeTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathNodeTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathPredicateComplexExprTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathPredicateComplexExprTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathPredicateMatchesTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathPredicateMatchesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathPredicatePositionTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathPredicatePositionTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\PathPredicatesTests.cs" Link="Common\System\Xml\XPath\FuncLocation\PathPredicatesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\StepMatchesTests.cs" Link="Common\System\Xml\XPath\FuncLocation\StepMatchesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\FuncLocation\StepsTests.cs" Link="Common\System\Xml\XPath\FuncLocation\StepsTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\MiscellaneousCases\GlobalizationTests.cs" Link="Common\System\Xml\XPath\MiscellaneousCases\GlobalizationTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\MiscellaneousCases\LexicalStructureTests.cs" Link="Common\System\Xml\XPath\MiscellaneousCases\LexicalStructureTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\MiscellaneousCases\MatchesTests.cs" Link="Common\System\Xml\XPath\MiscellaneousCases\MatchesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\MiscellaneousCases\MiscellaneousCasesTests.cs" Link="Common\System\Xml\XPath\MiscellaneousCases\MiscellaneousCasesTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\MiscellaneousCases\NodeSetsTests.cs" Link="Common\System\Xml\XPath\MiscellaneousCases\NodeSetsTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\MiscellaneousCases\RegressionTestsTests.cs" Link="Common\System\Xml\XPath\MiscellaneousCases\RegressionTestsTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\TestsWithEncoding\MiscWithEncodings.cs" Link="Common\System\Xml\XPath\TestsWithEncoding\MiscWithEncodings.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\XPathExpressionTests\CompileTests.cs" Link="Common\System\Xml\XPath\XPathExpressionTests\CompileTests.cs" />
+    <Compile Include="$(CommonTestPath)\System\Xml\XPath\XPathExpressionTests\EvaluateTests.cs" Link="Common\System\Xml\XPath\XPathExpressionTests\EvaluateTests.cs" />
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\91893.xml">
+      <Link>TestData\91893.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\JPN_problem_chars_1.xml">
+      <Link>TestData\JPN_problem_chars_1.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\JPN_problem_chars_2.xml">
+      <Link>TestData\JPN_problem_chars_2.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\KOR_problem_chars_b.xml">
+      <Link>TestData\KOR_problem_chars_b.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\Russian_problem_chars.xml">
+      <Link>TestData\Russian_problem_chars.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\Single_byte_problem_chars_b.xml">
+      <Link>TestData\Single_byte_problem_chars_b.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\Surrogates_1.xml">
+      <Link>TestData\Surrogates_1.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\Thai_risky_chars.xml">
+      <Link>TestData\Thai_risky_chars.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\XQL_Orders_j1.xml">
+      <Link>TestData\XQL_Orders_j1.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\XQL_Orders_j3.xml">
+      <Link>TestData\XQL_Orders_j3.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\xql_orders-flat-200a.xml">
+      <Link>TestData\xql_orders-flat-200a.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\books.xml">
+      <Link>TestData\books.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\books_2.xml">
+      <Link>TestData\books_2.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\bookstore.xml">
+      <Link>TestData\bookstore.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\data.xml">
+      <Link>TestData\data.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\data1.xml">
+      <Link>TestData\data1.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\data4.xml">
+      <Link>TestData\data4.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\dummy.xml">
+      <Link>TestData\dummy.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\id4.xml">
+      <Link>TestData\id4.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\lang.xml">
+      <Link>TestData\lang.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\name.xml">
+      <Link>TestData\name.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\name2.xml">
+      <Link>TestData\name2.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\name4.xml">
+      <Link>TestData\name4.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\namespaces.xml">
+      <Link>TestData\namespaces.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\ns_default.xml">
+      <Link>TestData\ns_default.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\ns_prefixes.xml">
+      <Link>TestData\ns_prefixes.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\numbers.xml">
+      <Link>TestData\numbers.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\space.xml">
+      <Link>TestData\space.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\t114730.xml">
+      <Link>TestData\t114730.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\t98598.xml">
+      <Link>TestData\t98598.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\test1.xml">
+      <Link>TestData\test1.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\test63682.xml">
+      <Link>TestData\test63682.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\test63733.xml">
+      <Link>TestData\test63733.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\test66246.xml">
+      <Link>TestData\test66246.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\turkish.xml">
+      <Link>TestData\turkish.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\xp001.xml">
+      <Link>TestData\xp001.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\xp002.xml">
+      <Link>TestData\xp002.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\xp003.xml">
+      <Link>TestData\xp003.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\xp004.xml">
+      <Link>TestData\xp004.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\xp005.xml">
+      <Link>TestData\xp005.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\xp006.xml">
+      <Link>TestData\xp006.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\xp008.xml">
+      <Link>TestData\xp008.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\xp012.xml">
+      <Link>TestData\xp012.xml</Link>
+    </EmbeddedResource>
+    <EmbeddedResource Include="$(CommonTestPath)System\Xml\XPath\TestData\xpC001.xml">
+      <Link>TestData\xpC001.xml</Link>
+    </EmbeddedResource>
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="Xslt\XslCompiledTransformApi\Errata4.cs" />
+    <Compile Include="Xslt\XslCompiledTransformApi\OutputSettings.cs" />
+    <Compile Include="Xslt\XslCompiledTransformApi\TempFiles.cs" />
+    <Compile Include="Xslt\XslCompiledTransformApi\XslCompilerTests.cs" />
+    <Compile Include="Xslt\XslCompiledTransformApi\XsltApiV2.cs" />
+    <Compile Include="Xslt\XslCompiledTransformApi\XsltArgumentList.cs" />
+    <Compile Include="Xslt\XslCompiledTransformApi\XsltArgumentListMultith.cs" />
+    <Compile Include="Xslt\XslCompiledTransformApi\XslTransformMultith.cs" />
+    <Compile Include="Xslt\XslCompiledTransformApi\XsltSettings.cs" />
+    <Compile Include="Xslt\XslCompiledTransformApi\XslCompiledTransform.cs" />
+    <Compile Include="Xslt\XslTransformApi\CXslTArgumentList.cs" />
+    <Compile Include="Xslt\XslTransformApi\CXsltArgumentListMultith.cs" />
+    <Compile Include="Xslt\XslTransformApi\CXslTransform.cs" />
+    <Compile Include="Xslt\XslTransformApi\CXslTransformMultith.cs" />
+    <Compile Include="Xslt\XslTransformApi\XSLTransform.cs" />
+    <Compile Include="Xslt\XslTransformApi\cthread.cs" />
+    <Compile Include="Xslt\XslTransformApi\CThreads.cs" />
+    <Compile Include="Xslt\XslTransformApi\CXmlCache.cs" />
+    <Compile Include="Xslt\XslTransformApi\DataHelper.cs" />
+    <Compile Include="Xslt\XslTransformApi\ExceptionVerifier.cs" />
+    <Compile Include="Xslt\XslTransformApi\MyNavigator.cs" />
+    <Compile Include="Xslt\XslTransformApi\ReaderType.cs" />
+    <Compile Include="Xslt\XslTransformApi\ThreadFunc.cs" />
+    <Content Include="Xslt\TestFiles\**\*" Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" Visible="false" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="$(CommonTestPath)\System\ShouldNotBeInvokedException.cs" Link="Common\System\ShouldNotBeInvokedException.cs" />
+    <Compile Include="$(CommonTestPath)\System\IO\TempDirectory.cs" Link="Common\System\IO\TempDirectory.cs" />
+    <Compile Include="$(CommonTestPath)\System\Runtime\Serialization\Utils.cs" Link="Common\System\Runtime\Serialization\Utils.cs" />
+    <Compile Include="$(CommonTestPath)\System\Threading\TrackingSynchronizationContext.cs" Link="Common\System\Threading\TrackingSynchronizationContext.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\..\Microsoft.XmlSerializer.Generator\tests\SerializableAssembly.csproj" />
+    <PackageReference Include="xunit.extensibility.execution" Version="$(XUnitVersion)" />
+    <ProjectReference Include="$(CommonTestPath)System\Xml\BaseLibManaged\BaseLibManaged.csproj" />
+    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
+    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
+    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlDiff\XmlDiff.csproj" />
+    <ProjectReference Include="XmlReaderLib\System.Xml.RW.XmlReaderLib.csproj" />
+  </ItemGroup>
+  
+  <ItemGroup>
+    <TrimmerRootAssembly Include="SerializableAssembly" />
+    <TrimmerRootDescriptor Include="$(ILLinkDescriptorsPath)XmlSerializer\ILLink.Descriptors.Serialization.xml" />
+    <TrimmerRootDescriptor Include="ILLink.Descriptors.ModuleCore.xml" />
+  </ItemGroup>
+
+</Project>
index b3c0834..dc5d0ed 100644 (file)
@@ -4,7 +4,7 @@
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.RwFactoryWriterTests
 {
     public partial class CFactoryModule : CXmlDriverModule
     {
index 6e65226..eb23268 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.RwFactoryWriterTests
 {
     /// <summary>
     /// CModCmdLine
index 8427b5f..bb50dee 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 //This file loads the specified new control file and executes the variations.
 
-namespace System.Xml.Tests
+namespace System.Xml.RwFactoryWriterTests
 {
     /// <summary>
     /// This is the CXmlDriver related code.
index 4075948..a90e503 100644 (file)
@@ -1,16 +1,16 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Collections;
 using System.Collections.Generic;
 using System.Globalization;
 using System.IO;
 using System.Linq;
 using System.Xml.Linq;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.RwFactoryWriterTests
 {
     /// <summary>
     /// CXmlDriverEngine
index 6fa3cff..e0c3370 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.RwFactoryWriterTests
 {
     /// <summary>
     /// CXmlDriverException.
index a93323f..828ccb5 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.RwFactoryWriterTests
 {
     /// <summary>
     /// CXmlDriverModule
index 5f64203..c437fcf 100644 (file)
@@ -1,11 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Collections.Generic;
 using System.Xml.Linq;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.RwFactoryWriterTests
 {
     /// <summary>
     /// CXmlDriverParam
index 628040b..7d86749 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Globalization;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.RwFactoryWriterTests
 {
     /// <summary>
     /// CXmlDriverScenario
index 09a4668..8d2af44 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.RwFactoryWriterTests
 {
     /// <summary>
     /// CXmlDriverVariation
index 717c61c..958179a 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
 using System.Text;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.RwFactoryWriterTests
 {
     public partial class CReaderFactory : CFactory
     {
diff --git a/src/libraries/System.Private.Xml/tests/Writers/RwFactory/System.Xml.RW.RwFactory.Tests.csproj b/src/libraries/System.Private.Xml/tests/Writers/RwFactory/System.Xml.RW.RwFactory.Tests.csproj
deleted file mode 100644 (file)
index 384e19f..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="CFactoryModule.cs" />
-    <Compile Include="CModCmdLine.cs" />
-    <Compile Include="CRWFactory.cs" />
-    <Compile Include="CXmlDriverEngine.cs" />
-    <Compile Include="CXmlDriverException.cs" />
-    <Compile Include="CXmlDriverModule.cs" />
-    <Compile Include="CXmlDriverParam.cs" />
-    <Compile Include="CXmlDriverScenario.cs" />
-    <Compile Include="CXmlDriverVariation.cs" />
-    <Compile Include="ReaderFactory.cs" />
-    <Compile Include="WriterFactory.cs" />
-    <Compile Include="$(CommonTestPath)TestUtilities\System\DisableParallelizationPerAssembly.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
-
-    <TrimmerRootDescriptor Include="$(MSBuildThisFileDirectory)..\..\ILLink.Descriptors.ModuleCore.xml" />
-  </ItemGroup>
-</Project>
index 7bfb2e1..4742ee7 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
 using System.Text;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.RwFactoryWriterTests
 {
     /// <summary>
     /// Summary description for WriterFactory.
index 471ec72..d07d3a3 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
 using System.Text;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public partial class TCEOFHandling
     {
index 2fdf040..f26708f 100644 (file)
@@ -1,14 +1,14 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
 using System.Linq;
 using System.Text;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public partial class TCErrorConditionWriter// : XmlWriterTestCaseBase
     {
index cb6ebbe..8e77ba7 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
 using System.Text;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     //[TestCase(Name = "XmlWriterSettings: NamespaceHandling")]
     public partial class TCNamespaceHandling
index d52875e..c2d57dc 100644 (file)
@@ -1,11 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public enum ReaderType
     {
diff --git a/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/System.Xml.RW.XmlWriterApi.Tests.csproj b/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/System.Xml.RW.XmlWriterApi.Tests.csproj
deleted file mode 100644 (file)
index d57538c..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-    <XUnitUseRandomizedTestOrderer>false</XUnitUseRandomizedTestOrderer>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="EndOfLineHandlingTests.cs" />
-    <Compile Include="ErrorCondition.cs" />
-    <Compile Include="NamespaceHandlingTests.cs" />
-    <Compile Include="TCAttribute.cs" />
-    <Compile Include="ReaderParamTestCase.cs" />
-    <Compile Include="TCAutoCL.cs" />
-    <Compile Include="TCAutoComplete.cs" />
-    <Compile Include="TCCheckChars.cs" />
-    <Compile Include="TCCloseOutput.cs" />
-    <Compile Include="TCDefaultWriterSettingsTests.cs" />
-    <Compile Include="TCDocType.cs" />
-    <Compile Include="TCDocument.cs" />
-    <Compile Include="TCElement.cs" />
-    <Compile Include="TCErrorState.cs" />
-    <Compile Include="TCFlushClose.cs" />
-    <Compile Include="TCFragmentCL.cs" />
-    <Compile Include="TCFullEndElement.cs" />
-    <Compile Include="TCIndent.cs" />
-    <Compile Include="TCIndentChars.cs" />
-    <Compile Include="TCNewLineChars.cs" />
-    <Compile Include="TCNewLineHandling.cs" />
-    <Compile Include="TCNewLineOnAttributes.cs" />
-    <Compile Include="$(CommonTestPath)TestUtilities\System\DisableParallelizationPerAssembly.cs" />
-    <Compile Include="TCOmitXmlDecl.cs" />
-    <Compile Include="TCStandAlone.cs" />
-    <Compile Include="TCWriteAttributes.cs" />
-    <Compile Include="TCWriteBuffer.cs" />
-    <Compile Include="TCWriteNode_XmlReader.cs" />
-    <Compile Include="TCWriterSettingsMisc.cs" />
-    <Compile Include="TCWriterWithMemoryStream.cs" />
-    <Compile Include="TestExtensions.cs" />
-    <Compile Include="WriteEndDocumentOnCloseTest.cs" />
-    <Compile Include="XmlWriterTestCaseBase.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <PackageReference Include="xunit.extensibility.execution" Version="$(XUnitVersion)" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlDiff\XmlDiff.csproj" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
index 7592faa..e3798bb 100644 (file)
@@ -5,7 +5,7 @@ using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCAttribute
     {
index 70b8a06..b90f5e4 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCAutoCL
     {
index b9139d1..5df4dd5 100644 (file)
@@ -4,7 +4,7 @@
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     ////[TestCase(Name = "Auto-completion of tokens")]
     public class TCAutoComplete
index dedc03e..058aae9 100644 (file)
@@ -2,11 +2,10 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using OLEDB.Test.ModuleCore;
-using System.Text;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCCheckChars
     {
index 4fb56ab..d4bd166 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
 using System.Text;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCCloseOutput
     {
index 15232da..c1ec90e 100644 (file)
@@ -6,7 +6,7 @@ using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCDefaultWriterSettings
     {
index f3adee7..1dfee00 100644 (file)
@@ -5,7 +5,7 @@ using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     //[TestCase(Name = "WriteDocType")]
     public class TCDocType
index 799464b..7f0d38c 100644 (file)
@@ -4,7 +4,7 @@
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     //[TestCase(Name = "WriteStart/EndDocument")]
     public class TCDocument
index 2c6f8ed..3343454 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     //[TestCase(Name = "WriteStart/EndElement")]
     public class TCElement
index dd599c3..ad16813 100644 (file)
@@ -2,10 +2,9 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using OLEDB.Test.ModuleCore;
-using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     //[TestCase(Name = "Invalid State Combinations", Pri = 1)]
     public class TCErrorState
index 6aa6b6e..b292176 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
 using System.Text;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCFlushClose
     {
index 1b4ae26..532da07 100644 (file)
@@ -4,7 +4,7 @@
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCFragmentCL
     {
index 060f229..b80e74d 100644 (file)
@@ -1,15 +1,15 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Collections.Generic;
 using System.Globalization;
 using System.IO;
 using System.Text;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     //[TestCase(Name = "WriteFullEndElement")]
     public class TCFullEndElement
index 73c1592..afbbd0f 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Text;
-using Xunit;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
+using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCIndent
     {
index 54cc855..c5ccd11 100644 (file)
@@ -5,7 +5,7 @@ using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCIndentChars
     {
index 3290621..642ed7d 100644 (file)
@@ -5,7 +5,7 @@ using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCNewLineChars
     {
index 92d6434..c111b79 100644 (file)
@@ -5,7 +5,7 @@ using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCNewLineHandling
     {
index 22d9f70..e6321a4 100644 (file)
@@ -5,7 +5,7 @@ using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCNewLineOnAttributes
     {
index f94a4ac..f7c50f3 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCOmitXmlDecl
     {
index 92e949b..840d684 100644 (file)
@@ -4,7 +4,7 @@
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCStandAlone
     {
index 20511a2..3db9bfa 100644 (file)
@@ -1,11 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCWriteAttributes : ReaderParamTestCase
     {
index 1000bc7..93f12c0 100644 (file)
@@ -4,7 +4,7 @@
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public abstract class TCWriteBuffer
     {
index 86a4087..b066ab0 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCWriteNode_XmlReader : ReaderParamTestCase
     {
index 4563559..a3d47bf 100644 (file)
@@ -1,11 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Text;
+using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCWriterSettingsMisc
     {
index 64f59a9..459ff58 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
 using System.Text;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class TCWriterWithMemoryStream
     {
index 5dce9fd..66b3b41 100644 (file)
@@ -4,11 +4,11 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Reflection;
+using XmlCoreTest.Common;
 using Xunit.Abstractions;
 using Xunit.Sdk;
-using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     // Based on https://github.com/xunit/xunit/blob/bccfcccf26b2c63c90573fe1a17e6572882ef39c/src/xunit.core/Sdk/InlineDataDiscoverer.cs
     public class XmlWriterInlineDataDiscoverer : IDataDiscoverer
index 17cdd25..692298b 100644 (file)
@@ -1,11 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public partial class TCWriteEndDocumentOnCloseTest
     {
index e86c57b..34e33c4 100644 (file)
@@ -1,11 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterApiTests
 {
     public class XmlWriterUtils
     {
diff --git a/src/libraries/System.Private.Xml/tests/XPath/XPathDocument/System.Xml.XPath.Tests.csproj b/src/libraries/System.Private.Xml/tests/XPath/XPathDocument/System.Xml.XPath.Tests.csproj
deleted file mode 100644 (file)
index a7a68d7..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <DefineConstants>$(DefineConstants);FEATURE_XML_XPATH_ID</DefineConstants>
-    <RootNamespace>System.Xml.XPath.Tests</RootNamespace>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <PropertyGroup>
-    <CommonPathXPath>$(CommonTestPath)System\Xml\XPath</CommonPathXPath>
-  </PropertyGroup>
-  <ItemGroup>
-    <!-- XPath.XPathDocument navigator -->
-    <Compile Include="CreateNavigatorFromXmlReader.cs" />
-    <Compile Include="XmlReaderXPathTest.cs" />
-    <!-- Common -->
-    <Compile Include="$(CommonPathXPath)\Common\FileHelper.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\ICreateNavigator.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\Utils.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\XPathResult.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\XPathResultToken.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\BooleanFunctionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\ComplexExpressionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\NodeSetFunctionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\NodeSetMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\NumberFunctionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\ParameterTypeCoercionTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\StringFunctionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CustomerScenarios\CustomerScenariosTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CustomerScenarios\MatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\BasicMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\BasicsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\BooleansTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\NodeSetsMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\NodeSetsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\NumbersTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\SetContextFunctionalTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\SetContextMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAbbreviatedSyntaxMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAbbreviatedSyntaxTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxeCombinationsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxeComplexExprMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxeComplexExprTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxeMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathNodeMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathNodeTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathPredicateComplexExprTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathPredicateMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathPredicatePositionTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathPredicatesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\StepMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\StepsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\GlobalizationTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\LexicalStructureTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\MatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\MiscellaneousCasesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\NodeSetsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\RegressionTestsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\TestsWithEncoding\MiscWithEncodings.cs" />
-    <Compile Include="$(CommonPathXPath)\XPathExpressionTests\CompileTests.cs" />
-    <Compile Include="$(CommonPathXPath)\XPathExpressionTests\EvaluateTests.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\91893.xml">
-      <Link>TestData\91893.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\JPN_problem_chars_1.xml">
-      <Link>TestData\JPN_problem_chars_1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\JPN_problem_chars_2.xml">
-      <Link>TestData\JPN_problem_chars_2.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\KOR_problem_chars_b.xml">
-      <Link>TestData\KOR_problem_chars_b.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\Russian_problem_chars.xml">
-      <Link>TestData\Russian_problem_chars.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\Single_byte_problem_chars_b.xml">
-      <Link>TestData\Single_byte_problem_chars_b.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\Surrogates_1.xml">
-      <Link>TestData\Surrogates_1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\Thai_risky_chars.xml">
-      <Link>TestData\Thai_risky_chars.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\XQL_Orders_j1.xml">
-      <Link>TestData\XQL_Orders_j1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\XQL_Orders_j3.xml">
-      <Link>TestData\XQL_Orders_j3.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xql_orders-flat-200a.xml">
-      <Link>TestData\xql_orders-flat-200a.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\books.xml">
-      <Link>TestData\books.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\books_2.xml">
-      <Link>TestData\books_2.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\bookstore.xml">
-      <Link>TestData\bookstore.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\data.xml">
-      <Link>TestData\data.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\data1.xml">
-      <Link>TestData\data1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\data4.xml">
-      <Link>TestData\data4.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\dummy.xml">
-      <Link>TestData\dummy.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\id4.xml">
-      <Link>TestData\id4.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\lang.xml">
-      <Link>TestData\lang.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\name.xml">
-      <Link>TestData\name.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\name2.xml">
-      <Link>TestData\name2.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\name4.xml">
-      <Link>TestData\name4.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\namespaces.xml">
-      <Link>TestData\namespaces.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\ns_default.xml">
-      <Link>TestData\ns_default.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\ns_prefixes.xml">
-      <Link>TestData\ns_prefixes.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\numbers.xml">
-      <Link>TestData\numbers.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\space.xml">
-      <Link>TestData\space.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\t114730.xml">
-      <Link>TestData\t114730.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\t98598.xml">
-      <Link>TestData\t98598.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\test1.xml">
-      <Link>TestData\test1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\test63682.xml">
-      <Link>TestData\test63682.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\test63733.xml">
-      <Link>TestData\test63733.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\test66246.xml">
-      <Link>TestData\test66246.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\turkish.xml">
-      <Link>TestData\turkish.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp001.xml">
-      <Link>TestData\xp001.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp002.xml">
-      <Link>TestData\xp002.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp003.xml">
-      <Link>TestData\xp003.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp004.xml">
-      <Link>TestData\xp004.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp005.xml">
-      <Link>TestData\xp005.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp006.xml">
-      <Link>TestData\xp006.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp008.xml">
-      <Link>TestData\xp008.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp012.xml">
-      <Link>TestData\xp012.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xpC001.xml">
-      <Link>TestData\xpC001.xml</Link>
-    </EmbeddedResource>
-  </ItemGroup>
-</Project>
diff --git a/src/libraries/System.Private.Xml/tests/XPath/XPathDocument/XmlReaderXPathTest.cs b/src/libraries/System.Private.Xml/tests/XPath/XPathDocument/XmlReaderXPathTest.cs
deleted file mode 100644 (file)
index 3440881..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-
-using XPathTests.Common;
-
-namespace XPathTests.Common
-{
-    public static partial class Utils
-    {
-        private static readonly ICreateNavigator _navigatorCreator = new CreateNavigatorFromXmlReader();
-        public static readonly string ResourceFilesPath = "System.Xml.XPath.Tests.TestData.";
-    }
-}
diff --git a/src/libraries/System.Private.Xml/tests/XPath/XmlDocument/System.Xml.XPath.XmlDocument.Tests.csproj b/src/libraries/System.Private.Xml/tests/XPath/XmlDocument/System.Xml.XPath.XmlDocument.Tests.csproj
deleted file mode 100644 (file)
index f6c694a..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <DefineConstants>$(DefineConstants);FEATURE_XML_XPATH_ID</DefineConstants>
-    <RootNamespace>System.Xml.XPath.XmlDocument.Tests</RootNamespace>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <PropertyGroup>
-    <CommonPathXPath>$(CommonTestPath)System\Xml\XPath</CommonPathXPath>
-  </PropertyGroup>
-  <ItemGroup>
-    <!-- XPath.XmlDocument navigator -->
-    <Compile Include="$(CommonPathXPath)\XmlDocument\CreateNavigatorFromXmlDocument.cs" />
-    <Compile Include="XmlDocumentXPathTest.cs" />
-    <!-- Common -->
-    <Compile Include="$(CommonPathXPath)\Common\FileHelper.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\ICreateNavigator.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\Utils.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\XPathResult.cs" />
-    <Compile Include="$(CommonPathXPath)\Common\XPathResultToken.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\BooleanFunctionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\ComplexExpressionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\NodeSetFunctionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\NodeSetMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\NumberFunctionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\ParameterTypeCoercionTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CoreFunctionLibrary\StringFunctionsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CustomerScenarios\CustomerScenariosTests.cs" />
-    <Compile Include="$(CommonPathXPath)\CustomerScenarios\MatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\BasicMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\BasicsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\BooleansTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\NodeSetsMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\NodeSetsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\NumbersTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\SetContextFunctionalTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncExpressions\SetContextMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAbbreviatedSyntaxMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAbbreviatedSyntaxTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxeCombinationsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxeComplexExprMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxeComplexExprTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxeMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathAxesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathNodeMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathNodeTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathPredicateComplexExprTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathPredicateMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathPredicatePositionTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\PathPredicatesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\StepMatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\FuncLocation\StepsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\GlobalizationTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\LexicalStructureTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\MatchesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\MiscellaneousCasesTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\NodeSetsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\MiscellaneousCases\RegressionTestsTests.cs" />
-    <Compile Include="$(CommonPathXPath)\TestsWithEncoding\MiscWithEncodings.cs" />
-    <Compile Include="$(CommonPathXPath)\XPathExpressionTests\CompileTests.cs" />
-    <Compile Include="$(CommonPathXPath)\XPathExpressionTests\EvaluateTests.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\91893.xml">
-      <Link>TestData\91893.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\JPN_problem_chars_1.xml">
-      <Link>TestData\JPN_problem_chars_1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\JPN_problem_chars_2.xml">
-      <Link>TestData\JPN_problem_chars_2.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\KOR_problem_chars_b.xml">
-      <Link>TestData\KOR_problem_chars_b.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\Russian_problem_chars.xml">
-      <Link>TestData\Russian_problem_chars.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\Single_byte_problem_chars_b.xml">
-      <Link>TestData\Single_byte_problem_chars_b.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\Surrogates_1.xml">
-      <Link>TestData\Surrogates_1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\Thai_risky_chars.xml">
-      <Link>TestData\Thai_risky_chars.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\XQL_Orders_j1.xml">
-      <Link>TestData\XQL_Orders_j1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\XQL_Orders_j3.xml">
-      <Link>TestData\XQL_Orders_j3.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xql_orders-flat-200a.xml">
-      <Link>TestData\xql_orders-flat-200a.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\books.xml">
-      <Link>TestData\books.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\books_2.xml">
-      <Link>TestData\books_2.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\bookstore.xml">
-      <Link>TestData\bookstore.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\data.xml">
-      <Link>TestData\data.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\data1.xml">
-      <Link>TestData\data1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\data4.xml">
-      <Link>TestData\data4.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\dummy.xml">
-      <Link>TestData\dummy.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\id4.xml">
-      <Link>TestData\id4.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\lang.xml">
-      <Link>TestData\lang.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\name.xml">
-      <Link>TestData\name.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\name2.xml">
-      <Link>TestData\name2.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\name4.xml">
-      <Link>TestData\name4.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\namespaces.xml">
-      <Link>TestData\namespaces.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\ns_default.xml">
-      <Link>TestData\ns_default.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\ns_prefixes.xml">
-      <Link>TestData\ns_prefixes.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\numbers.xml">
-      <Link>TestData\numbers.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\space.xml">
-      <Link>TestData\space.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\t114730.xml">
-      <Link>TestData\t114730.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\t98598.xml">
-      <Link>TestData\t98598.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\test1.xml">
-      <Link>TestData\test1.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\test63682.xml">
-      <Link>TestData\test63682.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\test63733.xml">
-      <Link>TestData\test63733.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\test66246.xml">
-      <Link>TestData\test66246.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\turkish.xml">
-      <Link>TestData\turkish.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp001.xml">
-      <Link>TestData\xp001.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp002.xml">
-      <Link>TestData\xp002.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp003.xml">
-      <Link>TestData\xp003.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp004.xml">
-      <Link>TestData\xp004.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp005.xml">
-      <Link>TestData\xp005.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp006.xml">
-      <Link>TestData\xp006.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp008.xml">
-      <Link>TestData\xp008.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xp012.xml">
-      <Link>TestData\xp012.xml</Link>
-    </EmbeddedResource>
-    <EmbeddedResource Include="$(CommonPathXPath)\TestData\xpC001.xml">
-      <Link>TestData\xpC001.xml</Link>
-    </EmbeddedResource>
-  </ItemGroup>
-</Project>
diff --git a/src/libraries/System.Private.Xml/tests/XPath/XmlDocument/XmlDocumentXPathTest.cs b/src/libraries/System.Private.Xml/tests/XPath/XmlDocument/XmlDocumentXPathTest.cs
deleted file mode 100644 (file)
index 2df523c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-
-using XPathTests.Common;
-
-namespace XPathTests.Common
-{
-    public static partial class Utils
-    {
-        private static readonly ICreateNavigator _navigatorCreator = new CreateNavigatorFromXmlDocument();
-        public static readonly string ResourceFilesPath = "System.Xml.XPath.XmlDocument.Tests.TestData.";
-    }
-}
index deb5fa7..05d0169 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class EncodeDecodeTests : SqlXmlConvertTests
     {
index ae731fc..aac5a3f 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class MiscellaneousTests : CTestCase
     {
index 7e68441..d70d94d 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     ////////////////////////////////////////////////////////////////
     // TestCase: XmlConvert
index c115af9..1a593a2 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class SqlXmlConvertTests0 : SqlXmlConvertTests
     {
index 1cac05b..47aa7d7 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class SqlXmlConvertTests1 : SqlXmlConvertTests
     {
index 4b5a055..3f10f1d 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class SqlXmlConvertTests2 : SqlXmlConvertTests
     {
index b9384c4..163e8db 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class SqlXmlConvertTests3 : SqlXmlConvertTests
     {
diff --git a/src/libraries/System.Private.Xml/tests/XmlConvert/System.Xml.RW.XmlConvert.Tests.csproj b/src/libraries/System.Private.Xml/tests/XmlConvert/System.Xml.RW.XmlConvert.Tests.csproj
deleted file mode 100644 (file)
index 41b4432..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="EncodeDecodeTests.cs" />
-    <Compile Include="MiscellaneousTests.cs" />
-    <Compile Include="SqlXmlConvertTests.cs" />
-    <Compile Include="SqlXmlConvertTests0.cs" />
-    <Compile Include="SqlXmlConvertTests1.cs" />
-    <Compile Include="SqlXmlConvertTests2.cs" />
-    <Compile Include="SqlXmlConvertTests3.cs" />
-    <Compile Include="ToTypeTests.cs" />
-    <Compile Include="VerifyNameTests1.cs" />
-    <Compile Include="VerifyNameTests2.cs" />
-    <Compile Include="VerifyNameTests3.cs" />
-    <Compile Include="VerifyNameTests4.cs" />
-    <Compile Include="VerifyNameTests5.cs" />
-    <Compile Include="XmlBaseCharConvertTests.cs" />
-    <Compile Include="XmlBaseCharConvertTests1.cs" />
-    <Compile Include="XmlBaseCharConvertTests2.cs" />
-    <Compile Include="XmlBaseCharConvertTests3.cs" />
-    <Compile Include="XmlCombiningCharConvertTests.cs" />
-    <Compile Include="XmlCombiningCharConvertTests1.cs" />
-    <Compile Include="XmlCombiningCharConvertTests2.cs" />
-    <Compile Include="XmlCombiningCharConvertTests3.cs" />
-    <Compile Include="XmlConvertTests.cs" />
-    <Compile Include="XmlDigitCharConvertTests.cs" />
-    <Compile Include="XmlDigitCharConvertTests1.cs" />
-    <Compile Include="XmlDigitCharConvertTests2.cs" />
-    <Compile Include="XmlDigitCharConvertTests3.cs" />
-    <Compile Include="XmlEmbeddedNullCharConvertTests.cs" />
-    <Compile Include="XmlEmbeddedNullCharConvertTests1.cs" />
-    <Compile Include="XmlEmbeddedNullCharConvertTests2.cs" />
-    <Compile Include="XmlEmbeddedNullCharConvertTests3.cs" />
-    <Compile Include="XmlIdeographicCharConvertTests.cs" />
-    <Compile Include="XmlIdeographicCharConvertTests1.cs" />
-    <Compile Include="XmlIdeographicCharConvertTests2.cs" />
-    <Compile Include="XmlIdeographicCharConvertTests3.cs" />
-    <Compile Include="$(CommonTestPath)TestUtilities\System\DisableParallelizationPerAssembly.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
-
-    <TrimmerRootDescriptor Include="$(MSBuildThisFileDirectory)..\ILLink.Descriptors.ModuleCore.xml" />
-  </ItemGroup>
-</Project>
index 27b34cc..d8ff50e 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Globalization;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     /// <summary>
     ///     XmlConvert type conversion functions
index 10f0423..91f0a51 100644 (file)
@@ -4,7 +4,7 @@
 using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class VerifyNameTests1 : CTestCase
     {
index d0d9dd5..3261a60 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class VerifyNameTests2 : CTestCase
     {
index b1a861a..ce3f00f 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class VerifyNameTests3 : CTestCase
     {
index b3642c1..d26c2b6 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class VerifyNameTests4 : CTestCase
     {
index 2337f54..55db1c3 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class VerifyNameTests5 : CTestCase
     {
index 67f1f52..f47307c 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal abstract class XmlBaseCharConvertTests : CTestCase
     {
index f6ed436..6cc6540 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlBaseCharConvertTests1 : XmlBaseCharConvertTests
     {
index 01fa29d..4d3dab6 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlBaseCharConvertTests2 : XmlBaseCharConvertTests
     {
index 33400fb..bc9f92e 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlBaseCharConvertTests3 : XmlBaseCharConvertTests
     {
index 9ddb908..5d19982 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal abstract class XmlCombiningCharConvertTests : CTestCase
     {
index 668791a..6c0dc2f 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlCombiningCharConvertTests1 : XmlCombiningCharConvertTests
     {
index 4eed8aa..6db23a5 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlCombiningCharConvertTests2 : XmlCombiningCharConvertTests
     {
index 93c9652..3b79adb 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlCombiningCharConvertTests3 : XmlCombiningCharConvertTests
     {
index f939b87..6dcc6c8 100644 (file)
@@ -4,7 +4,7 @@
 using OLEDB.Test.ModuleCore;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     public class XmlConvertTests : CTestModule
     {
index b516fa7..fa1baef 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal abstract class XmlDigitCharConvertTests : CTestCase
     {
index 825c923..ed6bc96 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlDigitCharConvertTests1 : XmlDigitCharConvertTests
     {
index 01784cb..1915c24 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlDigitCharConvertTests2 : XmlDigitCharConvertTests
     {
index b9eeda4..dd2fd0f 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlDigitCharConvertTests3 : XmlDigitCharConvertTests
     {
index e41f8a6..9d536e3 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal abstract class XmlEmbeddedNullCharConvertTests : CTestCase
     {
index 21ca58a..c378953 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlEmbeddedNullCharConvertTests1 : XmlEmbeddedNullCharConvertTests
     {
index c5e15bd..4c2dfa1 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlEmbeddedNullCharConvertTests2 : XmlEmbeddedNullCharConvertTests
     {
index cead014..09e8645 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlEmbeddedNullCharConvertTests3 : XmlEmbeddedNullCharConvertTests
     {
index deaf076..9364518 100644 (file)
@@ -3,7 +3,7 @@
 
 using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal abstract class XmlIdeographicCharConvertTests : CTestCase
     {
index c33333f..2b052d2 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlIdeographicCharConvertTests1 : XmlIdeographicCharConvertTests
     {
index 54aa5c7..5a3e130 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlIdeographicCharConvertTests2 : XmlIdeographicCharConvertTests
     {
index f57c2bc..aeeef89 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Buffers.Binary;
+using OLEDB.Test.ModuleCore;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlConvertTests
 {
     internal class XmlIdeographicCharConvertTests3 : XmlIdeographicCharConvertTests
     {
diff --git a/src/libraries/System.Private.Xml/tests/XmlDocument/System.Xml.XmlDocument.Tests.csproj b/src/libraries/System.Private.Xml/tests/XmlDocument/System.Xml.XmlDocument.Tests.csproj
deleted file mode 100644 (file)
index b3b4b78..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="$(CommonTestPath)System\ShouldNotBeInvokedException.cs"
-             Link="Common\System\ShouldNotBeInvokedException.cs" />
-    <Compile Include="XmlDocumentTests\LoadTests.cs" />
-    <Compile Include="XmlAttributeCollectionTests\AppendTests.cs" />
-    <Compile Include="XmlAttributeCollectionTests\CollectionInterfaceTests.cs" />
-    <Compile Include="XmlAttributeCollectionTests\CopyToTests.cs" />
-    <Compile Include="XmlAttributeCollectionTests\IndexerTests.cs" />
-    <Compile Include="XmlAttributeCollectionTests\InsertAfterTests.cs" />
-    <Compile Include="XmlAttributeCollectionTests\InsertBeforeTests.cs" />
-    <Compile Include="XmlAttributeCollectionTests\PrependTests.cs" />
-    <Compile Include="XmlAttributeCollectionTests\RemoveAllTests.cs" />
-    <Compile Include="XmlAttributeCollectionTests\RemoveAtTests.cs" />
-    <Compile Include="XmlAttributeCollectionTests\RemoveTests.cs" />
-    <Compile Include="XmlAttributeCollectionTests\SetNamedItemTests.cs" />
-    <Compile Include="XmlAttributeTests\SpecifiedTests.cs" />
-    <Compile Include="XmlCharacterDataTests\AppendDataTests.cs" />
-    <Compile Include="XmlCharacterDataTests\DataTests.cs" />
-    <Compile Include="XmlCharacterDataTests\DeleteDataTests.cs" />
-    <Compile Include="XmlCharacterDataTests\InsertDataTests.cs" />
-    <Compile Include="XmlCharacterDataTests\LengthTests.cs" />
-    <Compile Include="XmlCharacterDataTests\ReplaceTests.cs" />
-    <Compile Include="XmlCharacterDataTests\SubstringTests.cs" />
-    <Compile Include="XmlDocumentTests\CreateAttributeTests.cs" />
-    <Compile Include="XmlDocumentTests\CreateCDataSectionTests.cs" />
-    <Compile Include="XmlDocumentTests\CreateCommentTests.cs" />
-    <Compile Include="XmlDocumentTests\CreateDocumentFragment.cs" />
-    <Compile Include="XmlDocumentTests\CreateElementTests.cs" />
-    <Compile Include="XmlDocumentTests\CreateProcessingInstruction.cs" />
-    <Compile Include="XmlDocumentTests\CreateTextNodeTests.cs" />
-    <Compile Include="XmlDocumentTests\CreateXmlDeclarationTests.cs" />
-    <Compile Include="XmlDocumentTests\GetElementsByTagNameTests.cs" />
-    <Compile Include="XmlDocumentTests\ImportNodeTests.cs" />
-    <Compile Include="XmlDocumentTests\NameTableTests.cs" />
-    <Compile Include="XmlDocumentTests\NodeChangedTests.cs" />
-    <Compile Include="XmlDocumentTests\NodeChangingTests.cs" />
-    <Compile Include="XmlDocumentTests\NodeInsertedTests.cs" />
-    <Compile Include="XmlDocumentTests\NodeInsertingTests.cs" />
-    <Compile Include="XmlDocumentTests\NodeRemovedTests.cs" />
-    <Compile Include="XmlDocumentTests\NodeRemovingTests.cs" />
-    <Compile Include="XmlElementTests\GetAttributeNodeTests.cs" />
-    <Compile Include="XmlElementTests\GetAttributeTests.cs" />
-    <Compile Include="XmlElementTests\GetElementsByTagNameTests.cs" />
-    <Compile Include="XmlElementTests\HasAttributeTests.cs" />
-    <Compile Include="XmlElementTests\RemoveAttributeNodeTests.cs" />
-    <Compile Include="XmlElementTests\RemoveAttributeTests.cs" />
-    <Compile Include="XmlElementTests\SetAttributeNodeTests.cs" />
-    <Compile Include="XmlElementTests\SetAttributeTests.cs" />
-    <Compile Include="XmlImplementationTests\CreateDocumentTests.cs" />
-    <Compile Include="XmlImplementationTests\HasFeatureTests.cs" />
-    <Compile Include="XmlNamedNodeMapTests\CountTests.cs" />
-    <Compile Include="XmlNamedNodeMapTests\GetNamedItemTests.cs" />
-    <Compile Include="XmlNamedNodeMapTests\GetNameTests.cs" />
-    <Compile Include="XmlNamedNodeMapTests\ItemTests.cs" />
-    <Compile Include="XmlNamedNodeMapTests\RemoveNamedItemTests.cs" />
-    <Compile Include="XmlNamedNodeMapTests\SetNamedItemTests.cs" />
-    <Compile Include="XmlNodeListTests\CountTests.cs" />
-    <Compile Include="XmlNodeListTests\ItemTests.cs" />
-    <Compile Include="XmlNodeTests\AppendChildTests.cs" />
-    <Compile Include="XmlNodeTests\AttributesTests.cs" />
-    <Compile Include="XmlNodeTests\ChildNodesTests.cs" />
-    <Compile Include="XmlNodeTests\CloneNodeTests.cs" />
-    <Compile Include="XmlNodeTests\FirstChildTests.cs" />
-    <Compile Include="XmlNodeTests\HasChildNodesTests.cs" />
-    <Compile Include="XmlNodeTests\InsertBeforeTests.cs" />
-    <Compile Include="XmlNodeTests\LastChildTests.cs" />
-    <Compile Include="XmlNodeTests\LocalNameTests.cs" />
-    <Compile Include="XmlNodeTests\NamespaceURITests.cs" />
-    <Compile Include="XmlNodeTests\NameTests.cs" />
-    <Compile Include="XmlNodeTests\NextSiblingTests.cs" />
-    <Compile Include="XmlNodeTests\NodeTypeTests.cs" />
-    <Compile Include="XmlNodeTests\NormalizeTests.cs" />
-    <Compile Include="XmlNodeTests\OwnerDocumentTests.cs" />
-    <Compile Include="XmlNodeTests\ParentNodeTests.cs" />
-    <Compile Include="XmlNodeTests\PrefixTests.cs" />
-    <Compile Include="XmlNodeTests\PreviousSiblingTests.cs" />
-    <Compile Include="XmlNodeTests\RemoveChildTests.cs" />
-    <Compile Include="XmlNodeTests\ReplaceChildTests.cs" />
-    <Compile Include="XmlNodeTests\SupportsTests.cs" />
-    <Compile Include="XmlNodeTests\ValueTests.cs" />
-    <Compile Include="XmlNodeTests\InsertTests\OneElementTests.cs" />
-    <Compile Include="XmlNodeTests\InsertTests\TestHelper.cs" />
-    <Compile Include="XmlNodeTests\InsertTests\ThreeElementTests.cs" />
-    <Compile Include="XmlNodeTests\InsertTests\TwoElementTests.cs" />
-    <Compile Include="XmlNodeTests\InsertTests\TwoTextNodeTests.cs" />
-    <Compile Include="XmlProcessingInstructionTests\DataTests.cs" />
-    <Compile Include="XmlProcessingInstructionTests\TargetTests.cs" />
-    <Compile Include="XmlTextTests\SplitTextTests.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="example.xml">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-</Project>
index eb192c1..49b22b6 100644 (file)
@@ -4,7 +4,7 @@
 using System.IO;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlDocumentTests
 {
     public class LoadTests
     {
@@ -12,7 +12,7 @@ namespace System.Xml.Tests
         [Fact]
         public void LoadDocumentFromFile()
         {
-            TextReader textReader = File.OpenText(@"example.xml");
+            TextReader textReader = File.OpenText(Path.Combine("XmlDocument", "example.xml"));
             XmlReaderSettings settings = new XmlReaderSettings();
             settings.IgnoreWhitespace = true;
             settings.DtdProcessing = DtdProcessing.Ignore;
index 95a97f8..30a0030 100644 (file)
@@ -2,10 +2,8 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using Xunit;
-using System;
-using System.Xml;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlDocumentTests
 {
     public class NodeChangedTests
     {
index 0eac891..79f210c 100644 (file)
@@ -2,10 +2,8 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using Xunit;
-using System;
-using System.Xml;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlDocumentTests
 {
     public class NodeChangingTests
     {
index 1ec619a..d047c97 100644 (file)
@@ -2,10 +2,8 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using Xunit;
-using System;
-using System.Xml;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlDocumentTests
 {
     public class NodeInsertedTests
     {
index 1236152..6ae9372 100644 (file)
@@ -2,10 +2,8 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using Xunit;
-using System;
-using System.Xml;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlDocumentTests
 {
     public class NodeInsertingTests
     {
index 21da752..ee4144d 100644 (file)
@@ -2,10 +2,8 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using Xunit;
-using System;
-using System.Xml;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlDocumentTests
 {
     public class NodeRemovedTests
     {
index 9c487f8..25288e1 100644 (file)
@@ -2,10 +2,8 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using Xunit;
-using System;
-using System.Xml;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlDocumentTests
 {
     public class NodeRemovingTests
     {
index b607156..6619188 100644 (file)
@@ -1,11 +1,7 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace System.Xml.Tests
+namespace System.Xml.XmlNodeReaderTests
 {
     internal static class NodeReaderTestHelper
     {
diff --git a/src/libraries/System.Private.Xml/tests/XmlNodeReader/System.Xml.XmlNodeReader.Tests/System.Xml.XmlNodeReader.Tests.csproj b/src/libraries/System.Private.Xml/tests/XmlNodeReader/System.Xml.XmlNodeReader.Tests/System.Xml.XmlNodeReader.Tests.csproj
deleted file mode 100644 (file)
index ebf9761..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="NodeReaderTestHelper.cs" />
-    <Compile Include="XmlNodeReaderConstructionTests.cs" />
-    <Compile Include="XmlNodeReaderGetAttributeTests.cs" />
-    <Compile Include="XmlNodeReaderMiscTests.cs" />
-    <Compile Include="XmlNodeReaderMoveToAttributeTests.cs" />
-    <Compile Include="XmlNodeReaderReadTests.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Configurations.props" />
-  </ItemGroup>
-</Project>
index e4c124f..d6c00c7 100644 (file)
@@ -5,7 +5,7 @@ using System.Xml.Schema;
 using System.Xml.XPath;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlReaderTests
 {
     public class ArrayTests
     {
diff --git a/src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/System.Xml.RW.XmlReader.ReadContentAs.Tests.csproj b/src/libraries/System.Private.Xml/tests/XmlReader/ReadContentAs/System.Xml.RW.XmlReader.ReadContentAs.Tests.csproj
deleted file mode 100644 (file)
index 733be64..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFrameworks>$(NetCoreAppCurrent);</TargetFrameworks>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="ReadAsArrayTests.cs" />
-    <Compile Include="ReadAsBooleanAttributeTests.cs" />
-    <Compile Include="ReadAsBooleanElementContentTests.cs" />
-    <Compile Include="ReadAsBooleanTests.cs" />
-    <Compile Include="ReadAsByteAttributeTests.cs" />
-    <Compile Include="ReadAsByteElementContentTests.cs" />
-    <Compile Include="ReadAsByteTests.cs" />
-    <Compile Include="ReadAsCharElementContentTests.cs" />
-    <Compile Include="ReadAsCharTests.cs" />
-    <Compile Include="ReadAsDateTimeAttributeTests.cs" />
-    <Compile Include="ReadAsDateTimeElementContentTests.cs" />
-    <Compile Include="ReadAsDateTimeOffsetAttributeTests.cs" />
-    <Compile Include="ReadAsDateTimeOffsetElementContentTests.cs" />
-    <Compile Include="ReadAsDateTimeOffsetTests.cs" />
-    <Compile Include="ReadAsDateTimeTests.cs" />
-    <Compile Include="ReadAsDayOfWeekElementContentTests.cs" />
-    <Compile Include="ReadAsDayOfWeekTests.cs" />
-    <Compile Include="ReadAsDecimalAttributeTests.cs" />
-    <Compile Include="ReadAsDecimalElementContentTests.cs" />
-    <Compile Include="ReadAsDecimalTests.cs" />
-    <Compile Include="ReadAsDoubleAttributeTests.cs" />
-    <Compile Include="ReadAsDoubleElementContentTests.cs" />
-    <Compile Include="ReadAsDoubleTests.cs" />
-    <Compile Include="ReadAsExceptionElementContentTests.cs" />
-    <Compile Include="ReadAsExceptionTests.cs" />
-    <Compile Include="ReadAsExtendedDateTimeElementContentTests.cs" />
-    <Compile Include="ReadAsExtendedDateTimeTests.cs" />
-    <Compile Include="ReadAsFloatAttributeTests.cs" />
-    <Compile Include="ReadAsFloatElementContentTests.cs" />
-    <Compile Include="ReadAsFloatTests.cs" />
-    <Compile Include="ReadAsIntegerAttributeTests.cs" />
-    <Compile Include="ReadAsIntegerElementContentTests.cs" />
-    <Compile Include="ReadAsIntegerTests.cs" />
-    <Compile Include="ReadAsLongAttributeTests.cs" />
-    <Compile Include="ReadAsLongElementContentTests.cs" />
-    <Compile Include="ReadAsLongTests.cs" />
-    <Compile Include="ReadAsObjectAttributeTests.cs" />
-    <Compile Include="ReadAsObjectElementContentTests.cs" />
-    <Compile Include="ReadAsObjectTests.cs" />
-    <Compile Include="ReadAsStringAttributeTests.cs" />
-    <Compile Include="ReadAsStringElementContentTests.cs" />
-    <Compile Include="ReadAsStringTests.cs" />
-    <Compile Include="ReadAsTimeSpanAttributeTests.cs" />
-    <Compile Include="ReadAsTimeSpanElementContentTests.cs" />
-    <Compile Include="ReadAsTimeSpanTests.cs" />
-    <Compile Include="ReadAsTimeZoneInfoElementContentTests.cs" />
-    <Compile Include="ReadAsTimeZoneInfoTests.cs" />
-    <Compile Include="ReadAsUriAttributeTests.cs" />
-    <Compile Include="ReadAsUriElementContentTests.cs" />
-    <Compile Include="ReadAsUriTests.cs" />
-    <Compile Include="Utils.cs" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
index 7f7a8f1..7b318be 100644 (file)
@@ -3,7 +3,7 @@
 
 using System.IO;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlReaderTests
 {
     public static class Utils
     {
index 4ae64a4..85f2fd9 100644 (file)
@@ -8,7 +8,7 @@ using System.Threading.Tasks;
 using System.Threading.Tests;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlReaderTests
 {
     public static class AsyncReaderLateInitTests
     {
index 122a019..af3f865 100644 (file)
@@ -1,13 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System;
 using System.Collections.Generic;
 using System.IO;
-using System.Text;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlReaderTests
 {
     public class BaseUriTests : FileCleanupTestBase
     {
index 4c3183b..7dd6cc8 100644 (file)
@@ -5,7 +5,7 @@ using System.IO;
 using System.Text;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlReaderTests
 {
     public class MyXmlReader : XmlReader
     {
index 0c91c2b..d5beb6d 100644 (file)
@@ -4,7 +4,7 @@
 using System.IO;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlReaderTests
 {
     /// <summary>
     /// This class is not completely testing XmlReader Encoding, it has a regression tests for the fix of the issue: https://github.com/dotnet/runtime/issues/28615
diff --git a/src/libraries/System.Private.Xml/tests/XmlReader/Tests/System.Xml.RW.XmlReader.Tests.csproj b/src/libraries/System.Private.Xml/tests/XmlReader/Tests/System.Xml.RW.XmlReader.Tests.csproj
deleted file mode 100644 (file)
index 17acf2c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="AsyncReaderLateInitTests.cs" />
-    <Compile Include="DisposeTests.cs" />
-    <Compile Include="BaseUriTests.cs" />
-    <Compile Include="ReaderEncodingTests.cs" />
-    <Compile Include="$(CommonTestPath)System\Threading\TrackingSynchronizationContext.cs"
-             Link="Common\System\Threading\TrackingSynchronizationContext.cs" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/src/libraries/System.Private.Xml/tests/XmlReader/XmlResolver/System.Xml.RW.XmlSystemPathResolver.Tests.csproj b/src/libraries/System.Private.Xml/tests/XmlReader/XmlResolver/System.Xml.RW.XmlSystemPathResolver.Tests.csproj
deleted file mode 100644 (file)
index e859c96..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="XmlSystemPathResolverTests.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="..\TestFiles\**\*"
-          Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)"
-          CopyToOutputDirectory="PreserveNewest"
-          Visible="false" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
index a1877a5..aad9aa0 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 namespace System.Xml.Tests
index 4258713..bba6ce1 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 namespace System.Xml.Tests
index 70c84ff..e63106c 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 
 namespace System.Xml.Tests
 {
index 51eb67d..a4f43df 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 namespace System.Xml.Tests
index ac9e47c..d18bd94 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 
 namespace System.Xml.Tests
 {
index fa2ea47..25a2284 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 namespace System.Xml.Tests
index d18d92f..191a25c 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 namespace System.Xml.Tests
index fc3befd..76d472e 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 namespace System.Xml.Tests
index 5d7e9cc..0b6c49c 100644 (file)
@@ -1,9 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
 using System.Text;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 namespace System.Xml.Tests
index f764af7..e37e5b3 100644 (file)
@@ -1,9 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
 using System.Text;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 namespace System.Xml.Tests
index e57998c..3d580c0 100644 (file)
@@ -1,9 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.Collections.Generic;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 namespace System.Xml.Tests
index 01e6849..f773548 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 namespace System.Xml.Tests
index 5eeb176..d359d0b 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 
 namespace System.Xml.Tests
 {
index b78414b..2f89172 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 namespace System.Xml.Tests
index c41a3dc..548fa07 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 using XmlCoreTest.Common;
 
 namespace System.Xml.Tests
index ca72c37..fd27c38 100644 (file)
@@ -1,8 +1,8 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using OLEDB.Test.ModuleCore;
 using System.IO;
+using OLEDB.Test.ModuleCore;
 
 namespace System.Xml.Tests
 {
diff --git a/src/libraries/System.Private.Xml/tests/XmlResolver/System.Xml.XmlResolver.Tests/System.Xml.XmlResolver.Tests.csproj b/src/libraries/System.Private.Xml/tests/XmlResolver/System.Xml.XmlResolver.Tests/System.Xml.XmlResolver.Tests.csproj
deleted file mode 100644 (file)
index 3e89ee8..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml1-frameset.dtd">
-      <Link>Utils\DTDs\XHTML10\no_comments\xhtml1-frameset.dtd</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml1-strict.dtd">
-      <Link>Utils\DTDs\XHTML10\no_comments\xhtml1-strict.dtd</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml1-transitional.dtd">
-      <Link>Utils\DTDs\XHTML10\no_comments\xhtml1-transitional.dtd</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml-lat1.ent">
-      <Link>Utils\DTDs\XHTML10\no_comments\xhtml-lat1.ent</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml-special.ent">
-      <Link>Utils\DTDs\XHTML10\no_comments\xhtml-special.ent</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\XHTML10\no_comments\xhtml-symbol.ent">
-      <Link>Utils\DTDs\XHTML10\no_comments\xhtml-symbol.ent</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="$(LibrariesProjectRoot)System.Private.Xml\src\Utils\DTDs\RSS091\no_comments\rss-0.91.dtd">
-      <Link>Utils\DTDs\RSS091\no_comments\rss-0.91.dtd</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Compile Include="DummyStream.cs" />
-    <Compile Include="XmlPreloadedResolverAddRemoveTests.cs" />
-    <Compile Include="XmlPreloadedResolverConstructionTests.cs" />
-    <Compile Include="XmlPreloadedResolverGetEntity.cs" />
-    <Compile Include="XmlPreloadedResolverMiscTests.cs" />
-    <Compile Include="XmlPreloadedResolverResolveUriTests.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Configurations.props" />
-  </ItemGroup>
-</Project>
index 7c8afc8..14df39b 100644 (file)
@@ -1,12 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System.Xml.Resolvers;
-using System.Text;
 using System.IO;
+using System.Xml.Resolvers;
 using Xunit;
 
-namespace System.Xml.XmlResolver.Tests
+namespace System.Xml.XmlResolverTests
 {
     public class XmlPreloadedResolverAddRemoveTests
     {
index b3cf95c..1747a9f 100644 (file)
@@ -1,15 +1,15 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System.Xml.Resolvers;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using System.Text;
-using Xunit;
 using System.Threading.Tasks;
+using System.Xml.Resolvers;
+using Xunit;
 
-namespace System.Xml.XmlResolver.Tests
+namespace System.Xml.XmlResolverTests
 {
     public class XmlPreloadedResolverGetEntity
     {
index 4b3b031..8d9e75e 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.IO;
+using System.Net;
 using System.Xml.Resolvers;
 using Xunit;
-using System.Net;
-using System.IO;
 
-namespace System.Xml.XmlResolver.Tests
+namespace System.Xml.XmlResolverTests
 {
     public class XmlPreloadedResolverMiscTests
     {
index 15f0f3c..cb66ad3 100644 (file)
@@ -1,14 +1,9 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     public static class CError
     {
diff --git a/src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/System.Xml.XmlSchemaSet.Tests.csproj b/src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaSet/System.Xml.XmlSchemaSet.Tests.csproj
deleted file mode 100644 (file)
index 9a61247..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-    <!--Remove once this is fixed, https://github.com/dotnet/runtime/issues/71506 -->
-    <IlcTrimMetadata>false</IlcTrimMetadata>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="CError.cs" />
-    <Compile Include="TC_SchemaSet.cs" />
-    <Compile Include="TC_SchemaSet_Add_Reader.cs" />
-    <Compile Include="TC_SchemaSet_Add_Schema.cs" />
-    <Compile Include="TC_SchemaSet_Add_SchemaSet.cs" />
-    <Compile Include="TC_SchemaSet_Add_URL.cs" />
-    <Compile Include="TC_SchemaSet_AllowXmlAttributes.cs" />
-    <Compile Include="TC_SchemaSet_AnyAttribute.cs" />
-    <Compile Include="TC_SchemaSet_Compile.cs" />
-    <Compile Include="TC_SchemaSet_Constructors.cs" />
-    <Compile Include="TC_SchemaSet_Contains_ns.cs" />
-    <Compile Include="TC_SchemaSet_Contains_schema.cs" />
-    <Compile Include="TC_SchemaSet_CopyTo.cs" />
-    <Compile Include="TC_SchemaSet_Count.cs" />
-    <Compile Include="TC_SchemaSet_EnableUpaCheck.cs" />
-    <Compile Include="TC_SchemaSet_GlobalAttributes.cs" />
-    <Compile Include="TC_SchemaSet_GlobalElements.cs" />
-    <Compile Include="TC_SchemaSet_GlobalTypes.cs" />
-    <Compile Include="TC_SchemaSet_Imports.cs" />
-    <Compile Include="TC_SchemaSet_Includes.cs" />
-    <Compile Include="TC_SchemaSet_IsCompiled.cs" />
-    <Compile Include="TC_SchemaSet_Misc.cs" />
-    <Compile Include="TC_SchemaSet_NmTokens.cs" />
-    <Compile Include="TC_SchemaSet_ProhibitDTD.cs" />
-    <Compile Include="TC_SchemaSet_Remove.cs" />
-    <Compile Include="TC_SchemaSet_RemoveRecursive.cs" />
-    <Compile Include="TC_SchemaSet_Reprocess.cs" />
-    <Compile Include="TC_SchemaSet_Schemas.cs" />
-    <Compile Include="TC_SchemaSet_Schemas_NS.cs" />
-    <Compile Include="TC_SchemaSet_ValidationEventHandler.cs" />
-    <Compile Include="TC_SchemaSet_XmlNameTable.cs" />
-    <Compile Include="TC_SchemaSet_XmlResolver.cs" />
-    <Compile Include="$(CommonTestPath)System\IO\TempDirectory.cs"
-             Link="Common\System\IO\TempDirectory.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="..\TestFiles\**\*"
-          Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)"
-          CopyToOutputDirectory="PreserveNewest"
-          Visible="false" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
index 9d82754..8f77d39 100644 (file)
@@ -3,12 +3,12 @@
 
 using System.IO;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     public class TestData
     {
-        internal static string _Root = Path.Combine("TestFiles", "TestData");
-        internal static string StandardPath = Path.Combine("TestFiles", "StandardTests");
+        internal static string _Root = Path.Combine("XmlSchema", "TestFiles", "TestData");
+        internal static string StandardPath = Path.Combine("XmlSchema", "TestFiles", "StandardTests");
         internal static string _FileXSD1 = Path.Combine(_Root, "schema1.xsd");
         internal static string _FileXSD1bis = Path.Combine(_Root, "schema1bis.xsd");
         internal static string _NmspXSD1 = Path.Combine(_Root, "schema1.xsd");
index 6644369..d8cdfb0 100644 (file)
@@ -6,7 +6,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     public class TC_SchemaSet_Add_Reader : TC_SchemaSetBase
     {
index b349456..a92c0c0 100644 (file)
@@ -7,7 +7,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     public class TC_SchemaSet_Add_Schema : TC_SchemaSetBase
     {
index 3062729..8d65768 100644 (file)
@@ -6,7 +6,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     public class TC_SchemaSet_Add_SchemaSet : TC_SchemaSetBase
     {
index 72dd047..ba35331 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
 using System.IO;
 using System.Xml.Schema;
 using System.Xml.XPath;
+using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Add_URL", Desc = "")]
     public class TC_SchemaSet_Add_URL : TC_SchemaSetBase
index 8ed784b..2bed5cd 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_AllowXmlAttributes", Desc = "")]
     public class TC_SchemaSet_AllowXmlAttributes : TC_SchemaSetBase
@@ -163,106 +163,106 @@ namespace System.Xml.Tests
         //[Variation(Desc = "v6.1.1- Undeclared root, Particle has no reference to XML attributes,  instance has attributes from default XML namespace, allowXmlAttribute=false", Priority = 1, id = 47, Params = new object[] { "v7-1.xml", "v3.xsd", false, 1, 1, 1 })]
         [InlineData("v7-1.xml", "v3.xsd", false, 1, 1, 1)]
         /*
-         * * No XML namespace System.Xml.Tests in the SchemaSet
+         * * No XML namespace System.Xml.XmlSchemaTests in the SchemaSet
          */
-        //[Variation(Desc = "v5.1.8- No XML namespace System.Xml.Tests in the set, particle has no reference to XML attributes, instance has base and foo attributes from XML namespace, allowXmlAttribute=true", Priority = 1, id = 46, Params = new object[] { "v5-3.xml", "v3.xsd", true, 0, 1, 2 })]
+        //[Variation(Desc = "v5.1.8- No XML namespace System.Xml.XmlSchemaTests in the set, particle has no reference to XML attributes, instance has base and foo attributes from XML namespace, allowXmlAttribute=true", Priority = 1, id = 46, Params = new object[] { "v5-3.xml", "v3.xsd", true, 0, 1, 2 })]
         [InlineData("v5-3.xml", "v3.xsd", true, 0, 1, 2)]
-        //[Variation(Desc = "v5.1.7- No XML namespace System.Xml.Tests in the set, particle has no reference to XML attributes,  instance has base, and foo attributes from XML namespace, allowXmlAttribute=false", Priority = 1, id = 45, Params = new object[] { "v5-3.xml", "v3.xsd", false, 0, 2, 1 })]
+        //[Variation(Desc = "v5.1.7- No XML namespace System.Xml.XmlSchemaTests in the set, particle has no reference to XML attributes,  instance has base, and foo attributes from XML namespace, allowXmlAttribute=false", Priority = 1, id = 45, Params = new object[] { "v5-3.xml", "v3.xsd", false, 0, 2, 1 })]
         [InlineData("v5-3.xml", "v3.xsd", false, 0, 2, 1)]
-        //[Variation(Desc = "v5.1.6- No XML namespace System.Xml.Tests in the set, particle has no reference to XML attributes, instance has base and lang attributes from XML namespace, allowXmlAttribute=true", Priority = 1, id = 44, Params = new object[] { "v4-1.xml", "v3.xsd", true, 0, 0, 2 })]
+        //[Variation(Desc = "v5.1.6- No XML namespace System.Xml.XmlSchemaTests in the set, particle has no reference to XML attributes, instance has base and lang attributes from XML namespace, allowXmlAttribute=true", Priority = 1, id = 44, Params = new object[] { "v4-1.xml", "v3.xsd", true, 0, 0, 2 })]
         [InlineData("v4-1.xml", "v3.xsd", true, 0, 0, 2)]
-        //[Variation(Desc = "v5.1.5- No XML namespace System.Xml.Tests in the set, particle has no reference to XML attributes,  instance has base, and lang attributes from XML namespace, allowXmlAttribute=false", Priority = 1, id = 43, Params = new object[] { "v4-1.xml", "v3.xsd", false, 0, 2, 1 })]
+        //[Variation(Desc = "v5.1.5- No XML namespace System.Xml.XmlSchemaTests in the set, particle has no reference to XML attributes,  instance has base, and lang attributes from XML namespace, allowXmlAttribute=false", Priority = 1, id = 43, Params = new object[] { "v4-1.xml", "v3.xsd", false, 0, 2, 1 })]
         [InlineData("v4-1.xml", "v3.xsd", false, 0, 2, 1)]
-        //[Variation(Desc = "v5.1.4- No XML namespace System.Xml.Tests in the set, particle has no reference to XML attributes, instance has foo attribute from XML namespace, allowXmlAttribute=true", Priority = 1, id = 42, Params = new object[] { "v2-1.xml", "v3.xsd", true, 0, 1, 2 })]
+        //[Variation(Desc = "v5.1.4- No XML namespace System.Xml.XmlSchemaTests in the set, particle has no reference to XML attributes, instance has foo attribute from XML namespace, allowXmlAttribute=true", Priority = 1, id = 42, Params = new object[] { "v2-1.xml", "v3.xsd", true, 0, 1, 2 })]
         [InlineData("v2-1.xml", "v3.xsd", true, 0, 1, 2)]
-        //[Variation(Desc = "v5.1.3- No XML namespace System.Xml.Tests in the set, particle has no reference to XML attributes,  instance has foo attribute from XML namespace, allowXmlAttribute=false", Priority = 1, id = 41, Params = new object[] { "v2-1.xml", "v3.xsd", false, 0, 1, 1 })]
+        //[Variation(Desc = "v5.1.3- No XML namespace System.Xml.XmlSchemaTests in the set, particle has no reference to XML attributes,  instance has foo attribute from XML namespace, allowXmlAttribute=false", Priority = 1, id = 41, Params = new object[] { "v2-1.xml", "v3.xsd", false, 0, 1, 1 })]
         [InlineData("v2-1.xml", "v3.xsd", false, 0, 1, 1)]
-        //[Variation(Desc = "v5.1.2- No XML namespace System.Xml.Tests in the set, particle has no reference to XML attributes, instance has attributes from default XML namespace, allowXmlAttribute=true", Priority = 1, id = 40, Params = new object[] { "v1-1.xml", "v3.xsd", true, 0, 0, 2 })]
+        //[Variation(Desc = "v5.1.2- No XML namespace System.Xml.XmlSchemaTests in the set, particle has no reference to XML attributes, instance has attributes from default XML namespace, allowXmlAttribute=true", Priority = 1, id = 40, Params = new object[] { "v1-1.xml", "v3.xsd", true, 0, 0, 2 })]
         [InlineData("v1-1.xml", "v3.xsd", true, 0, 0, 2)]
-        //[Variation(Desc = "v5.1.1- No XML namespace System.Xml.Tests in the set, particle has no reference to XML attributes,  instance has attributes from default XML namespace, allowXmlAttribute=false", Priority = 1, id = 39, Params = new object[] { "v1-1.xml", "v3.xsd", false, 0, 1, 1 })]
+        //[Variation(Desc = "v5.1.1- No XML namespace System.Xml.XmlSchemaTests in the set, particle has no reference to XML attributes,  instance has attributes from default XML namespace, allowXmlAttribute=false", Priority = 1, id = 39, Params = new object[] { "v1-1.xml", "v3.xsd", false, 0, 1, 1 })]
         [InlineData("v1-1.xml", "v3.xsd", false, 0, 1, 1)]
         /*
-         * * Default XML namespace System.Xml.Tests in the SchemaSet
+         * * Default XML namespace System.Xml.XmlSchemaTests in the SchemaSet
          */
-        //[Variation(Desc = "v4.4.2- Default XML namespace System.Xml.Tests in the set which imports another, particle has reference to XML attributes, instance has invalid attributes, allowXmlAttribute=true", Priority = 1, id = 38, Params = new object[] { "v5-3.xml", "custom2.xsd", true, 0, 0, 3 })]
+        //[Variation(Desc = "v4.4.2- Default XML namespace System.Xml.XmlSchemaTests in the set which imports another, particle has reference to XML attributes, instance has invalid attributes, allowXmlAttribute=true", Priority = 1, id = 38, Params = new object[] { "v5-3.xml", "custom2.xsd", true, 0, 0, 3 })]
         [InlineData("v5-3.xml", "custom2.xsd", true, 0, 0, 3)]
-        //[Variation(Desc = "v4.4.1- Default XML namespace System.Xml.Tests in the set which imports another, particle has reference to XML attributes, instance has invalid attributes, allowXmlAttribute=false", Priority = 1, id = 37, Params = new object[] { "v5-3.xml", "custom2.xsd", false, 0, 1, 3 })]
+        //[Variation(Desc = "v4.4.1- Default XML namespace System.Xml.XmlSchemaTests in the set which imports another, particle has reference to XML attributes, instance has invalid attributes, allowXmlAttribute=false", Priority = 1, id = 37, Params = new object[] { "v5-3.xml", "custom2.xsd", false, 0, 1, 3 })]
         [InlineData("v5-3.xml", "custom2.xsd", false, 0, 1, 3)]
-        //[Variation(Desc = "v4.3.4- Default XML namespace System.Xml.Tests in the set via schemaLocation, particle has reference to XML attributes, instance has invalid attributes, allowXmlAttribute=true", Priority = 1, id = 36, Params = new object[] { "v5-4.xml", null, true, 0, 1, 2 })]
+        //[Variation(Desc = "v4.3.4- Default XML namespace System.Xml.XmlSchemaTests in the set via schemaLocation, particle has reference to XML attributes, instance has invalid attributes, allowXmlAttribute=true", Priority = 1, id = 36, Params = new object[] { "v5-4.xml", null, true, 0, 1, 2 })]
         [InlineData("v5-4.xml", null, true, 0, 1, 2)]
-        //[Variation(Desc = "v4.3.3- Default XML namespace System.Xml.Tests in the set via schemaLocation, particle has reference to XML attributes, instance has invalid attributes, allowXmlAttribute=false", Priority = 1, id = 35, Params = new object[] { "v5-4.xml", null, false, 0, 2, 2 })]
+        //[Variation(Desc = "v4.3.3- Default XML namespace System.Xml.XmlSchemaTests in the set via schemaLocation, particle has reference to XML attributes, instance has invalid attributes, allowXmlAttribute=false", Priority = 1, id = 35, Params = new object[] { "v5-4.xml", null, false, 0, 2, 2 })]
         [InlineData("v5-4.xml", null, false, 0, 2, 2)]
-        //[Variation(Desc = "v4.3.2- Default XML namespace System.Xml.Tests in the set, particle has reference to XML attributes, instance has invalid attributes, allowXmlAttribute=true", Priority = 1, id = 34, Params = new object[] { "v5-3.xml", "v4-1.xsd", true, 0, 1, 2 })]
+        //[Variation(Desc = "v4.3.2- Default XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to XML attributes, instance has invalid attributes, allowXmlAttribute=true", Priority = 1, id = 34, Params = new object[] { "v5-3.xml", "v4-1.xsd", true, 0, 1, 2 })]
         [InlineData("v5-3.xml", "v4-1.xsd", true, 0, 1, 2)]
-        //[Variation(Desc = "v4.3.1- Default XML namespace System.Xml.Tests in the set, particle has reference to XML attributes, instance has invalid attributes, allowXmlAttribute=false", Priority = 1, id = 33, Params = new object[] { "v5-3.xml", "v4-1.xsd", false, 0, 1, 2 })]
+        //[Variation(Desc = "v4.3.1- Default XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to XML attributes, instance has invalid attributes, allowXmlAttribute=false", Priority = 1, id = 33, Params = new object[] { "v5-3.xml", "v4-1.xsd", false, 0, 1, 2 })]
         [InlineData("v5-3.xml", "v4-1.xsd", false, 0, 1, 2)]
-        //[Variation(Desc = "v4.2.4- Default XML namespace System.Xml.Tests in the set via schemaLocation, particle has reference to XML attributes, instance has same attributes, allowXmlAttribute=true", Priority = 1, id = 32, Params = new object[] { "v5-2.xml", null, true, 0, 0, 2 })]
+        //[Variation(Desc = "v4.2.4- Default XML namespace System.Xml.XmlSchemaTests in the set via schemaLocation, particle has reference to XML attributes, instance has same attributes, allowXmlAttribute=true", Priority = 1, id = 32, Params = new object[] { "v5-2.xml", null, true, 0, 0, 2 })]
         [InlineData("v5-2.xml", null, true, 0, 0, 2)]
-        //[Variation(Desc = "v4.2.3- Default XML namespace System.Xml.Tests in the set via schemaLocation, particle has reference to XML attributes, instance has same attributes, allowXmlAttribute=false", Priority = 1, id = 31, Params = new object[] { "v5-2.xml", null, false, 0, 1, 2 })]
+        //[Variation(Desc = "v4.2.3- Default XML namespace System.Xml.XmlSchemaTests in the set via schemaLocation, particle has reference to XML attributes, instance has same attributes, allowXmlAttribute=false", Priority = 1, id = 31, Params = new object[] { "v5-2.xml", null, false, 0, 1, 2 })]
         [InlineData("v5-2.xml", null, false, 0, 1, 2)]
-        //[Variation(Desc = "v4.2.2- Default XML namespace System.Xml.Tests in the set, particle has reference to XML attributes, instance has same attributes, allowXmlAttribute=true", Priority = 1, id = 30, Params = new object[] { "v5-1.xml", "v4-1.xsd", true, 0, 0, 2 })]
+        //[Variation(Desc = "v4.2.2- Default XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to XML attributes, instance has same attributes, allowXmlAttribute=true", Priority = 1, id = 30, Params = new object[] { "v5-1.xml", "v4-1.xsd", true, 0, 0, 2 })]
         [InlineData("v5-1.xml", "v4-1.xsd", true, 0, 0, 2)]
-        //[Variation(Desc = "v4.2.1- Default XML namespace System.Xml.Tests in the set, particle has reference to XML attributes, instance has same attributes, allowXmlAttribute=false", Priority = 1, id = 29, Params = new object[] { "v5-1.xml", "v4-1.xsd", false, 0, 1, 2 })]
+        //[Variation(Desc = "v4.2.1- Default XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to XML attributes, instance has same attributes, allowXmlAttribute=false", Priority = 1, id = 29, Params = new object[] { "v5-1.xml", "v4-1.xsd", false, 0, 1, 2 })]
         [InlineData("v5-1.xml", "v4-1.xsd", false, 0, 1, 2)]
-        //[Variation(Desc = "v4.1.4- Default XML namespace System.Xml.Tests in the set via schemaLocation, particle has reference to custom attribute, allowXmlAttribute=true", Priority = 1, id = 28, Params = new object[] { "v4-2.xml", null, true, 0, 0, 2 })]
+        //[Variation(Desc = "v4.1.4- Default XML namespace System.Xml.XmlSchemaTests in the set via schemaLocation, particle has reference to custom attribute, allowXmlAttribute=true", Priority = 1, id = 28, Params = new object[] { "v4-2.xml", null, true, 0, 0, 2 })]
         [InlineData("v4-2.xml", null, true, 0, 0, 2)]
-        //[Variation(Desc = "v4.1.3- Default XML namespace System.Xml.Tests in the set via schemaLocation, particle has reference to custom attribute, allowXmlAttribute=false", Priority = 1, id = 27, Params = new object[] { "v4-2.xml", null, false, 0, 0, 2 })]
+        //[Variation(Desc = "v4.1.3- Default XML namespace System.Xml.XmlSchemaTests in the set via schemaLocation, particle has reference to custom attribute, allowXmlAttribute=false", Priority = 1, id = 27, Params = new object[] { "v4-2.xml", null, false, 0, 0, 2 })]
         [InlineData("v4-2.xml", null, false, 0, 0, 2)]
-        //[Variation(Desc = "v4.1.2- Default XML namespace System.Xml.Tests in the set, particle has reference to custom attribute, allowXmlAttribute=true", Priority = 1, id = 26, Params = new object[] { "v4-1.xml", "v4-1.xsd", true, 0, 0, 2 })]
+        //[Variation(Desc = "v4.1.2- Default XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to custom attribute, allowXmlAttribute=true", Priority = 1, id = 26, Params = new object[] { "v4-1.xml", "v4-1.xsd", true, 0, 0, 2 })]
         [InlineData("v4-1.xml", "v4-1.xsd", true, 0, 0, 2)]
-        //[Variation(Desc = "v4.1.1- Default XML namespace System.Xml.Tests in the set, particle has reference to custom attribute, allowXmlAttribute=false", Priority = 1, id = 25, Params = new object[] { "v4-1.xml", "v4-1.xsd", false, 0, 0, 2 })]
+        //[Variation(Desc = "v4.1.1- Default XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to custom attribute, allowXmlAttribute=false", Priority = 1, id = 25, Params = new object[] { "v4-1.xml", "v4-1.xsd", false, 0, 0, 2 })]
         [InlineData("v4-1.xml", "v4-1.xsd", false, 0, 0, 2)]
         /*
-         * * Custom XML namespace System.Xml.Tests in the SchemaSet
+         * * Custom XML namespace System.Xml.XmlSchemaTests in the SchemaSet
          */
 
-        //[Variation(Desc = "v3.2.4- Custom XML namespace System.Xml.Tests in the set which imports another, particle has reference to custom attribute, instance has that attribute invalid custom attribute with schemalocation, allowXmlAttribute=true", Priority = 1, id = 24, Params = new object[] { "v3-3.xml", null, true, 0, 1, 3 })]
+        //[Variation(Desc = "v3.2.4- Custom XML namespace System.Xml.XmlSchemaTests in the set which imports another, particle has reference to custom attribute, instance has that attribute invalid custom attribute with schemalocation, allowXmlAttribute=true", Priority = 1, id = 24, Params = new object[] { "v3-3.xml", null, true, 0, 1, 3 })]
         [InlineData("v3-3.xml", null, true, 0, 1, 3)]
-        //[Variation(Desc = "v3.2.3- Custom XML namespace System.Xml.Tests in the set which imports another, particle has reference to custom attribute, instance has that attribute invalid custom attribute with schemalocation, allowXmlAttribute=false", Priority = 1, id = 23, Params = new object[] { "v3-3.xml", null, false, 0, 1, 3 })]
+        //[Variation(Desc = "v3.2.3- Custom XML namespace System.Xml.XmlSchemaTests in the set which imports another, particle has reference to custom attribute, instance has that attribute invalid custom attribute with schemalocation, allowXmlAttribute=false", Priority = 1, id = 23, Params = new object[] { "v3-3.xml", null, false, 0, 1, 3 })]
         [InlineData("v3-3.xml", null, false, 0, 1, 3)]
-        //[Variation(Desc = "v3.2.2- Custom XML namespace System.Xml.Tests in the set which imports another, particle has reference to custom attribute, instance has invalid custom attribute, allowXmlAttribute=true", Priority = 1, id = 22, Params = new object[] { "v3-1.xml", "custom2.xsd", true, 0, 1, 3 })]
+        //[Variation(Desc = "v3.2.2- Custom XML namespace System.Xml.XmlSchemaTests in the set which imports another, particle has reference to custom attribute, instance has invalid custom attribute, allowXmlAttribute=true", Priority = 1, id = 22, Params = new object[] { "v3-1.xml", "custom2.xsd", true, 0, 1, 3 })]
         [InlineData("v3-1.xml", "custom2.xsd", true, 0, 1, 3)]
-        //[Variation(Desc = "v3.2.1- Custom XML namespace System.Xml.Tests in the set which imports another, particle has reference to custom attribute, instance has invalid custom attribute, allowXmlAttribute=false", Priority = 1, id = 21, Params = new object[] { "v3-1.xml", "custom2.xsd", false, 0, 1, 3 })]
+        //[Variation(Desc = "v3.2.1- Custom XML namespace System.Xml.XmlSchemaTests in the set which imports another, particle has reference to custom attribute, instance has invalid custom attribute, allowXmlAttribute=false", Priority = 1, id = 21, Params = new object[] { "v3-1.xml", "custom2.xsd", false, 0, 1, 3 })]
         [InlineData("v3-1.xml", "custom2.xsd", false, 0, 1, 3)]
-        //[Variation(Desc = "v3.1.4- Custom XML namespace System.Xml.Tests in the set, particle has reference to custom attribute, instance has that attribute invalid custom attribute with schemalocation, allowXmlAttribute=true", Priority = 1, id = 20, Params = new object[] { "v3-2.xml", null, true, 0, 1, 2 })]
+        //[Variation(Desc = "v3.1.4- Custom XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to custom attribute, instance has that attribute invalid custom attribute with schemalocation, allowXmlAttribute=true", Priority = 1, id = 20, Params = new object[] { "v3-2.xml", null, true, 0, 1, 2 })]
         [InlineData("v3-2.xml", null, true, 0, 1, 2)]
-        //[Variation(Desc = "v3.1.3- Custom XML namespace System.Xml.Tests in the set, particle has reference to custom attribute, instance has that attribute invalid custom attribute with schemalocation, allowXmlAttribute=false", Priority = 1, id = 19, Params = new object[] { "v3-2.xml", null, false, 0, 1, 2 })]
+        //[Variation(Desc = "v3.1.3- Custom XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to custom attribute, instance has that attribute invalid custom attribute with schemalocation, allowXmlAttribute=false", Priority = 1, id = 19, Params = new object[] { "v3-2.xml", null, false, 0, 1, 2 })]
         [InlineData("v3-2.xml", null, false, 0, 1, 2)]
-        //[Variation(Desc = "v3.1.2- Custom XML namespace System.Xml.Tests in the set, particle has reference to custom attribute, instance has invalid custom attribute, allowXmlAttribute=true", Priority = 1, id = 18, Params = new object[] { "v3-1.xml", "v1.xsd", true, 0, 1, 2 })]
+        //[Variation(Desc = "v3.1.2- Custom XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to custom attribute, instance has invalid custom attribute, allowXmlAttribute=true", Priority = 1, id = 18, Params = new object[] { "v3-1.xml", "v1.xsd", true, 0, 1, 2 })]
         [InlineData("v3-1.xml", "v1.xsd", true, 0, 1, 2)]
-        //[Variation(Desc = "v3.1.1- Custom XML namespace System.Xml.Tests in the set, particle has reference to custom attribute, instance has invalid custom attribute, allowXmlAttribute=false", Priority = 1, id = 17, Params = new object[] { "v3-1.xml", "v1.xsd", false, 0, 1, 2 })]
+        //[Variation(Desc = "v3.1.1- Custom XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to custom attribute, instance has invalid custom attribute, allowXmlAttribute=false", Priority = 1, id = 17, Params = new object[] { "v3-1.xml", "v1.xsd", false, 0, 1, 2 })]
         [InlineData("v3-1.xml", "v1.xsd", false, 0, 1, 2)]
-        //[Variation(Desc = "v2.2.4- Custom XML namespace System.Xml.Tests in the set which imports another, particle has reference to custom attribute, instance has that attribute with schemalocation, allowXmlAttribute=true", Priority = 1, id = 16, Params = new object[] { "v2-3.xml", null, true, 0, 0, 3 })]
+        //[Variation(Desc = "v2.2.4- Custom XML namespace System.Xml.XmlSchemaTests in the set which imports another, particle has reference to custom attribute, instance has that attribute with schemalocation, allowXmlAttribute=true", Priority = 1, id = 16, Params = new object[] { "v2-3.xml", null, true, 0, 0, 3 })]
         [InlineData("v2-3.xml", null, true, 0, 0, 3)]
-        //[Variation(Desc = "v2.2.3- Custom XML namespace System.Xml.Tests in the set which imports another, particle has reference to custom attribute, instance has that attribute with schemalocation, allowXmlAttribute=false", Priority = 1, id = 15, Params = new object[] { "v2-3.xml", null, false, 0, 0, 3 })]
+        //[Variation(Desc = "v2.2.3- Custom XML namespace System.Xml.XmlSchemaTests in the set which imports another, particle has reference to custom attribute, instance has that attribute with schemalocation, allowXmlAttribute=false", Priority = 1, id = 15, Params = new object[] { "v2-3.xml", null, false, 0, 0, 3 })]
         [InlineData("v2-3.xml", null, false, 0, 0, 3)]
-        //[Variation(Desc = "v2.2.2- Custom XML namespace System.Xml.Tests in the set which imports another, particle has reference to custom attribute, instance has that attribute, allowXmlAttribute=true", Priority = 1, id = 14, Params = new object[] { "v2-1.xml", "custom2.xsd", true, 0, 0, 3 })]
+        //[Variation(Desc = "v2.2.2- Custom XML namespace System.Xml.XmlSchemaTests in the set which imports another, particle has reference to custom attribute, instance has that attribute, allowXmlAttribute=true", Priority = 1, id = 14, Params = new object[] { "v2-1.xml", "custom2.xsd", true, 0, 0, 3 })]
         [InlineData("v2-1.xml", "custom2.xsd", true, 0, 0, 3)]
-        //[Variation(Desc = "v2.2.1- Custom XML namespace System.Xml.Tests in the set which imports another, particle has reference to custom attribute, instance has that attribute, allowXmlAttribute=false", Priority = 1, id = 13, Params = new object[] { "v2-1.xml", "custom2.xsd", false, 0, 0, 3 })]
+        //[Variation(Desc = "v2.2.1- Custom XML namespace System.Xml.XmlSchemaTests in the set which imports another, particle has reference to custom attribute, instance has that attribute, allowXmlAttribute=false", Priority = 1, id = 13, Params = new object[] { "v2-1.xml", "custom2.xsd", false, 0, 0, 3 })]
         [InlineData("v2-1.xml", "custom2.xsd", false, 0, 0, 3)]
-        //[Variation(Desc = "v2.1.4- Custom XML namespace System.Xml.Tests in the set, particle has reference to custom attribute, instance has that attribute with schemalocation, allowXmlAttribute=true", Priority = 1, id = 12, Params = new object[] { "v2-2.xml", null, true, 0, 0, 2 })]
+        //[Variation(Desc = "v2.1.4- Custom XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to custom attribute, instance has that attribute with schemalocation, allowXmlAttribute=true", Priority = 1, id = 12, Params = new object[] { "v2-2.xml", null, true, 0, 0, 2 })]
         [InlineData("v2-2.xml", null, true, 0, 0, 2)]
-        //[Variation(Desc = "v2.1.3- Custom XML namespace System.Xml.Tests in the set, particle has reference to custom attribute, instance has that attribute with schemalocation, allowXmlAttribute=false", Priority = 1, id = 11, Params = new object[] { "v2-2.xml", null, false, 0, 0, 2 })]
+        //[Variation(Desc = "v2.1.3- Custom XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to custom attribute, instance has that attribute with schemalocation, allowXmlAttribute=false", Priority = 1, id = 11, Params = new object[] { "v2-2.xml", null, false, 0, 0, 2 })]
         [InlineData("v2-2.xml", null, false, 0, 0, 2)]
-        //[Variation(Desc = "v2.1.2- Custom XML namespace System.Xml.Tests in the set, particle has reference to custom attribute, instance has that attribute, allowXmlAttribute=true", Priority = 1, id = 10, Params = new object[] { "v2-1.xml", "v1.xsd", true, 0, 0, 2 })]
+        //[Variation(Desc = "v2.1.2- Custom XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to custom attribute, instance has that attribute, allowXmlAttribute=true", Priority = 1, id = 10, Params = new object[] { "v2-1.xml", "v1.xsd", true, 0, 0, 2 })]
         [InlineData("v2-1.xml", "v1.xsd", true, 0, 0, 2)]
-        //[Variation(Desc = "v2.1.1- Custom XML namespace System.Xml.Tests in the set, particle has reference to custom attribute, instance has that attribute, allowXmlAttribute=false", Priority = 1, id = 9, Params = new object[] { "v2-1.xml", "v1.xsd", false, 0, 0, 2 })]
+        //[Variation(Desc = "v2.1.1- Custom XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to custom attribute, instance has that attribute, allowXmlAttribute=false", Priority = 1, id = 9, Params = new object[] { "v2-1.xml", "v1.xsd", false, 0, 0, 2 })]
         [InlineData("v2-1.xml", "v1.xsd", false, 0, 0, 2)]
-        //[Variation(Desc = "v1.2.4- Custom XML namespace System.Xml.Tests in the set importing another schema through schemaLocation, particle has reference to custom attribute, allowXmlAttribute=true", id = 8, Priority = 1, Params = new object[] { "v1-3.xml", null, true, 0, 0, 3 })]
+        //[Variation(Desc = "v1.2.4- Custom XML namespace System.Xml.XmlSchemaTests in the set importing another schema through schemaLocation, particle has reference to custom attribute, allowXmlAttribute=true", id = 8, Priority = 1, Params = new object[] { "v1-3.xml", null, true, 0, 0, 3 })]
         [InlineData("v1-3.xml", null, true, 0, 0, 3)]
-        //[Variation(Desc = "v1.2.3- Custom XML namespace System.Xml.Tests in the set importing another schema through schemaLocation, particle has reference to custom attribute, allowXmlAttribute=false", id = 7, Priority = 1, Params = new object[] { "v1-3.xml", null, false, 0, 1, 3 })]
+        //[Variation(Desc = "v1.2.3- Custom XML namespace System.Xml.XmlSchemaTests in the set importing another schema through schemaLocation, particle has reference to custom attribute, allowXmlAttribute=false", id = 7, Priority = 1, Params = new object[] { "v1-3.xml", null, false, 0, 1, 3 })]
         [InlineData("v1-3.xml", null, false, 0, 1, 3)]
-        //[Variation(Desc = "v1.2.2- Custom XML namespace System.Xml.Tests in the set importing another schema, particle has reference to custom attribute, allowXmlAttribute=true", Priority = 1, id = 6, Params = new object[] { "v1-1.xml", "custom2.xsd", true, 0, 0, 3 })]
+        //[Variation(Desc = "v1.2.2- Custom XML namespace System.Xml.XmlSchemaTests in the set importing another schema, particle has reference to custom attribute, allowXmlAttribute=true", Priority = 1, id = 6, Params = new object[] { "v1-1.xml", "custom2.xsd", true, 0, 0, 3 })]
         [InlineData("v1-1.xml", "custom2.xsd", true, 0, 0, 3)]
-        //[Variation(Desc = "v1.2.1- Custom XML namespace System.Xml.Tests in the set importing another schema, particle has reference to custom attribute, allowXmlAttribute=false", Priority = 1, id = 5, Params = new object[] { "v1-1.xml", "custom2.xsd", false, 0, 1, 3 })]
+        //[Variation(Desc = "v1.2.1- Custom XML namespace System.Xml.XmlSchemaTests in the set importing another schema, particle has reference to custom attribute, allowXmlAttribute=false", Priority = 1, id = 5, Params = new object[] { "v1-1.xml", "custom2.xsd", false, 0, 1, 3 })]
         [InlineData("v1-1.xml", "custom2.xsd", false, 0, 1, 3)]
-        //[Variation(Desc = "v1.1.4- Custom XML namespace System.Xml.Tests in the set via schemaLocation, particle has reference to custom attribute, allowXmlAttribute=true", Priority = 1, id = 4, Params = new object[] { "v1-2.xml", "v1.xsd", true, 0, 0, 2 })]
+        //[Variation(Desc = "v1.1.4- Custom XML namespace System.Xml.XmlSchemaTests in the set via schemaLocation, particle has reference to custom attribute, allowXmlAttribute=true", Priority = 1, id = 4, Params = new object[] { "v1-2.xml", "v1.xsd", true, 0, 0, 2 })]
         [InlineData("v1-2.xml", "v1.xsd", true, 0, 0, 2)]
-        //[Variation(Desc = "v1.1.3- Custom XML namespace System.Xml.Tests in the set via schemaLocation, particle has reference to custom attribute, allowXmlAttribute=false", Priority = 1, id = 3, Params = new object[] { "v1-2.xml", "v1.xsd", false, 0, 1, 2 })]
+        //[Variation(Desc = "v1.1.3- Custom XML namespace System.Xml.XmlSchemaTests in the set via schemaLocation, particle has reference to custom attribute, allowXmlAttribute=false", Priority = 1, id = 3, Params = new object[] { "v1-2.xml", "v1.xsd", false, 0, 1, 2 })]
         [InlineData("v1-2.xml", "v1.xsd", false, 0, 1, 2)]
-        //[Variation(Desc = "v1.1.2- Custom XML namespace System.Xml.Tests in the set, particle has reference to custom attribute, allowXmlAttribute=true", Priority = 1, id = 2, Params = new object[] { "v1-1.xml", "v1.xsd", true, 0, 0, 2 })]
+        //[Variation(Desc = "v1.1.2- Custom XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to custom attribute, allowXmlAttribute=true", Priority = 1, id = 2, Params = new object[] { "v1-1.xml", "v1.xsd", true, 0, 0, 2 })]
         [InlineData("v1-1.xml", "v1.xsd", true, 0, 0, 2)]
-        //[Variation(Desc = "v1.1.1- Custom XML namespace System.Xml.Tests in the set, particle has reference to custom attribute, allowXmlAttribute=false", Priority = 1, id = 1, Params = new object[] { "v1-1.xml", "v1.xsd", false, 0, 1, 2 })]
+        //[Variation(Desc = "v1.1.1- Custom XML namespace System.Xml.XmlSchemaTests in the set, particle has reference to custom attribute, allowXmlAttribute=false", Priority = 1, id = 1, Params = new object[] { "v1-1.xml", "v1.xsd", false, 0, 1, 2 })]
         [InlineData("v1-1.xml", "v1.xsd", false, 0, 1, 2)]
         public void v1(string xmlFile, string xsdFile, bool allowXmlAttributes, int expectedWarningCount, int expectedErrorCount, int expectedSchemaSetCount)
         {
index 87401ed..007bb6b 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Linq;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     public class TC_SchemaSet_AnyAttribute : TC_SchemaSetBase
     {
index 98dbac2..7eaffe6 100644 (file)
@@ -1,14 +1,14 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
-using System.IO;
-using System.Xml.Schema;
 using System.Collections.Generic;
+using System.IO;
 using System.Text;
+using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Compile", Desc = "", Priority = 0)]
     public class TC_SchemaSet_Compile : TC_SchemaSetBase
index 7fb7122..8474777 100644 (file)
@@ -1,11 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
-using System.Xml.Schema;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Constructors", Desc = "", Priority = 0)]
     public class TC_SchemaSet_Constructors : TC_SchemaSetBase
index 6e995e9..69c770e 100644 (file)
@@ -1,11 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
-using System.Xml.Schema;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Contains_ns", Desc = "")]
     public class TC_SchemaSet_Contains_ns : TC_SchemaSetBase
index a6c2500..94f67e3 100644 (file)
@@ -1,11 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
-using System.Xml.Schema;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Contains_Schema", Desc = "")]
     public class TC_SchemaSet_Contains_Schema : TC_SchemaSetBase
index 9327b7c..823a5b9 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.Collections;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_CopyTo", Desc = "")]
     public class TC_SchemaSet_CopyTo : TC_SchemaSetBase
index 6d053ba..4595023 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Count", Desc = "", Priority = 0)]
     public class TC_SchemaSet_Count : TC_SchemaSetBase
index cf2da29..5de2bea 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_EnableUpaCheck", Desc = "")]
     public class TC_SchemaSet_EnableUpaCheck : TC_SchemaSetBase
index ca8045f..bab6227 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_GlobalAttributes", Desc = "")]
     public class TC_SchemaSet_GlobalAttributes : TC_SchemaSetBase
index 7f974d2..adb01fe 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_GlobalElements", Desc = "")]
     public class TC_SchemaSet_GlobalElements : TC_SchemaSetBase
index c4d0999..b18382d 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_GlobalTypes", Desc = "")]
     public class TC_SchemaSet_GlobalTypes : TC_SchemaSetBase
index 40216cf..21aa1bc 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Imports", Desc = "")]
     public class TC_SchemaSet_Imports : TC_SchemaSetBase
index 124e03a..762f4ca 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Includes", Desc = "")]
     public class TC_SchemaSet_Includes : TC_SchemaSetBase
index 40b101b..976103a 100644 (file)
@@ -1,11 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
-using System.Xml.Schema;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_IsCompiled", Desc = "")]
     public class TC_SchemaSet_IsCompiled : TC_SchemaSetBase
index 02cba86..5bd839f 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
 using System.Xml.XPath;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Misc", Desc = "")]
     public class TC_SchemaSet_Misc : TC_SchemaSetBase
@@ -115,27 +115,27 @@ namespace System.Xml.Tests
             return;
         }
 
-        /* Parameters = file name , is custom xml namespace System.Xml.Tests */
+        /* Parameters = file name , is custom xml namespace System.Xml.XmlSchemaTests */
 
-        //[Variation(Desc = "v20 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.Tests", Priority = 1, Params = new object[] { "bug264908_v10.xsd", 2, false })]
+        //[Variation(Desc = "v20 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.XmlSchemaTests", Priority = 1, Params = new object[] { "bug264908_v10.xsd", 2, false })]
         [InlineData("bug264908_v10.xsd", 2, false)]
-        //[Variation(Desc = "v19 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.Tests", Priority = 1, Params = new object[] { "bug264908_v9.xsd", 5, true })]
+        //[Variation(Desc = "v19 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.XmlSchemaTests", Priority = 1, Params = new object[] { "bug264908_v9.xsd", 5, true })]
         [InlineData("bug264908_v9.xsd", 5, true)]
-        //[Variation(Desc = "v18 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.Tests", Priority = 1, Params = new object[] { "bug264908_v8.xsd", 5, false })]
+        //[Variation(Desc = "v18 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.XmlSchemaTests", Priority = 1, Params = new object[] { "bug264908_v8.xsd", 5, false })]
         [InlineData("bug264908_v8.xsd", 5, false)]
-        //[Variation(Desc = "v17 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.Tests", Priority = 1, Params = new object[] { "bug264908_v7.xsd", 4, false })]
+        //[Variation(Desc = "v17 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.XmlSchemaTests", Priority = 1, Params = new object[] { "bug264908_v7.xsd", 4, false })]
         [InlineData("bug264908_v7.xsd", 4, false)]
-        //[Variation(Desc = "v16 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.Tests", Priority = 1, Params = new object[] { "bug264908_v6.xsd", 4, true })]
+        //[Variation(Desc = "v16 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.XmlSchemaTests", Priority = 1, Params = new object[] { "bug264908_v6.xsd", 4, true })]
         [InlineData("bug264908_v6.xsd", 4, true)]
-        //[Variation(Desc = "v15 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.Tests", Priority = 1, Params = new object[] { "bug264908_v5.xsd", 4, false })]
+        //[Variation(Desc = "v15 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.XmlSchemaTests", Priority = 1, Params = new object[] { "bug264908_v5.xsd", 4, false })]
         [InlineData("bug264908_v5.xsd", 4, false)]
-        //[Variation(Desc = "v14 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.Tests", Priority = 1, Params = new object[] { "bug264908_v4.xsd", 4, true })]
+        //[Variation(Desc = "v14 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.XmlSchemaTests", Priority = 1, Params = new object[] { "bug264908_v4.xsd", 4, true })]
         [InlineData("bug264908_v4.xsd", 4, true)]
-        //[Variation(Desc = "v13 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.Tests", Priority = 1, Params = new object[] { "bug264908_v3.xsd", 1, true })]
+        //[Variation(Desc = "v13 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.XmlSchemaTests", Priority = 1, Params = new object[] { "bug264908_v3.xsd", 1, true })]
         [InlineData("bug264908_v3.xsd", 1, true)]
-        //[Variation(Desc = "v12 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.Tests", Priority = 1, Params = new object[] { "bug264908_v2.xsd", 1, true })]
+        //[Variation(Desc = "v12 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.XmlSchemaTests", Priority = 1, Params = new object[] { "bug264908_v2.xsd", 1, true })]
         [InlineData("bug264908_v2.xsd", 1, true)]
-        //[Variation(Desc = "v11 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.Tests", Priority = 1, Params = new object[] { "bug264908_v1.xsd", 3, true })]
+        //[Variation(Desc = "v11 - DCR 264908 - XSD: Support user specified schema for http://www.w3.org/XML/1998/namespace System.Xml.XmlSchemaTests", Priority = 1, Params = new object[] { "bug264908_v1.xsd", 3, true })]
         [InlineData("bug264908_v1.xsd", 3, true)]
         [Theory]
         public void v10(object param0, object param1, object param2)
@@ -219,7 +219,7 @@ namespace System.Xml.Tests
             Assert.True(false);
         }
 
-        //[Variation(Desc = "v23 - Bug 338038 - Conflicting components in custome xml namespace System.Xml.Tests be caught", Priority = 1)]
+        //[Variation(Desc = "v23 - Bug 338038 - Conflicting components in custome xml namespace System.Xml.XmlSchemaTests be caught", Priority = 1)]
         [Fact]
         public void v22()
         {
@@ -242,7 +242,7 @@ namespace System.Xml.Tests
             Assert.True(false);
         }
 
-        //[Variation(Desc = "v24 - Bug 338038 - Change type of xml:lang to decimal in custome xml namespace System.Xml.Tests", Priority = 1)]
+        //[Variation(Desc = "v24 - Bug 338038 - Change type of xml:lang to decimal in custome xml namespace System.Xml.XmlSchemaTests", Priority = 1)]
         [Fact]
         public void v24()
         {
@@ -324,7 +324,7 @@ namespace System.Xml.Tests
             return;
         }
 
-        //[Variation(Desc = "v27 - Bug 338038 - Add new attributes to the already present xml namespace System.Xml.Tests", Priority = 1)]
+        //[Variation(Desc = "v27 - Bug 338038 - Add new attributes to the already present xml namespace System.Xml.XmlSchemaTests", Priority = 1)]
         [Fact]
         public void v27()
         {
@@ -348,7 +348,7 @@ namespace System.Xml.Tests
             return;
         }
 
-        //[Variation(Desc = "v28 - Bug 338038 - Add new attributes to the already present xml namespace System.Xml.Tests, remove default ns schema", Priority = 1)]
+        //[Variation(Desc = "v28 - Bug 338038 - Add new attributes to the already present xml namespace System.Xml.XmlSchemaTests, remove default ns schema", Priority = 1)]
         [Fact]
         public void v28()
         {
@@ -504,7 +504,7 @@ namespace System.Xml.Tests
             return;
         }
 
-        //[Variation(Desc = "v103 - Reference to a component from no namespace System.Xml.Tests an explicit import of no namespace System.Xml.Tests throw a validation warning", Priority = 1)]
+        //[Variation(Desc = "v103 - Reference to a component from no namespace System.Xml.XmlSchemaTests an explicit import of no namespace System.Xml.XmlSchemaTests throw a validation warning", Priority = 1)]
         [Fact]
         public void v105()
         {
index 4bd6f18..c9844ef 100644 (file)
@@ -1,13 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
-using System.Xml.XPath;
+using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     public class TC_SchemaSet_NmTokens : TC_SchemaSetBase
     {
index 2d2cd2a..c9406b6 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_ProhibitDTD", Desc = "")]
     public class TC_SchemaSet_ProhibitDTD : TC_SchemaSetBase
index 4202680..b8b0533 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
-using System.IO;
 using System.Collections;
+using System.IO;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Remove", Desc = "")]
     public class TC_SchemaSet_Remove : TC_SchemaSetBase
index 8cca8dc..76b9c77 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
-using System.IO;
 using System.Collections;
+using System.IO;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_RemoveRecursive", Desc = "")]
     public class TC_SchemaSet_RemoveRecursive : TC_SchemaSetBase
index e6a929c..96ac8ec 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Reprocess", Desc = "", Priority = 1)]
     public class TC_SchemaSet_Reprocess : TC_SchemaSetBase
index 446fb4b..9adef2d 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.Collections;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Schemas", Desc = "")]
     public class TC_SchemaSet_Schemas : TC_SchemaSetBase
index aeca9d7..87f4437 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.Collections;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_Schemas_ns", Desc = "")]
     public class TC_SchemaSet_Schemas_ns : TC_SchemaSetBase
index 31280a3..1516163 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.Collections;
 using System.Xml.Schema;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_ValidationEventHandler", Desc = "")]
     public class TC_SchemaSet_ValidationEventHandler : TC_SchemaSetBase
index d47d97e..f4d8a70 100644 (file)
@@ -1,11 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
+using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
-using System.Xml.Schema;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_XmlNameTable", Desc = "")]
     public class TC_SchemaSet_XmlNameTable : TC_SchemaSetBase
index c8c7bff..c2872fa 100644 (file)
@@ -1,49 +1,16 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Schema;
+using System.Xml.Tests;
+using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaTests
 {
     //[TestCase(Name = "TC_SchemaSet_XmlResolver", Desc = "")]
     public class TC_SchemaSet_XmlResolver : TC_SchemaSetBase
     {
-        private ITestOutputHelper _output;
-
-        public TC_SchemaSet_XmlResolver(ITestOutputHelper output)
-        {
-            _output = output;
-        }
-
-        public bool bWarningCallback;
-
-        public bool bErrorCallback;
-
-        private void Initialize()
-        {
-            bWarningCallback = bErrorCallback = false;
-        }
-
-        //hook up validaton callback
-        private void ValidationCallback(object sender, ValidationEventArgs args)
-        {
-            if (args.Severity == XmlSeverityType.Warning)
-            {
-                _output.WriteLine("WARNING: ");
-                bWarningCallback = true;
-            }
-            else if (args.Severity == XmlSeverityType.Error)
-            {
-                _output.WriteLine("ERROR: ");
-                bErrorCallback = true;
-            }
-
-            _output.WriteLine(args.Message); // Print the error to the screen.
-        }
-
         //-----------------------------------------------------------------------------------
         //[Variation(Desc = "v1 - Resolver=NULL, add with URL", Priority = 1)]
         [Fact]
@@ -52,7 +19,7 @@ namespace System.Xml.Tests
             try
             {
                 XmlSchemaSet sc = new XmlSchemaSet();
-                sc.ValidationEventHandler += new ValidationEventHandler(ValidationCallback);
+                sc.ValidationEventHandler += new ValidationEventHandler((s, args) => { });
                 sc.XmlResolver = null;
                 XmlSchema Schema = sc.Add(null, Path.Combine(TestData._Root, "XmlResolver", "File", "simpledtd.xml"));
             }
@@ -69,11 +36,10 @@ namespace System.Xml.Tests
         public void v2()
         {
             XmlSchemaSet sc = new XmlSchemaSet();
-            sc.ValidationEventHandler += new ValidationEventHandler(ValidationCallback);
+            sc.ValidationEventHandler += new ValidationEventHandler((s, args) => { });
             sc.XmlResolver = null;
             sc.Add(null, Path.Combine(TestData._Root, "xmlresolver_v2.xsd"));
             CError.Compare(sc.Count, 1, "SchemaSet count");
-            return;
         }
 
         //[Variation(Desc = "v3 - Resolver=Default, add schema which imports schema on internet", Priority = 1)]
@@ -81,10 +47,9 @@ namespace System.Xml.Tests
         public void v3()
         {
             XmlSchemaSet sc = new XmlSchemaSet();
-            sc.ValidationEventHandler += new ValidationEventHandler(ValidationCallback);
+            sc.ValidationEventHandler += new ValidationEventHandler((s, args) => { });
             sc.Add(null, Path.Combine(TestData._Root, "xmlresolver_v2.xsd"));
             CError.Compare(sc.Count, 1, "SchemaSet count");
-            return;
         }
 
         //[Variation(Desc = "v4 - schema(Local)->schema(Local)", Priority = 1)]
@@ -92,15 +57,15 @@ namespace System.Xml.Tests
         [ActiveIssue("https://github.com/dotnet/runtime/issues/75183", TestPlatforms.Browser)]
         public void v4()
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            Initialize();
-            XmlSchemaSet sc = new XmlSchemaSet();
-            sc.ValidationEventHandler += new ValidationEventHandler(ValidationCallback);
-            sc.Add(null, Path.Combine(TestData._Root, "xmlresolver_v4.xsd"));
-            CError.Compare(sc.Count, 2, "SchemaSet count");
-            CError.Compare(bWarningCallback, false, "Warning thrown");
-            return;
+            using (new AllowDefaultResolverContext())
+            {
+                bool warningCallback = false;
+                XmlSchemaSet sc = new XmlSchemaSet();
+                sc.ValidationEventHandler += new ValidationEventHandler((s, args) => warningCallback |= args.Severity == XmlSeverityType.Warning);
+                sc.Add(null, Path.Combine(TestData._Root, "xmlresolver_v4.xsd"));
+                CError.Compare(sc.Count, 2, "SchemaSet count");
+                CError.Compare(warningCallback, false, "Warning thrown");
+            }
         }
 
         //[Variation(Desc = "v5 - schema(Local)->schema(Local)->schema(Local)", Priority = 1)]
@@ -108,31 +73,27 @@ namespace System.Xml.Tests
         [ActiveIssue("https://github.com/dotnet/runtime/issues/75183", TestPlatforms.Browser)]
         public void v5()
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            Initialize();
-            XmlSchemaSet sc = new XmlSchemaSet();
-            sc.ValidationEventHandler += new ValidationEventHandler(ValidationCallback);
-            sc.Add(null, Path.Combine(TestData._Root, "xmlresolver_v5.xsd"));
-            CError.Compare(sc.Count, 3, "SchemaSet count");
-            CError.Compare(bWarningCallback, false, "Warning not thrown");
-            return;
+            using (new AllowDefaultResolverContext())
+            {
+                bool warningCallback = false;
+                XmlSchemaSet sc = new XmlSchemaSet();
+                sc.ValidationEventHandler += new ValidationEventHandler((s, args) => warningCallback |= args.Severity == XmlSeverityType.Warning);
+                sc.Add(null, Path.Combine(TestData._Root, "xmlresolver_v5.xsd"));
+                CError.Compare(sc.Count, 3, "SchemaSet count");
+                CError.Compare(warningCallback, false, "Warning not thrown");
+            }
         }
 
         //[Variation(Desc = "v6 - schema(Local)->schema(Local), but resolving external URI is not allowed", Priority = 1)]
         [Fact]
         public void v6()
         {
-            // Make sure the switch has its default value
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", false);
-
-            Initialize();
+            bool warningCallback = false;
             XmlSchemaSet sc = new XmlSchemaSet();
-            sc.ValidationEventHandler += new ValidationEventHandler(ValidationCallback);
+            sc.ValidationEventHandler += new ValidationEventHandler((s, args) => warningCallback |= args.Severity == XmlSeverityType.Warning);
             sc.Add(null, Path.Combine(TestData._Root, "xmlresolver_v4.xsd"));
             CError.Compare(sc.Count, 1, "SchemaSet count");
-            CError.Compare(bWarningCallback, false, "Warning thrown");
-            return;
+            CError.Compare(warningCallback, false, "Warning thrown");
         }
     }
 }
index 55d32e7..d8785ba 100644 (file)
@@ -1,7 +1,7 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     // CalledResolveUri Event Args
     public sealed class CalledResolveUriEventArgs : XmlTestResolverEventArgs
index c77779d..6ca207a 100644 (file)
@@ -6,7 +6,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     // ===================== Constructor =====================
 
index d00d606..1c6706c 100644 (file)
@@ -4,7 +4,7 @@
 using System.Collections.Generic;
 using System.Xml.Schema;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     internal class ObservedNameTable : NameTable
     {
index 11d85a9..7d8fe95 100644 (file)
@@ -1,16 +1,16 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System.Linq;
-using Xunit.Abstractions;
 using System.Collections;
 using System.Globalization;
 using System.IO;
+using System.Linq;
 using System.Reflection;
 using System.Resources;
 using System.Text.RegularExpressions;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     public class LineInfo
     {
index d273c64..eac0e4c 100644 (file)
@@ -6,7 +6,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     // ===================== GetExpectedAttributes =====================
 
index d19209a..689b2e2 100644 (file)
@@ -6,7 +6,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     // ===================== GetExpectedParticles =====================
 
index 2481f02..9deba70 100644 (file)
@@ -6,7 +6,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     // ===================== Initialize =====================
 
diff --git a/src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/Program.cs b/src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/Program.cs
deleted file mode 100644 (file)
index 8a0d389..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-
-using ModuleCore;
-
-namespace XmlTests
-{
-    internal class Program
-    {
-        public static int Main(string[] args)
-        {
-            return 100 + TestRunner.Execute(args);
-        }
-    }
-}
index b6b3d72..9193f31 100644 (file)
@@ -7,7 +7,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     // ===================== XmlResolver =====================
 
diff --git a/src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/System.Xml.XmlSchema.XmlSchemaValidatorApi.Tests.csproj b/src/libraries/System.Private.Xml/tests/XmlSchema/XmlSchemaValidatorApi/System.Xml.XmlSchema.XmlSchemaValidatorApi.Tests.csproj
deleted file mode 100644 (file)
index a7c9694..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="Constructor_AddSchema.cs" />
-    <Compile Include="CustomImplementations.cs" />
-    <Compile Include="ExceptionVerifier.cs" />
-    <Compile Include="GetExpectedAttributes.cs" />
-    <Compile Include="GetExpectedParticles.cs" />
-    <Compile Include="Initialize_EndValidation.cs" />
-    <Compile Include="PropertiesTests.cs" />
-    <Compile Include="ValidateAttribute.cs" />
-    <Compile Include="ValidateAttribute_String.cs" />
-    <Compile Include="ValidateElement.cs" />
-    <Compile Include="ValidateMisc.cs" />
-    <Compile Include="ValidateText_EndElement.cs" />
-    <Compile Include="ValidateText_String.cs" />
-    <Compile Include="ValidateWhitespace_String.cs" />
-    <Compile Include="ValidatorModule.cs" />
-    <Compile Include="XmlTestSettings.cs" />
-    <Compile Include="CXmlTestResolver.cs" />
-    <Compile Include="$(CommonTestPath)System\IO\TempDirectory.cs"
-             Link="Common\System\IO\TempDirectory.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="..\TestFiles\**\*"
-          Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)"
-          CopyToOutputDirectory="PreserveNewest"
-          Visible="false" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
index 7601086..12c1dc8 100644 (file)
@@ -7,7 +7,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     // ===================== ValidateAttribute =====================
 
index bf8ee8c..b2943e6 100644 (file)
@@ -7,7 +7,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     // ===================== ValidateAttribute =====================
 
index c7bb329..7fcafeb 100644 (file)
@@ -1,13 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System.Collections;
 using System.IO;
 using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     // ===================== ValidateElement =====================
 
index 79bfff0..8a55735 100644 (file)
@@ -2,12 +2,11 @@
 // The .NET Foundation licenses this file to you under the MIT license.
 
 using System.IO;
-using System.Text.RegularExpressions;
 using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     public class TCValidateAfterAdd : CXmlSchemaValidatorTestCase
     {
index 105d51e..94de287 100644 (file)
@@ -5,7 +5,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     // ===================== ValidateText =====================
 
index 12e07e7..fe9affd 100644 (file)
@@ -5,7 +5,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     // ===================== ValidateText =====================
 
index e2335e7..c4afb2e 100644 (file)
@@ -1,12 +1,11 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System;
 using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     // ===================== ValidateWhitespace =====================
 
index 453a248..e696fce 100644 (file)
@@ -6,7 +6,7 @@ using System.Xml.Schema;
 using Xunit;
 using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     public class CXmlSchemaValidatorTestCase
     {
index a1a59ac..610c9dd 100644 (file)
@@ -3,7 +3,7 @@
 
 using System.IO;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlSchemaValidatorApiTests
 {
     public class XmlTestSettings
     {
@@ -29,11 +29,11 @@ namespace System.Xml.Tests
 
         public static string GetTestDataPath()
         {
-            return Path.Combine(GetDataPath(), "TestFiles", "TestData");
+            return Path.Combine(GetDataPath(), "XmlSchema", "TestFiles", "TestData");
         }
         public static string GetStandardPath()
         {
-            return Path.Combine(GetDataPath(), "TestFiles", "StandardTests");
+            return Path.Combine(GetDataPath(), "XmlSchema", "TestFiles", "StandardTests");
         }
     }
 }
diff --git a/src/libraries/System.Private.Xml/tests/XmlSerializer/System.Xml.XmlSerializer.Tests.csproj b/src/libraries/System.Private.Xml/tests/XmlSerializer/System.Xml.XmlSerializer.Tests.csproj
deleted file mode 100644 (file)
index da32886..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\..\Microsoft.XmlSerializer.Generator\tests\SerializableAssembly.csproj" />
-    <TrimmerRootAssembly Include="SerializableAssembly" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="$(CommonTestPath)System\Runtime\Serialization\Utils.cs" />
-    <Compile Include="$(TestSourceFolder)..\..\..\System.Runtime.Serialization.Xml\tests\SerializationTypes.RuntimeOnly.cs" />
-    <None Include="$(TestSourceFolder)..\..\..\System.Runtime.Serialization.Xml\tests\SerializationTypes.cs" />
-    <Compile Include="$(TestSourceFolder)XmlSerializerTests.cs" />
-    <Compile Include="$(TestSourceFolder)XmlSerializerTests.Internal.cs" />
-    <Compile Include="$(TestSourceFolder)XmlSerializerTests.RuntimeOnly.cs" />
-
-    <TrimmerRootDescriptor Include="$(ILLinkDescriptorsPath)ILLink.Descriptors.Serialization.xml" />
-  </ItemGroup>
-</Project>
index ad3e026..f3e9a8f 100644 (file)
@@ -1,19 +1,19 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using SerializationTypes;
 using System;
 using System.Collections.Generic;
 using System.Globalization;
 using System.IO;
 using System.Linq;
 using System.Reflection;
+using System.Runtime.Serialization.Tests;
 using System.Text;
-using System.Threading;
 using System.Xml;
 using System.Xml.Linq;
 using System.Xml.Schema;
 using System.Xml.Serialization;
+using SerializationTypes;
 using Xunit;
 
 public static partial class XmlSerializerTests
index e103260..b834792 100644 (file)
@@ -1,7 +1,6 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using SerializationTypes;
 using System;
 using System.Collections;
 using System.Collections.Generic;
@@ -13,12 +12,13 @@ using System.Linq;
 using System.Reflection;
 using System.Runtime.CompilerServices;
 using System.Runtime.Loader;
+using System.Runtime.Serialization.Tests;
 using System.Text;
-using System.Threading;
 using System.Xml;
 using System.Xml.Linq;
 using System.Xml.Schema;
 using System.Xml.Serialization;
+using SerializationTypes;
 using Xunit;
 
 public static partial class XmlSerializerTests
index c5a61a2..be2144c 100644 (file)
@@ -7,7 +7,7 @@ using System.Threading;
 using System.Threading.Tasks;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterTests
 {
     public class MyXmlWriter : XmlWriter
     {
diff --git a/src/libraries/System.Private.Xml/tests/XmlWriter/System.Xml.RW.XmlWriter.Tests.csproj b/src/libraries/System.Private.Xml/tests/XmlWriter/System.Xml.RW.XmlWriter.Tests.csproj
deleted file mode 100644 (file)
index 3e074e9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="DisposeTests.cs" />
-    <Compile Include="WriteWithEncoding.cs" />
-    <Compile Include="WriteWithEncodingWithFallback.cs" />
-    <Compile Include="WriteWithInvalidSurrogate.cs" />
-    <Compile Include="XmlTextWriterTests.cs" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
index a56d28f..09d7a1f 100644 (file)
@@ -5,10 +5,9 @@ using System.IO;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
-using System.Xml.Xsl;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterTests
 {
     public class XmlWriterTests_Encoding
     {
index 8a0d5ee..30cca88 100644 (file)
@@ -5,7 +5,7 @@ using System.IO;
 using System.Text;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterTests
 {
     public class XmlWriterTests_EncodingFallback
     {
index 29107ec..89ae0cf 100644 (file)
@@ -5,7 +5,7 @@ using System.IO;
 using System.Text;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterTests
 {
     public class XmlWriterTests_InvalidSurrogate
     {
index 5b1063a..16eef08 100644 (file)
@@ -5,7 +5,7 @@ using System.Collections.Generic;
 using System.IO;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XmlWriterTests
 {
     public class XmlTextWriterTests
     {
index f49fbd7..6846c46 100644 (file)
@@ -1,16 +1,16 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.Collections.Generic;
 using System.IO;
 using System.Text;
 using System.Xml.Xsl;
-using XmlCoreTest.Common;
 using OLEDB.Test.ModuleCore;
+using XmlCoreTest.Common;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslCompiledTransformApiTests
 {
     //[TestCase(Name = "Xml 4th Errata tests for XslCompiledTransform", Params = new object[] { 300 })]
     public class Errata4 : XsltApiTestCaseBase2
index 663ed7d..4c0b350 100644 (file)
@@ -1,13 +1,13 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
-using System.Xml.Xsl;
 using System.Text;
+using System.Xml.Xsl;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslCompiledTransformApiTests
 {
     //[TestCase(Name = "OutputSettings", Desc = "This testcase tests the OutputSettings on XslCompiledTransform", Param = "Debug")]
     public class COutputSettings : XsltApiTestCaseBase2
diff --git a/src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/System.Xml.Xsl.XslCompiledTransformApi.Tests.csproj b/src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/System.Xml.Xsl.XslCompiledTransformApi.Tests.csproj
deleted file mode 100644 (file)
index f5c7d40..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
-    <!-- This doesn't run on V8 shell because https://bugs.chromium.org/p/v8/issues/detail?id=12541 -->
-    <Scenario>WasmTestOnBrowser</Scenario>
-    <TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
-    <TestArchiveTestsDir>$(TestArchiveTestsRoot)$(OSPlatformConfig)/</TestArchiveTestsDir>
-    <DefineConstants>$(DefineConstants);TARGET_BROWSER</DefineConstants>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Compile Include="Errata4.cs" />
-    <Compile Include="OutputSettings.cs" />
-    <Compile Include="TempFiles.cs" />
-    <Compile Include="XslCompilerTests.cs" />
-    <Compile Include="XsltApiV2.cs" />
-    <Compile Include="XsltArgumentList.cs" />
-    <Compile Include="XsltArgumentListMultith.cs" />
-    <Compile Include="XslTransformMultith.cs" />
-    <Compile Include="XsltSettings.cs" />
-    <Compile Include="XunitAssemblyAttribute.cs" />
-    <Compile Include="XslCompiledTransform.cs" />
-    <Compile Include="..\XslTransformApi\cthread.cs" />
-    <Compile Include="..\XslTransformApi\CThreads.cs" />
-    <Compile Include="..\XslTransformApi\DataHelper.cs" />
-    <Compile Include="..\XslTransformApi\ExceptionVerifier.cs" />
-    <Compile Include="..\XslTransformApi\MyNavigator.cs" />
-    <Compile Include="..\XslTransformApi\ReaderType.cs" />
-    <Compile Include="..\XslTransformApi\ThreadFunc.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="..\TestFiles\**\*"
-          Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)"
-          CopyToOutputDirectory="PreserveNewest"
-          Visible="false" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlDiff\XmlDiff.csproj" />
-  </ItemGroup>
-</Project>
index ea45820..f9532bb 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Xml.Xsl;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslCompiledTransformApiTests
 {
     //[TestCase(Name = "TemporaryFiles", Desc = "This testcase tests the Temporary Files property on XslCompiledTransform")]
     public class TempFiles : XsltApiTestCaseBase2
index 89b19b0..20bdea9 100644 (file)
@@ -1,9 +1,6 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
-using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.Diagnostics;
@@ -12,11 +9,14 @@ using System.Reflection;
 using System.Reflection.Emit;
 using System.Runtime.Loader;
 using System.Text;
+using System.Xml.Tests;
 using System.Xml.XPath;
 using System.Xml.Xsl;
 using XmlCoreTest.Common;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslCompiledTransformApiTests
 {
     public class ReflectionTestCaseBase : XsltApiTestCaseBase2
     {
@@ -476,13 +476,22 @@ namespace System.Xml.Tests
     //[TestCase(Name = "XslCompiledTransform.XmlResolver : Navigator, Stream", Desc = "NAVIGATOR,STREAM")]
     //[TestCase(Name = "XslCompiledTransform.XmlResolver : Navigator, Writer", Desc = "NAVIGATOR,WRITER")]
     //[TestCase(Name = "XslCompiledTransform.XmlResolver : Navigator, TextWriter", Desc = "NAVIGATOR,TEXTWRITER")]
-    public class CXmlResolverTest : XsltApiTestCaseBase2
+    public class CXmlResolverTest : XsltApiTestCaseBase2, IDisposable
     {
         private ITestOutputHelper _output;
+        private AllowDefaultResolverContext _resolverContext;
+
         public CXmlResolverTest(ITestOutputHelper output) : base(output)
         {
             _output = output;
+            _resolverContext = new AllowDefaultResolverContext();
+        }
+
+        public void Dispose()
+        {
+            _resolverContext.Dispose();
         }
+
         //[Variation(id = 1, Desc = "Set XmlResolver property to null, load style sheet with import/include, should not affect transform")]
         [InlineData(XslInputType.Reader, ReaderType.XmlValidatingReader)]
         [InlineData(XslInputType.URI, ReaderType.XmlValidatingReader)]
@@ -557,24 +566,25 @@ namespace System.Xml.Tests
         [Theory]
         public void XmlResolver3(object param, XslInputType xslInputType, ReaderType readerType, OutputType outputType, NavType navType)
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            string Baseline = Path.Combine("baseline", (string)param);
-
-            if (LoadXSL("xmlResolver_document_function.xsl", xslInputType, readerType) == 1)
+            using (new AllowDefaultResolverContext())
             {
-                if (Transform((string) "fruits.xml", (OutputType) outputType, navType) == 1)
+                string Baseline = Path.Combine("baseline", (string)param);
+
+                if (LoadXSL("xmlResolver_document_function.xsl", xslInputType, readerType) == 1)
                 {
-                    VerifyResult(Baseline, _strOutFile);
-                    return;
+                    if (Transform((string)"fruits.xml", (OutputType)outputType, navType) == 1)
+                    {
+                        VerifyResult(Baseline, _strOutFile);
+                        return;
+                    }
+                }
+                else
+                {
+                    _output.WriteLine("Problem loading stylesheet with document function and default resolver!");
+                    Assert.True(false);
                 }
-            }
-            else
-            {
-                _output.WriteLine("Problem loading stylesheet with document function and default resolver!");
                 Assert.True(false);
             }
-            Assert.True(false);
         }
 
         //[Variation(id = 7, Desc = "document() has absolute URI", Pri = 0)]
@@ -590,52 +600,53 @@ namespace System.Xml.Tests
         [Theory]
         public void XmlResolver7(XslInputType xslInputType, ReaderType readerType, OutputType outputType, NavType navType)
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><result>123</result>";
-            string fileName = GetType().Name + "_" + Path.GetRandomFileName();
-            string testFile = Path.Combine(Path.GetTempPath(), fileName);
-            string xmlFile = FullFilePath(fileName);
-
-            // copy file on the local machine
-            try
-            {
-                File.Copy(xmlFile, testFile, true);
-            }
-            catch (Exception e)
+            using (new AllowDefaultResolverContext())
             {
-                _output.WriteLine(e.ToString());
-                _output.WriteLine("Could not copy file to local. Some other issues prevented this test from running");
-                return; //TEST_SKIPPED;
-            }
-            finally
-            {
-                if (File.Exists(testFile))
+                string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><result>123</result>";
+                string fileName = GetType().Name + "_" + Path.GetRandomFileName();
+                string testFile = Path.Combine(Path.GetTempPath(), fileName);
+                string xmlFile = FullFilePath(fileName);
+
+                // copy file on the local machine
+                try
                 {
-                    File.SetAttributes(testFile, FileAttributes.Normal);
-                    File.Delete(testFile);
+                    File.Copy(xmlFile, testFile, true);
+                }
+                catch (Exception e)
+                {
+                    _output.WriteLine(e.ToString());
+                    _output.WriteLine("Could not copy file to local. Some other issues prevented this test from running");
+                    return; //TEST_SKIPPED;
+                }
+                finally
+                {
+                    if (File.Exists(testFile))
+                    {
+                        File.SetAttributes(testFile, FileAttributes.Normal);
+                        File.Delete(testFile);
+                    }
                 }
-            }
 
-            // copy file on the local machine (this is now done with createAPItestfiles.js, see Oasys scenario.)
-            if (LoadXSL("xmlResolver_document_function_absolute_uri.xsl", xslInputType, readerType) == 1)
-            {
-                if (Transform((string) "fruits.xml", (OutputType) outputType, navType) == 1)
+                // copy file on the local machine (this is now done with createAPItestfiles.js, see Oasys scenario.)
+                if (LoadXSL("xmlResolver_document_function_absolute_uri.xsl", xslInputType, readerType) == 1)
                 {
-                    VerifyResult(expected);
-                    return;
+                    if (Transform((string)"fruits.xml", (OutputType)outputType, navType) == 1)
+                    {
+                        VerifyResult(expected);
+                        return;
+                    }
+                    else
+                    {
+                        _output.WriteLine("Failed to resolve document function with absolute URI.");
+                        Assert.True(false);
+                    }
                 }
                 else
                 {
-                    _output.WriteLine("Failed to resolve document function with absolute URI.");
+                    _output.WriteLine("Failed to load style sheet!");
                     Assert.True(false);
                 }
             }
-            else
-            {
-                _output.WriteLine("Failed to load style sheet!");
-                Assert.True(false);
-            }
         }
     }
 
@@ -2393,12 +2404,20 @@ namespace System.Xml.Tests
     //[TestCase(Name = "XslCompiledTransform.Transform(XmlResolver) : Navigator, Stream", Desc = "NAVIGATOR,STREAM")]
     //[TestCase(Name = "XslCompiledTransform.Transform(XmlResolver) : Navigator, Writer", Desc = "NAVIGATOR,WRITER")]
     //[TestCase(Name = "XslCompiledTransform.Transform(XmlResolver) : Navigator, TextWriter", Desc = "NAVIGATOR,TEXTWRITER")]
-    public class CTransformResolverTest : XsltApiTestCaseBase2
+    public class CTransformResolverTest : XsltApiTestCaseBase2, IDisposable
     {
         private ITestOutputHelper _output;
+        private AllowDefaultResolverContext _resolverContext;
+
         public CTransformResolverTest(ITestOutputHelper output) : base(output)
         {
             _output = output;
+            _resolverContext = new AllowDefaultResolverContext();
+        }
+
+        public void Dispose()
+        {
+            _resolverContext.Dispose();
         }
 
         //[Variation("Pass null XmlResolver, load style sheet with import/include, should not affect transform")]
@@ -2450,26 +2469,27 @@ namespace System.Xml.Tests
         [Theory]
         public void XmlResolver2(object param, XslInputType xslInputType, ReaderType readerType, OutputType outputType, NavType navType)
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            // "xmlResolver_document_function.xsl" contains
-            // <xsl:for-each select="document('xmlResolver_document_function.xml')//elem">
-            string Baseline = Path.Combine("baseline", (string)param);
-
-            if (LoadXSL("xmlResolver_document_function.xsl", xslInputType, readerType) == 1)
+            using (new AllowDefaultResolverContext())
             {
-                if (TransformResolver("fruits.xml", outputType, navType, null) == 1)
+                // "xmlResolver_document_function.xsl" contains
+                // <xsl:for-each select="document('xmlResolver_document_function.xml')//elem">
+                string Baseline = Path.Combine("baseline", (string)param);
+
+                if (LoadXSL("xmlResolver_document_function.xsl", xslInputType, readerType) == 1)
                 {
-                    VerifyResult(Baseline, _strOutFile);
-                    return;
+                    if (TransformResolver("fruits.xml", outputType, navType, null) == 1)
+                    {
+                        VerifyResult(Baseline, _strOutFile);
+                        return;
+                    }
+                }
+                else
+                {
+                    _output.WriteLine("Problem loading stylesheet!");
+                    Assert.True(false);
                 }
-            }
-            else
-            {
-                _output.WriteLine("Problem loading stylesheet!");
                 Assert.True(false);
             }
-            Assert.True(false);
         }
 
         //[Variation("Default XmlResolver, load style sheet with document function, should resolve during transform", Param = "DefaultResolver.txt")]
@@ -2485,25 +2505,26 @@ namespace System.Xml.Tests
         [Theory]
         public void XmlResolver3(object param, XslInputType xslInputType, ReaderType readerType, OutputType outputType, NavType navType)
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            // "xmlResolver_document_function.xsl" contains
-            // <xsl:for-each select="document('xmlResolver_document_function.xml')//elem">
-            string Baseline = Path.Combine("baseline", (string)param);
-            if (LoadXSL("xmlResolver_document_function.xsl", xslInputType, readerType) == 1)
+            using (new AllowDefaultResolverContext())
             {
-                if (Transform((string) "fruits.xml", (OutputType) outputType, navType) == 1)
+                // "xmlResolver_document_function.xsl" contains
+                // <xsl:for-each select="document('xmlResolver_document_function.xml')//elem">
+                string Baseline = Path.Combine("baseline", (string)param);
+                if (LoadXSL("xmlResolver_document_function.xsl", xslInputType, readerType) == 1)
                 {
-                    VerifyResult(Baseline, _strOutFile);
-                    return;
+                    if (Transform((string)"fruits.xml", (OutputType)outputType, navType) == 1)
+                    {
+                        VerifyResult(Baseline, _strOutFile);
+                        return;
+                    }
+                }
+                else
+                {
+                    _output.WriteLine("Problem loading stylesheet with document function and default resolver!");
+                    Assert.True(false);
                 }
-            }
-            else
-            {
-                _output.WriteLine("Problem loading stylesheet with document function and default resolver!");
                 Assert.True(false);
             }
-            Assert.True(false);
         }
 
         //[Variation("document() has absolute URI")]
@@ -2519,51 +2540,52 @@ namespace System.Xml.Tests
         [Theory]
         public void XmlResolver5(XslInputType xslInputType, ReaderType readerType, OutputType outputType, NavType navType)
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><result>123</result>";
-            string fileName = GetType().Name + "_" + Path.GetRandomFileName();
-            string testFile = Path.Combine(Path.GetTempPath(), fileName);
-            string xmlFile = FullFilePath(fileName);
-
-            // copy file on the local machine
-            try
-            {
-                File.Copy(xmlFile, testFile, true);
-            }
-            catch (Exception e)
-            {
-                _output.WriteLine(e.ToString());
-                _output.WriteLine("Could not copy file to local. Some other issues prevented this test from running");
-                return; //TEST_SKIPPED;
-            }
-            finally
+            using (new AllowDefaultResolverContext())
             {
-                if (File.Exists(testFile))
+                string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><result>123</result>";
+                string fileName = GetType().Name + "_" + Path.GetRandomFileName();
+                string testFile = Path.Combine(Path.GetTempPath(), fileName);
+                string xmlFile = FullFilePath(fileName);
+
+                // copy file on the local machine
+                try
                 {
-                    File.SetAttributes(testFile, FileAttributes.Normal);
-                    File.Delete(testFile);
+                    File.Copy(xmlFile, testFile, true);
+                }
+                catch (Exception e)
+                {
+                    _output.WriteLine(e.ToString());
+                    _output.WriteLine("Could not copy file to local. Some other issues prevented this test from running");
+                    return; //TEST_SKIPPED;
+                }
+                finally
+                {
+                    if (File.Exists(testFile))
+                    {
+                        File.SetAttributes(testFile, FileAttributes.Normal);
+                        File.Delete(testFile);
+                    }
                 }
-            }
 
-            if (LoadXSL("xmlResolver_document_function_absolute_uri.xsl", xslInputType, readerType) == 1)
-            {
-                if (TransformResolver("fruits.xml", outputType, navType, new XmlUrlResolver()) == 1)
+                if (LoadXSL("xmlResolver_document_function_absolute_uri.xsl", xslInputType, readerType) == 1)
                 {
-                    VerifyResult(expected);
-                    return;
+                    if (TransformResolver("fruits.xml", outputType, navType, new XmlUrlResolver()) == 1)
+                    {
+                        VerifyResult(expected);
+                        return;
+                    }
+                    else
+                    {
+                        _output.WriteLine("Failed to resolve document function with absolute URI.");
+                        Assert.True(false);
+                    }
                 }
                 else
                 {
-                    _output.WriteLine("Failed to resolve document function with absolute URI.");
+                    _output.WriteLine("Failed to load style sheet!");
                     Assert.True(false);
                 }
             }
-            else
-            {
-                _output.WriteLine("Failed to load style sheet!");
-                Assert.True(false);
-            }
         }
 
         //[Variation("Pass null resolver but stylesheet doesn't have any include/imports")]
@@ -2965,12 +2987,20 @@ namespace System.Xml.Tests
     //[TestCase(Name = "XslCompiledTransform.Transform(String, String, Resolver) : Reader , String", Desc = "READER,STREAM")]
     //[TestCase(Name = "XslCompiledTransform.Transform(String, String, Resolver) : URI, String", Desc = "URI,STREAM")]
     //[TestCase(Name = "XslCompiledTransform.Transform(String, String, Resolver) : Navigator, String", Desc = "NAVIGATOR,STREAM")]
-    public class CTransformStrStrResolverTest : XsltApiTestCaseBase2
+    public class CTransformStrStrResolverTest : XsltApiTestCaseBase2, IDisposable
     {
         private ITestOutputHelper _output;
+        private AllowDefaultResolverContext _resolverContext;
+
         public CTransformStrStrResolverTest(ITestOutputHelper output) : base(output)
         {
             _output = output;
+            _resolverContext = new AllowDefaultResolverContext();
+        }
+
+        public void Dispose()
+        {
+            _resolverContext.Dispose();
         }
 
         //[Variation("Pass null XmlResolver to Transform, load style sheet with import/include, should not affect transform")]
@@ -3006,24 +3036,25 @@ namespace System.Xml.Tests
         [Theory]
         public void TransformStrStrResolver2(XslInputType xslInputType, ReaderType readerType)
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><result><elem>1</elem><elem>2</elem><elem>3</elem></result>";
+            using (new AllowDefaultResolverContext())
+            {
+                string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><result><elem>1</elem><elem>2</elem><elem>3</elem></result>";
 
-            // "xmlResolver_document_function.xsl" contains
-            // <xsl:for-each select="document('xmlResolver_document_function.xml')//elem">
+                // "xmlResolver_document_function.xsl" contains
+                // <xsl:for-each select="document('xmlResolver_document_function.xml')//elem">
 
-            string szFullFilename = FullFilePath("fruits.xml");
+                string szFullFilename = FullFilePath("fruits.xml");
 
-            if (LoadXSL("xmlResolver_document_function.xsl", xslInputType, readerType) == 1)
-            {
-                xslt.Transform(szFullFilename, "out.xml");
-                VerifyResult(expected);
-            }
-            else
-            {
-                _output.WriteLine("Problem loading stylesheet!");
-                Assert.True(false);
+                if (LoadXSL("xmlResolver_document_function.xsl", xslInputType, readerType) == 1)
+                {
+                    xslt.Transform(szFullFilename, "out.xml");
+                    VerifyResult(expected);
+                }
+                else
+                {
+                    _output.WriteLine("Problem loading stylesheet!");
+                    Assert.True(false);
+                }
             }
         }
 
@@ -3034,26 +3065,27 @@ namespace System.Xml.Tests
         [Theory]
         public void TransformStrStrResolver3(object param, XslInputType xslInputType, ReaderType readerType)
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            // "xmlResolver_document_function.xsl" contains
-            // <xsl:for-each select="document('xmlResolver_document_function.xml')//elem">
+            using (new AllowDefaultResolverContext())
+            {
+                // "xmlResolver_document_function.xsl" contains
+                // <xsl:for-each select="document('xmlResolver_document_function.xml')//elem">
 
-            string szFullFilename = FullFilePath("fruits.xml");
-            string Baseline = Path.Combine("baseline", (string)param);
+                string szFullFilename = FullFilePath("fruits.xml");
+                string Baseline = Path.Combine("baseline", (string)param);
 
-            if (LoadXSL("xmlResolver_document_function.xsl", xslInputType, readerType) == 1)
-            {
-                xslt.Transform(szFullFilename, "out.xml");
-                VerifyResult(Baseline, _strOutFile);
-                return;
-            }
-            else
-            {
-                _output.WriteLine("Problem loading stylesheet with document function and default resolver!");
+                if (LoadXSL("xmlResolver_document_function.xsl", xslInputType, readerType) == 1)
+                {
+                    xslt.Transform(szFullFilename, "out.xml");
+                    VerifyResult(Baseline, _strOutFile);
+                    return;
+                }
+                else
+                {
+                    _output.WriteLine("Problem loading stylesheet with document function and default resolver!");
+                    Assert.True(false);
+                }
                 Assert.True(false);
             }
-            Assert.True(false);
         }
     }
 
@@ -3093,9 +3125,10 @@ namespace System.Xml.Tests
         [Theory]
         public void ValidCases_ExternalURI(object param0, object param1, object param2, object param3, object param4, object param5)
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            ValidCases(param0, param1, param2, param3, param4, param5);
+            using (new AllowDefaultResolverContext())
+            {
+                ValidCases(param0, param1, param2, param3, param4, param5);
+            }
         }
 
         //[Variation("Document function 1, CustomXmlResolver", Pri = 0, Params = new object[] { "xmlResolver_document_function.xsl", "fruits.xml", "xmlResolver_document_function.txt", "CustomXmlResolver", true })]
@@ -3353,12 +3386,20 @@ param2 (correct answer is 'local-param2-arg'): local-param2-arg
     }
 
     //[TestCase(Name = "XslCompiledTransform Regression Tests for API", Desc = "XslCompiledTransform Regression Tests")]
-    public class CTransformRegressionTest : XsltApiTestCaseBase2
+    public class CTransformRegressionTest : XsltApiTestCaseBase2, IDisposable
     {
         private ITestOutputHelper _output;
+        private AllowDefaultResolverContext _resolverContext;
+
         public CTransformRegressionTest(ITestOutputHelper output) : base(output)
         {
             _output = output;
+            _resolverContext = new AllowDefaultResolverContext();
+        }
+
+        public void Dispose()
+        {
+            _resolverContext.Dispose();
         }
 
         //[Variation("Bug398968 - Globalization is broken for document() function")]
index 063ccbd..b788db8 100644 (file)
@@ -5,7 +5,7 @@ using System.IO;
 using System.Xml.Xsl;
 using Xunit;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslCompiledTransformApiTests
 {
     public class XslCompilerTests
     {
index 5078c4e..0532519 100644 (file)
@@ -1,14 +1,15 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
+using System.Xml.Tests;
 using System.Xml.XPath;
 using System.Xml.Xsl;
 using XmlCoreTest.Common;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslCompiledTransformApiTests
 {
     public class SameInstanceXslTransformTestCase : XsltApiTestCaseBase2
     {
@@ -98,22 +99,21 @@ namespace System.Xml.Tests
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsThreadingSupported))]
         public void proc2()
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            Load("QFE505_multith_customer_repro_with_or_expr.xsl", "QFE505_multith_customer_repro_with_or_expr.xml");
-
-            CThreads rThreads = new CThreads(_output);
-            rThreads.Add(new ThreadFunc(Transform), "1");
-            rThreads.Add(new ThreadFunc(Transform), "2");
-            rThreads.Add(new ThreadFunc(Transform), "3");
-            rThreads.Add(new ThreadFunc(Transform), "4");
-            rThreads.Add(new ThreadFunc(Transform), "5");
-
-            //Wait until they are complete
-            rThreads.Start();
-            rThreads.Wait();
-
-            return;
+            using (new AllowDefaultResolverContext())
+            {
+                Load("QFE505_multith_customer_repro_with_or_expr.xsl", "QFE505_multith_customer_repro_with_or_expr.xml");
+
+                CThreads rThreads = new CThreads(_output);
+                rThreads.Add(new ThreadFunc(Transform), "1");
+                rThreads.Add(new ThreadFunc(Transform), "2");
+                rThreads.Add(new ThreadFunc(Transform), "3");
+                rThreads.Add(new ThreadFunc(Transform), "4");
+                rThreads.Add(new ThreadFunc(Transform), "5");
+
+                //Wait until they are complete
+                rThreads.Start();
+                rThreads.Wait();
+            }
         }
 
         //[Variation("Multiple Transform(): Reader - AVTs")]
@@ -385,22 +385,21 @@ namespace System.Xml.Tests
         [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsThreadingSupported))]
         public void proc2()
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            Load("QFE505_multith_customer_repro_with_or_expr.xsl", "QFE505_multith_customer_repro_with_or_expr.xml");
-
-            CThreads rThreads = new CThreads(_output);
-            rThreads.Add(new ThreadFunc(Transform), "1");
-            rThreads.Add(new ThreadFunc(Transform), "2");
-            rThreads.Add(new ThreadFunc(Transform), "3");
-            rThreads.Add(new ThreadFunc(Transform), "4");
-            rThreads.Add(new ThreadFunc(Transform), "5");
-
-            //Wait until they are complete
-            rThreads.Start();
-            rThreads.Wait();
-
-            return;
+            using (new AllowDefaultResolverContext())
+            {
+                Load("QFE505_multith_customer_repro_with_or_expr.xsl", "QFE505_multith_customer_repro_with_or_expr.xml");
+
+                CThreads rThreads = new CThreads(_output);
+                rThreads.Add(new ThreadFunc(Transform), "1");
+                rThreads.Add(new ThreadFunc(Transform), "2");
+                rThreads.Add(new ThreadFunc(Transform), "3");
+                rThreads.Add(new ThreadFunc(Transform), "4");
+                rThreads.Add(new ThreadFunc(Transform), "5");
+
+                //Wait until they are complete
+                rThreads.Start();
+                rThreads.Wait();
+            }
         }
 
         //[Variation("Multiple Transform(): TextWriter - AVTs")]
index 4ae304e..6184bfc 100644 (file)
@@ -1,16 +1,17 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Text;
+using System.Xml.Tests;
 using System.Xml.XmlDiff;
 using System.Xml.XPath;
 using System.Xml.Xsl;
 using XmlCoreTest.Common;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslCompiledTransformApiTests
 {
     public enum OutputType
     {
index 92d418f..5e9d7a8 100644 (file)
@@ -1,15 +1,16 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.Collections.Generic;
 using System.Dynamic;
 using System.IO;
+using System.Xml.Tests;
 using System.Xml.XPath;
 using System.Xml.Xsl;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslCompiledTransformApiTests
 {
     /***********************************************************/
     /*               XsltArgumentList.GetParam                 */
index 4edad5d..39a6646 100644 (file)
@@ -1,14 +1,15 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
+using System.Xml.Tests;
 using System.Xml.XPath;
 using System.Xml.Xsl;
 using XmlCoreTest.Common;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslCompiledTransformApiTests
 {
     public class CSameInstanceXsltArgTestCase2 : XsltApiTestCaseBase2
     {
index c736fe0..0ef1048 100644 (file)
@@ -1,14 +1,15 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Text.RegularExpressions;
+using System.Xml.Tests;
 using System.Xml.XPath;
 using System.Xml.Xsl;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslCompiledTransformApiTests
 {
     //[TestCase(Name = "XsltSettings-Retail", Desc = "This testcase tests the different settings on XsltSettings and the corresponding behavior in retail mode", Param = "Retail")]
     //[TestCase(Name = "XsltSettings-Debug", Desc = "This testcase tests the different settings on XsltSettings and the corresponding behavior in debug mode", Param = "Debug")]
@@ -84,9 +85,10 @@ namespace System.Xml.Tests
         [Theory]
         public void XsltSettings1_1_ExternalURI(object param0, object param1, object param2, object param3, object param4)
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            XsltSettings1_1(param0, param1, param2, param3, param4);
+            using (new AllowDefaultResolverContext())
+            {
+                XsltSettings1_1(param0, param1, param2, param3, param4);
+            }
         }
 
         //[Variation(id = 18, Desc = "Test 6 with EnableDocumentFunction override, should work", Pri = 1, Params = new object[] { "XsltSettings.xml", "XsltSettings2.xsl", false, false, true, false })]
@@ -94,9 +96,10 @@ namespace System.Xml.Tests
         [Theory]
         public void XsltSettings1_2_ExternalURI(object param0, object param1, object param2, object param3, object param4, object param5, object param6)
         {
-            AppContext.SetSwitch("Switch.System.Xml.AllowDefaultResolver", true);
-
-            XsltSettings1_2(param0, param1, param2, param3, param4, param5, param6);
+            using (new AllowDefaultResolverContext())
+            {
+                XsltSettings1_2(param0, param1, param2, param3, param4, param5, param6);
+            }
         }
 
         //[Variation(id = 2, Desc = "Test the script block with Default Settings, should fail", Pri = 0, Params = new object[] { "XsltSettings.xml", "XsltSettings1.xsl", false, false })]
diff --git a/src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XunitAssemblyAttribute.cs b/src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XunitAssemblyAttribute.cs
deleted file mode 100644 (file)
index 1a7d4c3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-
-using Xunit;
-
-// This is to avoid parallelism so that one test doesn't affect another.
-[assembly: CollectionBehavior(CollectionBehavior.CollectionPerAssembly, DisableTestParallelization = true, MaxParallelThreads = 1)]
index 98de2b4..e69b074 100644 (file)
@@ -1,12 +1,12 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit.Abstractions;
 using System;
 using System.IO;
 using System.Text;
 using System.Xml;
 using System.Xml.Schema;
+using Xunit.Abstractions;
 
 public enum NodeFlags
 {
index 6dec05e..dbd6ef9 100644 (file)
@@ -1,15 +1,16 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.Collections.Generic;
+using System.Dynamic;
 using System.IO;
+using System.Xml.Tests;
 using System.Xml.XPath;
 using System.Xml.Xsl;
-using System.Dynamic;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslTransformApiTests
 {
     /***********************************************************/
     /*               XsltArgumentList.GetParam                 */
index 5220c7d..7c93171 100644 (file)
@@ -1,14 +1,15 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.Collections;
 using System.IO;
+using System.Xml.Tests;
 using System.Xml.XPath;
 using System.Xml.Xsl;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslTransformApiTests
 {
     //[TestCase(Name = "Null argument tests", Desc = "This testcase passes NULL arguments to all XslTransform methods")]
     public class CNullArgumentTest : XsltApiTestCaseBase
@@ -347,9 +348,18 @@ namespace System.Xml.Tests
     public class CXmlResolverTest : XsltApiTestCaseBase
     {
         private ITestOutputHelper _output;
+        private AllowDefaultResolverContext _resolverContext;
+
         public CXmlResolverTest(ITestOutputHelper output) : base(output)
         {
             _output = output;
+            _resolverContext = new AllowDefaultResolverContext();
+        }
+
+        protected override void Dispose(bool disposing)
+        {
+            _resolverContext.Dispose();
+            base.Dispose(disposing);
         }
 
         //[Variation("Set XmlResolver property to null, load style sheet with import/include, should not affect transform")]
@@ -368,32 +378,29 @@ namespace System.Xml.Tests
         [Theory]
         public void XmlResolver1(InputType inputType, ReaderType readerType, TransformType transformType, DocType docType)
         {
-            using (new AllowDefaultResolverContext())
-            {
-                string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><result><fruit>Apple</fruit><fruit>orange</fruit></result>";
+            string expected = @"<?xml version=""1.0"" encoding=""utf-8""?><result><fruit>Apple</fruit><fruit>orange</fruit></result>";
 
-                try
+            try
+            {
+                if (LoadXSL("XmlResolver_Main.xsl", inputType, readerType) == 1)
                 {
-                    if (LoadXSL("XmlResolver_Main.xsl", inputType, readerType) == 1)
+                    xslt.XmlResolver = null;
+                    if (Transform("fruits.xml", transformType, docType) == 1)
                     {
-                        xslt.XmlResolver = null;
-                        if (Transform("fruits.xml", transformType, docType) == 1)
-                        {
-                            VerifyResult(expected);
-                            return;
-                        }
-                        else
-                            Assert.True(false);
+                        VerifyResult(expected);
+                        return;
                     }
+                    else
+                        Assert.True(false);
                 }
-                catch (Exception e)
-                {
-                    _output.WriteLine("Should not throw error loading stylesheet with include/import when resolver property is set to NULL!");
-                    _output.WriteLine(e.ToString());
-                    Assert.True(false);
-                }
+            }
+            catch (Exception e)
+            {
+                _output.WriteLine("Should not throw error loading stylesheet with include/import when resolver property is set to NULL!");
+                _output.WriteLine(e.ToString());
                 Assert.True(false);
             }
+            Assert.True(false);
         }
 
         //[Variation("Set XmlResolver property to null, load style sheet with document function, should not resolve during transform")]
@@ -2005,9 +2012,18 @@ namespace System.Xml.Tests
     public class CTransformResolverTest : XsltApiTestCaseBase
     {
         private ITestOutputHelper _output;
+        private AllowDefaultResolverContext _resolverContext;
+
         public CTransformResolverTest(ITestOutputHelper output) : base(output)
         {
             _output = output;
+            _resolverContext = new AllowDefaultResolverContext();
+        }
+
+        protected override void Dispose(bool disposing)
+        {
+            _resolverContext.Dispose();
+            base.Dispose(disposing);
         }
 
         //[Variation("Pass null XmlResolver, load style sheet with import/include, should not affect transform")]
@@ -2539,9 +2555,18 @@ namespace System.Xml.Tests
     public class CTransformStrStrResolverTest : XsltApiTestCaseBase
     {
         private ITestOutputHelper _output;
+        private AllowDefaultResolverContext _resolverContext;
+
         public CTransformStrStrResolverTest(ITestOutputHelper output) : base(output)
         {
             _output = output;
+            _resolverContext = new AllowDefaultResolverContext();
+        }
+
+        protected override void Dispose(bool disposing)
+        {
+            base.Dispose(disposing);
+            _resolverContext.Dispose();
         }
 
         //[Variation("Pass null XmlResolver, load style sheet with import/include, should not affect transform")]
@@ -2711,13 +2736,6 @@ param2 (correct answer is 'local-param2-arg'): local-param2-arg
         }
     }
 
-    internal sealed class AllowDefaultResolverContext : IDisposable
-    {
-        private const string SwitchName = "Switch.System.Xml.AllowDefaultResolver";
-        public AllowDefaultResolverContext() => AppContext.SetSwitch(SwitchName, isEnabled: true);
-        public void Dispose() => AppContext.SetSwitch(SwitchName, isEnabled: false);
-    }
-
     internal class MyArrayIterator : XPathNodeIterator
     {
         protected ArrayList array;
index 4c80e5b..7caf455 100644 (file)
@@ -1,14 +1,15 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
+using System.Xml.Tests;
 using System.Xml.XPath;
 using System.Xml.Xsl;
 using XmlCoreTest.Common;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslTransformApiTests
 {
     public class CSameInstanceXslTransformTestCase : XsltApiTestCaseBase
     {
index d739797..ae2927e 100644 (file)
@@ -1,16 +1,15 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
-using System;
 using System.IO;
-using System.Xml;
+using System.Xml.Tests;
 using System.Xml.XPath;
 using System.Xml.Xsl;
 using XmlCoreTest.Common;
+using Xunit;
+using Xunit.Abstractions;
 
-namespace System.Xml.Tests
+namespace System.Xml.XslTransformApiTests
 {
     public class CSameInstanceXsltArgTestCase : XsltApiTestCaseBase
     {
index b2b4d2e..df7406d 100644 (file)
@@ -1,10 +1,10 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit.Abstractions;
 using System;
 using System.Globalization;
 using System.Xml;
+using Xunit.Abstractions;
 
 public class CustomUrlResolver : XmlUrlResolver
 {
index 58cd135..3cd3490 100644 (file)
@@ -1,14 +1,14 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System.Linq;
-using Xunit.Abstractions;
 using System.Collections;
 using System.Globalization;
 using System.IO;
+using System.Linq;
 using System.Reflection;
 using System.Resources;
 using System.Text.RegularExpressions;
+using Xunit.Abstractions;
 
 namespace System.Xml.Tests
 {
index d73422f..aa75749 100644 (file)
@@ -1,7 +1,6 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using System;
 using System.Xml;
 using System.Xml.XPath;
 
diff --git a/src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/System.Xml.Xsl.XslTransformApi.Tests.csproj b/src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/System.Xml.Xsl.XslTransformApi.Tests.csproj
deleted file mode 100644 (file)
index e7bab91..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-  <PropertyGroup>
-    <TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
-    <!-- This doesn't run on V8 shell because https://bugs.chromium.org/p/v8/issues/detail?id=12541 -->
-    <Scenario>WasmTestOnBrowser</Scenario>
-    <TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
-    <TestArchiveTestsDir>$(TestArchiveTestsRoot)$(OSPlatformConfig)/</TestArchiveTestsDir>
-    <DefineConstants>$(DefineConstants);TARGET_BROWSER</DefineConstants>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Compile Include="cthread.cs" />
-    <Compile Include="CThreads.cs" />
-    <Compile Include="CXmlCache.cs" />
-    <Compile Include="CXslTArgumentList.cs" />
-    <Compile Include="CXsltArgumentListMultith.cs" />
-    <Compile Include="CXslTransform.cs" />
-    <Compile Include="CXslTransformMultith.cs" />
-    <Compile Include="DataHelper.cs" />
-    <Compile Include="ExceptionVerifier.cs" />
-    <Compile Include="MyNavigator.cs" />
-    <Compile Include="ReaderType.cs" />
-    <Compile Include="ThreadFunc.cs" />
-    <Compile Include="XSLTransform.cs" />
-    <Compile Include="XunitAssemblyAttributes.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="..\TestFiles\**\*"
-          Link="TestFiles\%(RecursiveDir)%(Filename)%(Extension)"
-          CopyToOutputDirectory="PreserveNewest"
-          Visible="false" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="$(CommonTestPath)System\Xml\ModuleCore\ModuleCore.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlCoreTest\XmlCoreTest.csproj" />
-    <ProjectReference Include="$(CommonTestPath)System\Xml\XmlDiff\XmlDiff.csproj" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
index aa8cd89..f562d35 100644 (file)
@@ -1,14 +1,14 @@
 // Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 
-using Xunit;
-using Xunit.Abstractions;
 using System.IO;
 using System.Text;
 using System.Xml.XmlDiff;
 using System.Xml.XPath;
 using System.Xml.Xsl;
 using XmlCoreTest.Common;
+using Xunit;
+using Xunit.Abstractions;
 
 namespace System.Xml.Tests
 {
diff --git a/src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/XunitAssemblyAttributes.cs b/src/libraries/System.Private.Xml/tests/Xslt/XslTransformApi/XunitAssemblyAttributes.cs
deleted file mode 100644 (file)
index 5079444..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-
-using Xunit;
-
-// For testing purposes, we keep the output of the Transform in a file.
-// Since the content of the file ends up affecting the result of each test,
-// we want to avoid parallelism so that one test doesn't affect another.
-[assembly: CollectionBehavior(CollectionBehavior.CollectionPerAssembly, DisableTestParallelization = true, MaxParallelThreads = 1)]
index 404f605..cdefdc2 100644 (file)
@@ -17,6 +17,7 @@ using System.Text;
 using System.Xml;
 using System.Xml.Linq;
 using Xunit;
+using System.Runtime.Serialization.Tests;
 
 public static partial class DataContractJsonSerializerTests
 {
index ab23283..316800e 100644 (file)
@@ -6,17 +6,16 @@ using System.Collections;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Globalization;
+using System.IO;
 using System.Runtime.CompilerServices;
 using System.Runtime.Serialization;
+using System.Runtime.Serialization.Json;
+using System.Text;
+using System.Threading.Tasks;
 using System.Xml;
 using System.Xml.Linq;
 using System.Xml.Schema;
 using System.Xml.Serialization;
-using System.IO;
-using System.Text;
-using System.Reflection;
-using System.Threading.Tasks;
-using System.Runtime.Serialization.Json;
 
 namespace SerializationTypes
 {
index 029b951..8bd88af 100644 (file)
@@ -6,17 +6,17 @@ using System.Collections;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Globalization;
+using System.IO;
+using System.Reflection;
 using System.Runtime.CompilerServices;
 using System.Runtime.Serialization;
+using System.Runtime.Serialization.Json;
+using System.Text;
+using System.Threading.Tasks;
 using System.Xml;
 using System.Xml.Linq;
 using System.Xml.Schema;
 using System.Xml.Serialization;
-using System.IO;
-using System.Text;
-using System.Reflection;
-using System.Threading.Tasks;
-using System.Runtime.Serialization.Json;
 
 namespace SerializationTypes
 {