static void IndexOfTestSub(bool trackFree) { const int size = 50; var d = new DArray <object>(trackFree); for (var i = 0; i < size; i++) { d[i] = new object(); } for (var i = 0; i < size; i++) { Assert.AreEqual(i, d.IndexOf(d[i])); } }
static void IndexOfValueTypeTestSub(bool trackFree) { const int size = 50; var d = new DArray <int>(trackFree); for (var i = 0; i < size; i++) { d[i] = i * 4; } for (var i = 0; i < size; i++) { Assert.AreEqual(i, d.IndexOf(d[i])); } }
static void EnumerateTestSub(bool trackFree) { const int size = 100; var objs = new object[size]; for (var i = 0; i < size; i++) { if ((i % 2) == 0) { objs[i] = new object(); } } var d = new DArray <object>(size * 2, trackFree); for (var i = 0; i < size; i++) { if (objs[i] != null) { d[i] = objs[i]; } } foreach (var obj in d) { var i = d.IndexOf(obj); Assert.IsNotNull(obj); Assert.AreSame(objs[i], obj); Assert.AreSame(objs[i], d[i]); objs[i] = null; } var remainingObjs = objs.Where(obj => obj != null).Count(); Assert.AreEqual(0, remainingObjs, "One or more items failed to be enumerated since all enumerated " + "items should have been removed from objs[]."); }
static void IndexOfValueTypeTestSub(bool trackFree) { const int size = 50; var d = new DArray<int>(trackFree); for (var i = 0; i < size; i++) { d[i] = i * 4; } for (var i = 0; i < size; i++) { Assert.AreEqual(i, d.IndexOf(d[i])); } }
static void IndexOfTestSub(bool trackFree) { const int size = 50; var d = new DArray<object>(trackFree); for (var i = 0; i < size; i++) { d[i] = new object(); } for (var i = 0; i < size; i++) { Assert.AreEqual(i, d.IndexOf(d[i])); } }
static void EnumerateValueTypeTestSub(bool trackFree) { const int size = 100; var objs = new int[size]; for (var i = 0; i < size; i++) { objs[i] = i * 4; } var d = new DArray<int>(size * 2, trackFree); for (var i = 0; i < size; i++) { d[i] = objs[i]; } foreach (var obj in d) { var i = d.IndexOf(obj); Assert.AreEqual(objs[i], obj); Assert.AreEqual(objs[i], d[i]); objs[i] = -1; } var remainingObjs = objs.Where(obj => obj != -1).Count(); Assert.AreEqual(0, remainingObjs, "One or more items failed to be enumerated since all enumerated " + "items should be equal to -1."); }
static void EnumerateTestSub(bool trackFree) { const int size = 100; var objs = new object[size]; for (var i = 0; i < size; i++) { if ((i % 2) == 0) objs[i] = new object(); } var d = new DArray<object>(size * 2, trackFree); for (var i = 0; i < size; i++) { if (objs[i] != null) d[i] = objs[i]; } foreach (var obj in d) { var i = d.IndexOf(obj); Assert.IsNotNull(obj); Assert.AreSame(objs[i], obj); Assert.AreSame(objs[i], d[i]); objs[i] = null; } var remainingObjs = objs.Where(obj => obj != null).Count(); Assert.AreEqual(0, remainingObjs, "One or more items failed to be enumerated since all enumerated " + "items should have been removed from objs[]."); }