view TestEditDistance.cpp @ 64:b9515dc35fe4

Make sure no file has greater linewidth than 80.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Fri, 14 Sep 2012 22:50:45 +0200
parents 06166d6c083b
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);
}