using FuzzySharp.SimilarityRatio;
using FuzzySharp.SimilarityRatio.Scorer;
using FuzzySharp.SimilarityRatio.Scorer.Composite;
using FuzzySharp.SimilarityRatio.Scorer.StrategySensitive;
using System.Collections.Generic;
var data = new List<(string str1, string str2)>
("Frakt", "Frakt/Tillegg"),
("Mescalito Mid Gtx Ottanio-Lake Blue 40.5", "Mescalito Mid Gtx Ottanio-Lake Blue 40,5"),
("Wrapping film with UV line..", "Wrapping film with UV line"),
("5010661758 jabra Speak 510", "JABRA SPEAK 510 MS LYNC"),
("Trailblazer MIPS Helmet Matte White S/M (53/56ccm)", "Trailblazer MIPS Helmet Matte White S/M")
foreach (var scorer in GetScorers())
Console.WriteLine($"\r\n\r\n<<<<<---------------Scorer: {i++}. {scorer.GetType().Name}------------>>>>>\r\n\r\n");
foreach (var str1 in data.Select(x => x.str1))
foreach (var str2 in data.Select(x => x.str2))
var ratio = scorer.Score(str1, str2);
Console.WriteLine($"Matched: {j} '{str1}' with {k} '{str2}' with similarity ratio: {ratio}");
IEnumerable<IRatioScorer> GetScorers()
yield return ScorerCache.Get<DefaultRatioScorer>();
yield return ScorerCache.Get<PartialRatioScorer>();
yield return ScorerCache.Get<TokenSortScorer>();
yield return ScorerCache.Get<PartialTokenSortScorer>();
yield return ScorerCache.Get<TokenSetScorer>();
yield return ScorerCache.Get<PartialTokenSetScorer>();
yield return ScorerCache.Get<TokenDifferenceScorer>();
yield return ScorerCache.Get<PartialTokenDifferenceScorer>();
yield return ScorerCache.Get<TokenInitialismScorer>();
yield return ScorerCache.Get<PartialTokenInitialismScorer>();
yield return ScorerCache.Get<TokenAbbreviationScorer>();
yield return ScorerCache.Get<PartialTokenAbbreviationScorer>();
yield return ScorerCache.Get<WeightedRatioScorer>();