set(memkind_tests)
if(VTK_USE_MEMKIND)
  set(memkind_tests
    TestMemkindData.cxx
    )
endif()

vtk_add_test_cxx(vtkCommonDataModelCxxTests tests
  NO_DATA NO_VALID NO_OUTPUT
  ${memkind_tests}
  LagrangeHexahedron.cxx
  BezierInterpolation.cxx
  CellTreeLocator.cxx
  TestBezier.cxx
  TestAngularPeriodicDataArray.cxx
  TestArrayListTemplate.cxx
  TestCellInflation.cxx
  TestColor.cxx
  TestCoordinateFrame.cxx
  TestVector.cxx
  TestVectorOperators.cxx
  TestAMRBox.cxx
  TestBiQuadraticQuad.cxx
  TestCellArray.cxx
  TestCellArrayTraversal.cxx
  TestCompositeDataSets.cxx
  TestCompositeDataSetRange.cxx
  TestComputeBoundingSphere.cxx
  TestDataAssembly.cxx
  TestDataAssemblyUtilities.cxx
  TestDataSetAttributes.cxx
  TestDataObject.cxx
  TestDataObjectTreeRange.cxx
  TestFieldList.cxx
  TestGenericCell.cxx
  TestGraph.cxx
  TestGraph2.cxx
  TestGraphAttributes.cxx
  TestHigherOrderCell.cxx
  TestHyperTreeGridBitmask.cxx
  TestHyperTreeGridBounds.cxx
  TestHyperTreeGridCursors.cxx
  TestHyperTreeGridElderChildIndex.cxx
  TestImageDataFindCell.cxx
  TestImageDataInterpolation.cxx
  TestImageDataOrientation.cxx
  TestImageDataTransformCoordinates.cxx
  TestImageIterator.cxx
  TestInformationDataObjectKey.cxx
  TestInterpolationDerivs.cxx
  TestInterpolationFunctions.cxx
  TestMappedGridDeepCopy.cxx
  TestMappedGridShallowCopy.cxx
  TestMeshMTime.cxx
  TestPath.cxx
  TestPentagonalPrism.cxx
  TestPiecewiseFunction.cxx
  TestPiecewiseFunctionLogScale.cxx
  TestPixelExtent.cxx
  TestPointLocators.cxx
  TestPolyDataRemoveCell.cxx
  TestPolygon.cxx
  TestPolygonBoundedTriangulate.cxx
  TestPolygonNormalOverflow.cxx
  TestPolyhedron0.cxx
  TestPolyhedron1.cxx
  TestPolyhedron3.cxx
  TestPolyhedronCombinatorialContouring.cxx
  TestPolyhedronConvexity.cxx
  TestPolyhedronConvexityMultipleCells.cxx
  TestPolyhedronTriangulateFaces.cxx
  TestPolyhedralCellsInUG.cxx
  TestPyramid.cxx
  TestQuadraticPolygon.cxx
  TestRect.cxx
  TestSMPFeatures.cxx
  TestSelectionExpression.cxx
  TestSelectionSubtract.cxx
  TestSetCellsPolyhedronBackCompatibility.cxx
  TestSimpleIncrementalOctreePointLocator.cxx
  TestSortFieldData.cxx
  TestStaticCellLocator.cxx
  TestStructuredCellArray.cxx
  TestTable.cxx
  TestThreadedCopy.cxx
  TestTreeBFSIterator.cxx
  TestTreeDFSIterator.cxx
  TestTriangle.cxx
  TestTetra.cxx
  TimePointLocators.cxx
  otherCellBoundaries.cxx
  otherCellPosition.cxx
  otherCellTypes.cxx
  otherCellGrid.cxx
  otherColorTransferFunction.cxx
  otherEmptyCell.cxx
  otherFieldData.cxx
  otherHyperTreeGrid.cxx
  otherImageData.cxx
  otherPolyData.cxx
  otherRectilinearGrid.cxx
  otherStructuredGrid.cxx
  otherUniformGrid.cxx
  otherUnstructuredGrid.cxx
  quadCellConsistency.cxx
  quadraticEvaluation.cxx
  TestBoundingBox.cxx
  TestPlane.cxx
  TestStaticCellLinks.cxx
  TestStructuredData.cxx
  TestDataObjectTypes.cxx
  TestPolyDataRemoveDeletedCells.cxx
  UnitTestCells.cxx
  UnitTestImplicitDataSet.cxx
  UnitTestImplicitVolume.cxx
  UnitTestLine.cxx
  UnitTestPlanesIntersection.cxx
  UnitTestTriangleIntersection.cxx
  TestHyperTreeGridGeometricLocator.cxx
  )
vtk_add_test_cxx(vtkCommonDataModelCxxTests data_tests
  TestImageDataOrientation2.cxx,NO_DATA
  TestLagrangeCurveNonLinearLevel.cxx,NO_DATA
  TestLagrangeTriangle.cxx
  TestLagrangeTetra.cxx
  TestLagrangeWedge.cxx
  quadraticIntersection.cxx
  TestCellIterators.cxx,NO_VALID,NO_OUTPUT
  TestCellLocator.cxx,NO_DATA
  TestCellLocatorsEdgeCases.cxx,NO_VALID
  TestIncrementalOctreePointLocator.cxx,NO_VALID
  TestMeanValueCoordinatesInterpolation1.cxx
  TestMeanValueCoordinatesInterpolation2.cxx
  TestPolyhedron2.cxx,NO_VALID
  TestPolyhedron4.cxx,NO_VALID,NO_OUTPUT
  TestPolyhedronContouring.cxx,NO_VALID
  TestPolyhedronCutter.cxx,NO_VALID
  TestPolyhedronDecompose.cxx,NO_DATA
  TestSmoothErrorMetric.cxx
  TestStaticCellLocatorEdgeCases.cxx,NO_VALID
  TestQuadraticPolygonFilters.cxx
  TestNonlinearSubdivisionOfDegenerateCells.cxx,NO_DATA
  )

vtk_add_test_cxx(vtkCommonDataModelCxxTests output_tests
  TestKdTreeRepresentation.cxx,NO_DATA
  )

set(all_tests
  ${tests}
  ${data_tests}
  ${output_tests}
  ${custom_tests}
  )
vtk_test_cxx_executable(vtkCommonDataModelCxxTests all_tests)
