itk_module_test()
set(ITKWatershedsTests
    itkTobogganImageFilterTest.cxx
    itkIsolatedWatershedImageFilterTest.cxx
    itkWatershedImageFilterTest.cxx
    itkMorphologicalWatershedFromMarkersImageFilterTest.cxx
    itkMorphologicalWatershedImageFilterTest.cxx
    itkWatershedImageFilterBadValuesTest.cxx)

createtestdriver(ITKWatersheds "${ITKWatersheds-Test_LIBRARIES}" "${ITKWatershedsTests}")

itk_add_test(
  NAME
  itkWatershedImageFilterBadValuesTest
  COMMAND
  ITKWatershedsTestDriver
  itkWatershedImageFilterBadValuesTest
  DATA{Input/watershed-test.tif})
itk_add_test(
  NAME
  itkTobogganImageFilterTest
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkTobogganImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkTobogganImageFilterTest.png
  itkTobogganImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkTobogganImageFilterTest.png)
itk_add_test(
  NAME
  itkIsolatedWatershedImageFilterTest
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkIsolatedWatershedImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIsolatedWatershedImageFilterTest.png
  itkIsolatedWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIsolatedWatershedImageFilterTest.png
  113
  84
  120
  99
  0.001
  .0001)
itk_add_test(
  NAME
  itkIsolatedWatershedImageFilterTestCloseThresholds
  COMMAND
  ITKWatershedsTestDriver
  --compare-MD5
  DATA{Baseline/itkIsolatedWatershedImageFilterTestCloseThresholds.png}
  b53800712fb3b5a376c2f8234e1ebac5
  itkIsolatedWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIsolatedWatershedImageFilterTestCloseThresholds.png
  113
  84
  120
  99
  0.1
  1.0)
itk_add_test(
  NAME
  itkWatershedImageFilterTest
  COMMAND
  ITKWatershedsTestDriver
  itkWatershedImageFilterTest)

itk_add_test(
  NAME
  itkMorphologicalWatershedFromMarkersImageFilterTestM0F0
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedFromMarkersImageFilterTestM0F0.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedFromMarkersImageFilterTestM0F0.png
  itkMorphologicalWatershedFromMarkersImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-markers.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedFromMarkersImageFilterTestM0F0.png
  0
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedFromMarkersImageFilterTestM0F1
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedFromMarkersImageFilterTestM0F1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedFromMarkersImageFilterTestM0F1.png
  itkMorphologicalWatershedFromMarkersImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-markers.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedFromMarkersImageFilterTestM0F1.png
  0
  1)
itk_add_test(
  NAME
  itkMorphologicalWatershedFromMarkersImageFilterTestM1F0
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedFromMarkersImageFilterTestM1F0.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedFromMarkersImageFilterTestM1F0.png
  itkMorphologicalWatershedFromMarkersImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-markers.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedFromMarkersImageFilterTestM1F0.png
  1
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedFromMarkersImageFilterTestM1F1
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedFromMarkersImageFilterTestM1F1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedFromMarkersImageFilterTestM1F1.png
  itkMorphologicalWatershedFromMarkersImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-markers.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedFromMarkersImageFilterTestM1F1.png
  1
  1)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestButtonHoleM0F0
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestButtonHoleM0F0.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestButtonHoleM0F0.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/button-hole.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestButtonHoleM0F0.png
  0
  0
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestPassValuesM0F0
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestPassValuesM0F0.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPassValuesM0F0.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/pass-values.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPassValuesM0F0.png
  0
  0
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestPlateauM0F0
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestPlateauM0F0.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPlateauM0F0.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/plateau.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPlateauM0F0.png
  0
  0
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestThickLinesM0F0
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestThickLinesM0F0.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestThickLinesM0F0.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/thick-lines.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestThickLinesM0F0.png
  0
  0
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestButtonHoleM0F1
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestButtonHoleM0F1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestButtonHoleM0F1.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/button-hole.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestButtonHoleM0F1.png
  0
  1
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestPassValuesM0F1
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestPassValuesM0F1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPassValuesM0F1.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/pass-values.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPassValuesM0F1.png
  0
  1
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestPlateauM0F1
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestPlateauM0F1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPlateauM0F1.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/plateau.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPlateauM0F1.png
  0
  1
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestThickLinesM0F1
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestThickLinesM0F1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestThickLinesM0F1.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/thick-lines.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestThickLinesM0F1.png
  0
  1
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestButtonHoleM1F0
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestButtonHoleM1F0.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestButtonHoleM1F0.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/button-hole.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestButtonHoleM1F0.png
  1
  0
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestPassValuesM1F0
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestPassValuesM1F0.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPassValuesM1F0.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/pass-values.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPassValuesM1F0.png
  1
  0
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestPlateauM1F0
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestPlateauM1F0.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPlateauM1F0.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/plateau.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPlateauM1F0.png
  1
  0
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestThickLinesM1F0
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestThickLinesM1F0.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestThickLinesM1F0.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/thick-lines.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestThickLinesM1F0.png
  1
  0
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestButtonHoleM1F1
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestButtonHoleM1F1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestButtonHoleM1F1.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/button-hole.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestButtonHoleM1F1.png
  1
  1
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestPassValuesM1F1
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestPassValuesM1F1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPassValuesM1F1.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/pass-values.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPassValuesM1F1.png
  1
  1
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestPlateauM1F1
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestPlateauM1F1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPlateauM1F1.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/plateau.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestPlateauM1F1.png
  1
  1
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestThickLinesM1F1
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestThickLinesM1F1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestThickLinesM1F1.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/thick-lines.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestThickLinesM1F1.png
  1
  1
  0)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestLevel00
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestLevel00.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestLevel00.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/level.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestLevel00.png
  1
  0
  00)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestLevel10
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestLevel10.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestLevel10.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/level.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestLevel10.png
  1
  0
  10)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestLevel20
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestLevel20.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestLevel20.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/level.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestLevel20.png
  1
  0
  20)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestLevel30
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestLevel30.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestLevel30.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/level.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestLevel30.png
  1
  0
  30)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestLevel40
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestLevel40.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestLevel40.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/level.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestLevel40.png
  1
  0
  40)
itk_add_test(
  NAME
  itkMorphologicalWatershedImageFilterTestLevel50
  COMMAND
  ITKWatershedsTestDriver
  --compare
  DATA{Baseline/itkMorphologicalWatershedImageFilterTestLevel50.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestLevel50.png
  itkMorphologicalWatershedImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/level.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMorphologicalWatershedImageFilterTestLevel50.png
  1
  0
  50)
