view TestEditDistance.cpp @ 59:74be5a2f49db

Separate SQLGenerator into a separate header.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Fri, 14 Sep 2012 00:20:06 +0200
parents 06166d6c083b
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);
}