view TestEditDistance.cpp @ 109:6cf5eb5b0be1

Embed batch operations in BEGIN-END TRANSACTION for speed improvement.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Tue, 18 Feb 2014 19:41:23 +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);
}