Example #1
0
        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);
                        }
                    }
                }
            }
        }
Example #2
0
        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.");
        }
Example #3
0
        public void SimpleTest_DoubleZero()
        {
            //Given
            var nums = new int[2] {
                0, 0
            };

            //When
            var result = new DoubleCheck().CheckIfExist(nums);

            //Then
            Assert.True(result);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
 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))
                          );
     }
 }