Exemplo n.º 1
0
		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));
		}