public void TestGroupHintAlgorithm() { //null GroupHint left = new GroupHint(null); Assert.AreEqual(String.Empty, left.Hint); // left = "", right="" GroupHint right = new GroupHint(""); Assert.AreEqual(1, left.MatchScore(right)); // left = "NonEmpty.Test", right="" left = new GroupHint("NonEmpty.Test"); Assert.AreEqual(1, left.MatchScore(right)); // left = "", right="NonEmpty.Test" left = right; right = new GroupHint("NonEmpty.Test"); Assert.AreEqual(0, left.MatchScore(right)); // left = "Tools.Standard.ImageManipulation.Lut.LutPresets", right="Tools.Standard.ImageManipulation.Lut" left = new GroupHint("Tools.Standard.ImageManipulation.Lut.LutPresets"); right = new GroupHint("Tools.Standard.ImageManipulation.Lut"); Assert.AreEqual(5, left.MatchScore(right)); // left = "Tools.Standard.ImageManipulation.Lut", right="Tools.Standard.ImageManipulation.Lut.LutPresets" GroupHint temp = left; left = right; right = temp; Assert.AreEqual(-5, left.MatchScore(right)); // left = "Tools.Standard.ImageManipulation.Lut", right="Tools.Standard.ImageManipulation.Lut" right = left; Assert.AreEqual(5, left.MatchScore(right)); // left = "Tools.Standard.ImageManipulation.Lut.LutPresets", right="Tools.Standard.ImageManipulation.Lut.Auto" left = new GroupHint("Tools.Standard.ImageManipulation.Lut.LutPresets"); right = new GroupHint("Tools.Standard.ImageManipulation.Lut.Auto"); Assert.AreEqual(5, left.MatchScore(right)); // left = "Tools.Standard.ImageManipulation.Lut.Auto", right="Tools.Standard.ImageManipulation.Lut.LutPresets" left = right; right = temp; Assert.AreEqual(-5, left.MatchScore(right)); // left = "Tools.Standard.ImageManipulation.Lut", right="DisplaySets" right = new GroupHint("DisplaySets"); Assert.AreEqual(0, left.MatchScore(right)); // left = "DisplaySets", right="Tools.Standard.ImageManipulation.Lut" temp = left; left = right; right = temp; Assert.AreEqual(0, left.MatchScore(right)); }