示例#1
0
 public KeyCollection(DrLinkedDictonary <TKey, TValue> dictionary)
 {
     if (dictionary == null)
     {
         throw new ArgumentNullException(Res.Msg.DICTIONRY_NOT_NULL);
     }
     this.dictionary = dictionary;
 }
 public static DrLinkedDictonary<int, string> GetStockDictonary(int start, int iElements)
 {
     var d = new DrLinkedDictonary<int, string>();
     for (int i = start; i <= iElements; i++)
     {
         d.Add(i, i.ToString());
     }
     return d;
 }
        public static DrLinkedDictonary <int, string> GetStockDictonary(int start, int iElements)
        {
            var d = new DrLinkedDictonary <int, string>();

            for (int i = start; i <= iElements; i++)
            {
                d.Add(i, i.ToString());
            }
            return(d);
        }
        public void CompareKeyLinkedDictionary(DrLinkedDictonary<int, string> dic, List<string> list)
        {
            var i = (dic.EnumerationRules.Direction==EDirection.FORWARD ? 0 : list.Count-1);

            foreach (var item in dic)
            {
                Assert.AreEqual(item.Key.ToString(), list[i], false, string.Format("The '{0}' direction doesn't work correctly item '{1}' is not equals '{2}'.", EDirection.FORWARD, item.Key, list[i]));
                if (dic.EnumerationRules.Direction == EDirection.FORWARD)
                    i++;
                else
                    i--;
            }
        }
示例#5
0
 public LinkedEnumerator(DrLinkedDictonary <TKey, TValue> linkedDictionary, DrEnumerationRules eRules)
 {
     this.dic    = linkedDictionary;
     this.eRules = (DrEnumerationRules)eRules.Clone();
     if (this.eRules.IsFirstItemRelative)
     {
         this.startFrom = this.eRules.Direction == EDirection.FORWARD ? linkedDictionary.first : linkedDictionary.last;
     }
     else
     {
         this.startFrom = linkedDictionary.dic[this.eRules.StartFromKey];
     }
     nextLinkedValue    = this.startFrom;
     currentLinkedValue = default(DrLinkedValue);
 }
        public void CompareKeyLinkedDictionary(DrLinkedDictonary <int, string> dic, List <string> list, DrLinkedDictonary <int, string> .DrEnumerationRules eRules)
        {
            var i = (eRules.Direction == EDirection.FORWARD ? 0 : list.Count - 1);

            foreach (var item in dic.GetEnumerator(eRules))
            {
                Assert.AreEqual(item.Key.ToString(), list[i], false, string.Format("The '{0}' direction doesn't work correctly item '{1}' is not equals '{2}'.", eRules.Direction.ToString(), item.Key, list[i]));
                if (eRules.Direction == EDirection.FORWARD)
                {
                    i++;
                }
                else
                {
                    i--;
                }
            }
        }
示例#7
0
 public Enumerator(DrLinkedDictonary <TKey, TValue> linkedDictionary)
     : base(linkedDictionary)
 {
 }
示例#8
0
 public Enumerator(DrLinkedDictonary <TKey, TValue> linkedDictionary, DrEnumerationRules eRules)
     : base(linkedDictionary, eRules)
 {
 }
示例#9
0
 public LinkedEnumerator(DrLinkedDictonary <TKey, TValue> linkedDictionary)
     : this(linkedDictionary, new DrEnumerationRules())
 {
 }
 public void CompareKeyLinkedDictionary(DrLinkedDictonary <int, string> dic, List <string> list)
 {
     this.CompareKeyLinkedDictionary(dic, list, new DrLinkedDictonary <int, string> .DrEnumerationRules());
 }