private static IEnumerator Run() { Instance[] array = s_instances; int instanceCount = array.Length; IEnumerator[] routines = new IEnumerator[instanceCount]; for (int i = 0; i < instanceCount; i++) { routines[i] = array[i].Tick(); } while (s_running) { for (int j = 0; j < instanceCount; j++) { CollectionsExtensions.MoveNextRecursiveImmediateSafe(routines[j], null); } yield return(null); } for (int k = 0; k < instanceCount; k++) { s_instances[k].Clear(); } s_instances = null; s_synchronizationBarrierId = 0L; s_synchronizationBarrier = default(SynchronizationBarrier); }
public void ToGridTest() { Assert.Throws <ArgumentNullException>(() => CollectionsExtensions.ToGrid((int[])null)); var grid = CollectionsExtensions.ToGrid(new int[] { 1, 2, 3 }, 5); Assert.Equal(5, grid.Total); Assert.Equal(new int[] { 1, 2, 3 }, grid.Rows); }
public void TryGetValueTest() { Dictionary <int, string> dict = null; Assert.Throws <ArgumentNullException>(() => CollectionsExtensions.TryGetValue(dict, 1)); dict = new Dictionary <int, string>() { { 1, "a" } }; Assert.Equal("a", CollectionsExtensions.TryGetValue(dict, 1)); }
public void Fibonacci_ValidInput_SequenceOfFibonacciNumbers(int count, int[] expectedArray) { var resultArray = new int[count]; int cnt = 0; foreach (var element in CollectionsExtensions.Fibonacci(count)) { resultArray[cnt++] = (int)element; } Assert.IsTrue(IsTheSameArrays(resultArray, expectedArray)); }
public void EqualsBytesTest() { byte[] b1 = null, b2 = null; Assert.True(CollectionsExtensions.EqualsBytes(b1, b2)); b1 = new byte[] { 1, 2, 3, 4, 5 }; Assert.False(CollectionsExtensions.EqualsBytes(b1, b2)); b2 = new byte[] { 1, 2, 3, 4, 5 }; Assert.True(CollectionsExtensions.EqualsBytes(b1, b2)); b1 = new byte[2048]; b2 = new byte[2048]; FastRandom.Instance.NextBytes(b1); FastRandom.Instance.NextBytes(b2); Assert.False(CollectionsExtensions.EqualsBytes(b1, b2)); }
public static bool AreEqual(DependenciesChange left, DependenciesChange right) { if (left == null || right == null) { return(left == right); } if (left == right) { return(true); } return(CollectionsExtensions.AreEqual(left.AddedNodes, right.AddedNodes) && CollectionsExtensions.AreEqual(left.UpdatedNodes, right.UpdatedNodes) && CollectionsExtensions.AreEqual(left.RemovedNodes, right.RemovedNodes)); }
public void Fibonacci_InvalidInput_ExpectedArgumentOutOfRangeException(int count) => Assert.Throws <ArgumentOutOfRangeException>(() => CollectionsExtensions.Fibonacci(count));