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);
        }
        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);
        }