public void TestHyperbolicSweetSpot() { SweetSpotSimilarity ss = new HyperbolicSweetSpotSimilarityHelper(); ss.SetHyperbolicTfFactors(3.3f, 7.7f, Math.E, 5.0f); TFIDFSimilarity s = ss; for (int i = 1; i <= 1000; i++) { assertTrue("MIN tf: i=" + i + " : s=" + s.Tf(i), 3.3f <= s.Tf(i)); assertTrue("MAX tf: i=" + i + " : s=" + s.Tf(i), s.Tf(i) <= 7.7f); } assertEquals("MID tf", 3.3f + (7.7f - 3.3f) / 2.0f, s.Tf(5), 0.00001f); // stupidity assertEquals("tf zero", 0.0f, s.Tf(0), 0.0f); }