public ExclusionGrid(IEnumerable <SkillVM> skills) { DoubleKeyComparer comparer = new DoubleKeyComparer(skills.Min(s => s.ID), skills.Max(s => s.ID)); _grid = new Dictionary <DoubleKey, DoubleCheck>(comparer); foreach (SkillVM s1 in skills) { foreach (SkillVM s2 in skills) { if (s1.ID != s2.ID) { DoubleKey key = new DoubleKey(s1.ID, s2.ID); if (!_grid.ContainsKey(key)) { bool defaultChecked = GetDefaultChecked(s1, s2); DoubleCheck value = new DoubleCheck() { Skill1 = s1, Skill2 = s2, IsChecked = defaultChecked }; _grid.Add(key, value); } } } } }
public void ShouldRunDoubleCheckPureTest(string description, object testDataObject) { var testData = testDataObject as DoubleCheckTestData; Assert.IsNotNull(testData, "Test data is null"); var actual = DoubleCheck.ShouldRunDoubleCheckPure(testData.ActionName, testData.TimeStampDictionary.ToImmutableDictionary(), testData.Now, testData.Threshold); Assert.AreEqual(testData.ExpectedShouldRunDoubleCheck, actual, "Should run double check."); }
public void SimpleTest_DoubleZero() { //Given var nums = new int[2] { 0, 0 }; //When var result = new DoubleCheck().CheckIfExist(nums); //Then Assert.True(result); }
public void SimpleTest_WithNegatives_AndZeros() { //Given var nums = new int[7] { -2, 0, 10, -19, 4, 6, -8 }; //When var result = new DoubleCheck().CheckIfExist(nums); //Then Assert.False(result); }
public void SimpleTest_DoubleDoesNotExist() { //Given var nums = new int[4] { 3, 1, 7, 11 }; //When var result = new DoubleCheck().CheckIfExist(nums); //Then Assert.False(result); }
public void SimpleTest_DoubleExists_2() { //Given var nums = new int[4] { 7, 1, 14, 11 }; //When var result = new DoubleCheck().CheckIfExist(nums); //Then Assert.True(result); }
public ReaderWriter(Func <TObject, TKey> keySelector = null) { if (keySelector == null) { _intermediateUpdater = new DoubleCheck <IntermediateUpdater <TObject, TKey> > ( () => new IntermediateUpdater <TObject, TKey>(_cache) ); } else { _sourceUpdater = new DoubleCheck <SourceUpdater <TObject, TKey> > ( () => new SourceUpdater <TObject, TKey>(_cache, new KeySelector <TObject, TKey>(keySelector)) ); } }