public void TestSameDistance() { var context = new SimilarityContext(); context.AddSeeds(new Seed [] { GetSeed(s1, 1.0f) }); Assert.AreEqual(0f, context.Distance(Scms.FromBytes(Bytes(s1))).Average()); }
public void TestEmptyContext() { var context = new SimilarityContext(); Assert.IsTrue(context.IsEmpty); Assert.AreEqual(float.MaxValue, context.Distance(null).Average()); }
public void TestDiscardedDistance() { // Test with different seed weight var distance_s1_s2_discarded = 81.65736f; var context = new SimilarityContext(); context.AddSeeds(new Seed [] { GetSeed(s1, SimilarityContext.DiscardedWeight) }); Assert.IsFalse(context.IsEmpty); Assert.Less(Math.Abs(distance_s1_s2_discarded - context.Distance(Scms.FromBytes(Bytes(s2))).Average()), 0.1); }
public void TestShuffledDistances() { var distance_s1_s2 = 27.21912f; var context = new SimilarityContext(); context.AddSeeds(new Seed [] { GetSeed(s1, SimilarityContext.ShuffledWeight) }); Assert.IsFalse(context.IsEmpty); Assert.Less(Math.Abs(distance_s1_s2 - context.Distance(Scms.FromBytes(Bytes(s2))).Average()), 0.1); // Add the same seed w/ the same weight; make sure the average is the same context.AddSeeds(new Seed [] { GetSeed(s1, SimilarityContext.ShuffledWeight) }); Assert.Less(Math.Abs(distance_s1_s2 - context.Distance(Scms.FromBytes(Bytes(s2))).Average()), 0.1); }