view TestEditDistance.cpp @ 16:06166d6c083b

Add configuration processing. Cache DB values Add a custom RBTree to save space. Track multiple DB connections properly. More testing. Add ValueExistsException.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Tue, 28 Aug 2012 18:58:02 +0200
parents a3834af36579
children b9515dc35fe4
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);
}