levenshtein_test.cpp 1010 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include <iostream>
  2. #include "levenshtein.hh"
  3. #define FAILED(got, op, expt) {std::cout << __FILE__ << ":" << __LINE__ << ": failed asserting " << got << " " << op << " expected " << expt << std::endl; return false; }
  4. bool doTest()
  5. {
  6. float pc;
  7. unsigned int lev;
  8. if ((lev = levenshtein("coucou", "coucou")) != 0)
  9. FAILED(lev, "!=", 0);
  10. if ((pc = levenshteinPercent("coucou", "coucou")) != 1)
  11. FAILED(pc, "!=", 1);
  12. if ((lev = levenshtein("coocou", "coucou")) != 1)
  13. FAILED(lev, "!=", 1);
  14. if ((lev = levenshtein("abcdefghijk", "zabcdefghijk")) != 1)
  15. FAILED(lev, "!=", 1);
  16. if ((lev = levenshtein("zabcdefghijk", "abcdefghijk")) != 1)
  17. FAILED(lev, "!=", 1);
  18. if ((lev = levenshtein("zabcdefghijk", "zabcdkfghijk")) != 1)
  19. FAILED(lev, "!=", 1);
  20. if ((lev = levenshtein("a", "zabcdkfghijk")) != 11)
  21. FAILED(lev, "!=", 11);
  22. return true;
  23. }
  24. int main()
  25. {
  26. if (!doTest())
  27. exit(EXIT_FAILURE);
  28. exit(EXIT_SUCCESS);
  29. }