view TestEditDistance.cpp @ 70:c2ad34480216

Quieting clang is obviously only needed for clang and breaks other compilers.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Sat, 12 Jan 2013 12:15:34 +0100
parents b9515dc35fe4
children
line wrap: on
line source

#include "EditDistance.hpp"
#include "TestFramework.hpp"

BOOST_AUTO_TEST_CASE( TestEditDistance )
{
  BOOST_REQUIRE_EQUAL(EditDistance::Compute("kitten", "sitting", false), 3);
  BOOST_REQUIRE_EQUAL(EditDistance::Compute("Saturday", "Sunday", false), 3);
  BOOST_REQUIRE_EQUAL(EditDistance::Compute("kitten", "kitten.cpp.o", false),
		      6);
  BOOST_REQUIRE_EQUAL(EditDistance::Compute(QString::fromUtf8("kítten"),
					    "sitting", false), 4);
}

BOOST_AUTO_TEST_CASE( TestEditDistanceRemoveDiacritics )
{
  BOOST_REQUIRE_EQUAL(EditDistance::Compute(QString::fromUtf8("kítten"),
					    "sitting", true), 3);
}

BOOST_AUTO_TEST_CASE( TestNormalization )
{
  BOOST_REQUIRE_EQUAL(EditDistance::removeDiacritics("kitten"), "kitten");
  BOOST_REQUIRE_EQUAL(
	       EditDistance::removeDiacritics(QString::fromUtf8("Händel")),
	       "Handel");
  BOOST_REQUIRE_EQUAL(
	       EditDistance::removeDiacritics(QString::fromUtf8("Hånda")),
	       "Handa");
  BOOST_REQUIRE_EQUAL(
	       EditDistance::removeDiacritics(QString::fromUtf8("Líll")),
	       "Lill");
}

BOOST_AUTO_TEST_CASE( TestStrangeChars )
{
  BOOST_REQUIRE_EQUAL(EditDistance::Compute("S'turday", "Sunday", false), 3);
  BOOST_REQUIRE_EQUAL(EditDistance::Compute("S'turday", "Sunday", false), 3);
}