public void GetEnumeratorFromEmptyEnumerator() { ArgumentEnumerator enumerator1 = ArgumentEnumerator.Empty; ArgumentEnumerator enumerator2 = enumerator1.GetEnumerator(); ArgumentEnumerator enumerator3 = enumerator1.GetEnumerator(); Assert.AreEqual(enumerator1, enumerator3); Assert.AreEqual(enumerator2, enumerator3); }
public void GetEnumeratorFromUsedEnumerator() { string[] arguments = new string[] { "/first", "/second" }; ArgumentEnumerator enumerator1 = new ArgumentEnumerator(arguments); ArgumentEnumerator enumerator2 = enumerator1.GetEnumerator(); ArgumentEnumerator enumerator3 = enumerator1.GetEnumerator(); Assert.AreNotEqual(enumerator1, enumerator3); Assert.AreNotEqual(enumerator2, enumerator3); }
public void GetEnumeratorFromSecondThread() { string[] arguments = new string[] { "/first", "/second" }; ArgumentEnumerator enumerator1 = new ArgumentEnumerator(arguments); ArgumentEnumerator enumerator2 = null; Thread thread = new Thread(() => enumerator2 = enumerator1.GetEnumerator()); thread.Start(); thread.Join(); Assert.AreNotEqual(enumerator1, enumerator2); }