macro(coltest tname tfilename)
  add_executable(${tname} ${tfilename})
  target_link_libraries(${tname} ${COL_LIB_BASENAME})
  add_test(${tname} ${tname})
endmacro()

# Trie is an internal class whose symbols are hidden
# so we need to add the source manually.
add_executable(trie TrieTest.cc ../src/Trie.cc)
target_link_libraries(trie ${COL_LIB_BASENAME})
add_test(trie trie)
coltest(levtrie LevTrieTest.cc)
coltest(levindex LevIndexTest.cc)
coltest(custom_error CustomErrorTest.cc)
coltest(error_values ErrorValuesTest.cc)
coltest(word WordTest.cc)
coltest(wordlist WordListTest.cc)
coltest(document DocumentTest.cc)
coltest(corpus CorpusTest.cc)
coltest(matcher MatcherTest.cc)
coltest(matchresults MatchResultsTest.cc)
coltest(helpers HelpersTest.cc)
coltest(indexweights IndexWeightsTest.cc)
coltest(wordstore WordStoreTest.cc)
coltest(filtering ResultFilterTest.cc)
coltest(searchparameters SearchParametersTest.cc)
coltest(capi CAPITest.c)

add_executable(lev_scalability LevScalabilityTest.cc)
target_link_libraries(lev_scalability ${COL_LIB_BASENAME})
if(${enable_scalability_tests})
  add_test(lev_scalability lev_scalability /usr/share/dict/words)
endif()

if(build_python)
  add_test(python ${CMAKE_CURRENT_SOURCE_DIR}/pythontest.py)
  set_tests_properties(python PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_SOURCE_DIR}/python:${CMAKE_BINARY_DIR}/python")
endif()

add_executable(create_performance CreatePerformanceTest.cc)
target_link_libraries(create_performance ${COL_LIB_BASENAME})
