示例#1
0
 public void TestOrderOfAdds()
 {
     SequentialSet<int> set = new SequentialSet<int>();
     set.Add(0);
     set.Add(1);
     set.Add(2);
     int counter = 0;
     Assert.AreEqual(3, set.Count);
     foreach (int next in set)
     {
         Assert.AreEqual(counter, set[counter]);
         Assert.AreEqual(counter++, next);
     }
     Assert.AreEqual(3, counter);
     try
     {
         int n = set[3];
         Assert.Fail("Should have thrown out-of-range exception");
     }
     catch (ArgumentOutOfRangeException)
     {
         /* ignore: index was out of range */
     }
 }
示例#2
0
 public void TestRemoves()
 {
     SequentialSet<int> set = new SequentialSet<int>();
     set.Add(0);
     set.Add(1);
     set.Add(2);
     Assert.AreEqual(3, set.Count);
     Assert.IsTrue(set.Remove(1), "element should be present");
     Assert.AreEqual(2, set.Count);
     Assert.IsTrue(set[0] == 0);
     Assert.IsTrue(set[1] == 2);
 }
示例#3
0
 public void TestContains()
 {
     SequentialSet<int> set = new SequentialSet<int>();
     set.Add(0);
     set.Add(1);
     set.Add(2);
     Assert.IsTrue(set.Contains(0));
     Assert.IsTrue(set.Contains(1));
     Assert.IsTrue(set.Contains(2));
     Assert.IsFalse(set.Contains(-1));
     Assert.IsFalse(set.Contains(3));
 }