public void GetMatchPath_WhenExists_1() { var popFolderPath = PathExtension.Normalize(fixturesFolder + @"/music/pop/"); var houseFolderPath = PathExtension.Normalize(fixturesFolder + @"/music/house/"); var mainFolderPath = PathExtension.Normalize(fixturesFolder + @"/music/deep/"); var specFolderPath = PathExtension.Normalize(fixturesFolder + @"/music/spec/"); var collection = new HashTagFolderCollection { { popFolderPath, "#pop" }, { houseFolderPath, "#house" }, { houseFolderPath, "#house #pop" }, { mainFolderPath, "#deep" }, { mainFolderPath, "#deep #house" }, { mainFolderPath, "#deep #house #pop" }, { mainFolderPath, "#newdisco" }, { specFolderPath, "#spec" }, { specFolderPath, "#trap" }, { specFolderPath, "#rnb" }, { specFolderPath, "#pop #spec" }, { specFolderPath, "#house #spec" }, { specFolderPath, "#house #spec #pop" }, }; Assert.AreEqual(houseFolderPath, collection.GetMatchPath(HashTagModel.Parser.All("#pop #house #entrophy"))); Assert.AreEqual(popFolderPath, collection.GetMatchPath(HashTagModel.Parser.All("#entrophy #pop"))); Assert.AreEqual(houseFolderPath, collection.GetMatchPath(HashTagModel.Parser.All("#house #entrophy"))); Assert.AreEqual(specFolderPath, collection.GetMatchPath(HashTagModel.Parser.All("#spec #entrophy"))); Assert.AreEqual(specFolderPath, collection.GetMatchPath(HashTagModel.Parser.All("#spec #pop #house #entrophy"))); Assert.AreEqual(specFolderPath, collection.GetMatchPath(HashTagModel.Parser.All("#spec #pop #house #deep #entrophy"))); Assert.AreEqual(mainFolderPath, collection.GetMatchPath(HashTagModel.Parser.All("#pop #house #deep #entrophy"))); }
public void MustMoveToMorePrioritySubsetofModel() { const string popPath = fixturesFolder + @"/music/pop"; const string housePath = fixturesFolder + @"/music/house"; const string mainPath = fixturesFolder + @"/music/deep"; var collection = new HashTagFolderCollection { { housePath, "#house #deep" }, { popPath, "#pop" }, { housePath, "#house", 1 }, { mainPath, "#deep", 2 }, }; const string expectedPath = mainPath; var actualPath = collection.GetMatchPath(HashTagModel.Parser.All("#pop #house #deep")); Assert.AreEqual(expectedPath, actualPath); }