clean tests

pull/7/head
matthieugomez 2018-05-15 18:39:50 -04:00
parent cb3841118e
commit fea49c7b00
2 changed files with 21 additions and 15 deletions

View File

@ -17,12 +17,6 @@ end
# compare always return a value between 0 and 1.
# When string length < q for qgram distance, returns s1 == s2
function compare(dist::AbstractQGram, s1::AbstractString, s2::AbstractString)
len = min(length(s1), length(s2))
len <= (dist.q - 1) && return convert(Float64, s1 == s2)
1 - evaluate(dist, s1, s2)
end
function compare(dist::QGram, s1::AbstractString, s2::AbstractString)
len1 = length(s1)
len2 = length(s2)
@ -30,3 +24,9 @@ function compare(dist::QGram, s1::AbstractString, s2::AbstractString)
distance = evaluate(dist, s1, s2)
1 - distance / (len1 + len2 - 2 * dist.q + 2)
end
function compare(dist::AbstractQGram, s1::AbstractString, s2::AbstractString)
len = min(length(s1), length(s2))
len <= (dist.q - 1) && return convert(Float64, s1 == s2)
1 - evaluate(dist, s1, s2)
end

View File

@ -1,6 +1,18 @@
using StringDistances, Base.Test
# Compare
@test compare(Hamming(), "", "abc") 0.0 atol = 1e-4
@test compare(Hamming(), "acc", "abc") 2/3 atol = 1e-4
@test compare(Hamming(), "saturday", "sunday") 1/8 atol = 1e-4
@test compare(QGram(1), "", "abc") 0.0 atol = 1e-4
@test compare(QGram(1), "abc", "cba") 1.0 atol = 1e-4
@test compare(QGram(1), "abc", "ccc") 1/3 atol = 1e-4
@test compare(Jaccard(2), "", "abc") 0.0 atol = 1e-4
# Winkler
@test compare(Winkler(Jaro(), 0.1, 0.0), "martha", "marhta") 0.9611 atol = 1e-4
@test compare(Winkler(Jaro(), 0.1, 0.0), "dwayne", "duane") 0.84 atol = 1e-4
@test compare(Winkler(Jaro(), 0.1, 0.0), "dixon", "dicksonx") 0.81333 atol = 1e-4
@ -24,14 +36,9 @@ end
@test compare(Hamming(), "", "abc") 0.0 atol = 1e-4
@test compare(Hamming(), "acc", "abc") 2/3 atol = 1e-4
@test compare(Hamming(), "saturday", "sunday") 1/8 atol = 1e-4
@test compare(QGram(1), "", "abc") 0.0 atol = 1e-4
@test compare(QGram(1), "abc", "cba") 1.0 atol = 1e-4
@test compare(QGram(1), "abc", "ccc") 1/3 atol = 1e-4
# Partial
@test compare(Partial(Jaccard(2)), "aa", "aa ") 1.0
@test compare(Partial(RatcliffObershelp()), "New York Yankees", "Yankees") 1.0
@test compare(Partial(RatcliffObershelp()), "New York Yankees", "") 0.0
@ -49,7 +56,7 @@ s = "HSINCHUANG"
# Token
@test compare(TokenSort(RatcliffObershelp()), "New York Mets vs Atlanta Braves", "Atlanta Braves vs New York Mets") 1.0
@test compare(TokenSet(RatcliffObershelp()),"mariners vs angels", "los angeles angels of anaheim at seattle mariners") 1.0 - 0.09090909090909094
@ -60,7 +67,6 @@ s = "HSINCHUANG"
@test compare(TokenMax(RatcliffObershelp()),"mariners vs angels", "") 0.0
@test compare(Partial(Jaccard(2)), "aa", "aa ") 1.0
#@test_approx_eq compare(TokenSort(RatcliffObershelp()), graphemeiterator("New York Mets vs Atlanta Braves"), graphemeiterator("Atlanta Braves vs New York Mets")) 1.0