public void TestSweetSpotTf()
{
SweetSpotSimilarity ss = new SweetSpotSimilarity();
TFIDFSimilarity d = new DefaultSimilarity();
TFIDFSimilarity s = ss;
// tf equal
ss.SetBaselineTfFactors(0.0f, 0.0f);
for (int i = 1; i < 1000; i++)
{
assertEquals("tf: i=" + i,
d.Tf(i), s.Tf(i), 0.0f);
}
// tf higher
ss.SetBaselineTfFactors(1.0f, 0.0f);
for (int i = 1; i < 1000; i++)
{
assertTrue("tf: i=" + i + " : d=" + d.Tf(i) +
" < s=" + s.Tf(i),
d.Tf(i) < s.Tf(i));
}
// tf flat
ss.SetBaselineTfFactors(1.0f, 6.0f);
for (int i = 1; i <= 6; i++)
{
assertEquals("tf flat1: i=" + i, 1.0f, s.Tf(i), 0.0f);
}
ss.SetBaselineTfFactors(2.0f, 6.0f);
for (int i = 1; i <= 6; i++)
{
assertEquals("tf flat2: i=" + i, 2.0f, s.Tf(i), 0.0f);
}
for (int i = 6; i <= 1000; i++)
{
assertTrue("tf: i=" + i + " : s=" + s.Tf(i) +
" < d=" + d.Tf(i),
s.Tf(i) < d.Tf(i));
}
// stupidity
assertEquals("tf zero", 0.0f, s.Tf(0), 0.0f);
}