public void TestVertexArray() { VertexArray <Vertex> va = new VertexArray <Vertex>(2); Assert.AreEqual(va.Count, 2); Assert.IsNull(va[0]); Assert.IsNull(va[1]); Vertex v0 = new Vertex(); Vertex v1 = new Vertex(); va.Add(0, v0); va.Add(1, v1); foreach (KeyValuePair <int, Vertex> pair in va) { Assert.AreNotEqual(pair, null); Assert.AreNotEqual(pair.Value, null); } Assert.AreEqual(va.Count, 2); Assert.IsTrue(va.ContainsKey(0)); Assert.IsTrue(va.ContainsKey(1)); Assert.IsTrue(va.Contains(new KeyValuePair <int, Vertex>(0, v0))); Assert.IsTrue(va.Contains(new KeyValuePair <int, Vertex>(1, v1))); Vertex re = null; Assert.IsTrue(va.TryGetValue(0, out re)); Assert.AreEqual(re, v0); re = null; Assert.IsFalse(va.TryGetValue(2, out re)); Assert.IsNull(re); Assert.IsTrue(va.Remove(new KeyValuePair <int, Vertex>(0, v0))); Assert.IsTrue(va.ContainsKey(0)); Assert.IsTrue(va.ContainsKey(1)); Assert.IsNull(va[0]); Assert.IsNotNull(va[1]); Assert.AreEqual(va[1], v1); Assert.IsTrue(va.Remove(1)); Assert.IsNull(va[1]); Assert.AreEqual(va.Count, 2); }