private void SetCorrelator() { ICorrelater <char> correlator; switch (selectCorrelatorComboBox.Text) { case nameof(DamerauLevenshteinCorrelater <char>): correlator = new DamerauLevenshteinCorrelater <char>(10, 12, 7, 7); break; case nameof(DynamicLcsCorrelater <char>): correlator = new DynamicLcsCorrelater <char>(); break; case nameof(MyersAlgorithmCorrelater <char>): correlator = new MyersAlgorithmCorrelater <char>(); break; case nameof(PatienceDiffCorrelater <char>): correlator = new PatienceDiffCorrelater <char>(); break; case nameof(HuntSzymanskiCorrelater <char>): correlator = new HuntSzymanskiCorrelater <char>(); break; case nameof(NullCorrelator <char>): correlator = new NullCorrelator <char>(); break; case nameof(LevenshteinCorrelater <char>): default: correlator = new LevenshteinCorrelater <char>(10, 7, 7); break; } if (slowCompareCheclCheckBox.Checked) { correlator = new SlowCorrelater <char>(correlator, 500); } if (splitToChunksCheckBox.Checked) { correlator = new SplitToChunksCorrelaterWrapper <char>(correlator, 10); } if (IgnoreIdenticalBeginningAndEndCorrelaterWrapperCheckBox.Checked) { correlator = new IgnoreIdenticalBeginningAndEndCorrelaterWrapper <char>(correlator); } if (SplitByPatienceWrapperCheckBox.Checked) { correlator = new SplitByPatienceAlgorithmWrapper <char>(correlator); } stringCorrelatorUserControl1.Correlater = correlator; }
public void Correlate_Transposition3() { var correlater = new DamerauLevenshteinCorrelater <string>(20, 10, 15, 15); var array1 = new[] { "A", "D", "B" }; var array2 = new[] { "B", "D" }; var expectedResult = new CorrelaterResult <string>(25, array1, new [] { null, "B", "D" }); correlater.AssertComparision(array1, array2, expectedResult); }
public void DifrentTranspositionCosts(int transpositionCost) { var transpositionCalculator = A.Fake <ITranspositionCalculator <string> >(); var correlater = new DamerauLevenshteinCorrelater <string>(new BasicDistanceCalculator <string>(20), transpositionCalculator, 20, 20); A.CallTo(() => transpositionCalculator.TranspositionCost(A <string> ._, A <string> ._)).Returns((uint)transpositionCost); var array1 = new[] { "V", "E" }; var array2 = new[] { "E", "V" }; var expectedResult = new CorrelaterResult <string>(transpositionCost, array1, array2); correlater.AssertComparision(array1, array2, expectedResult); }
public void CorrelateObject_NullElementInCollection_ThrowException(bool nullInCollection1) { var collectionWithNull = new[] { new TestClass(), null }; var collectionWithoutNull = new[] { new TestClass() }; var correlater = new DamerauLevenshteinCorrelater <TestClass>(missmatchCost, transpositionCost, removalCost, insertionCost); if (nullInCollection1) { correlater.AssetThrowsNullElementException(collectionWithNull, collectionWithoutNull, "collection1", 1); } else { correlater.AssetThrowsNullElementException(collectionWithoutNull, collectionWithNull, "collection2", 1); } }
public void OnProgressUpdatesHappensRightNumberOfTimes() { var correlater = new DamerauLevenshteinCorrelater <string>(missmatchCost, transpositionCost, removalCost, insertionCost); correlater.AssertProgressUpdateWasCalledRightNumberOfTimes(); }