private void Exists_VerifyVanilla(T[] items) { T?expectedItem = default(T); SegmentedList <T?> list = new SegmentedList <T?>(); Predicate <T?> expectedItemDelegate = (T? item) => { return(expectedItem == null ? item == null : expectedItem.Equals(item)); }; bool typeNullable = default(T) == null; for (int i = 0; i < items.Length; ++i) { list.Add(items[i]); } //[] Verify Exists returns the correct index for (int i = 0; i < items.Length; ++i) { expectedItem = items[i]; Assert.True(list.Exists(expectedItemDelegate), "Err_282308ahid Verifying Nullable returned FAILED\n"); } //[] Verify Exists returns true if the match returns true on every item Assert.True((0 < items.Length) == list.Exists((T? item) => { return(true); }), "Err_548ahid Verify Exists returns 0 if the match returns true on every item FAILED\n"); //[] Verify Exists returns false if the match returns false on every item Assert.True(!list.Exists((T? item) => { return(false); }), "Err_30848ahidi Verify Exists returns -1 if the match returns false on every item FAILED\n"); //[] Verify with default(T) list.Add(default(T)); Assert.True(list.Exists((T? item) => { return(item == null ? default(T) == null : item.Equals(default(T))); }), "Err_541848ajodi Verify with default(T) FAILED\n"); list.RemoveAt(list.Count - 1); }
private void Exists_VerifyDuplicates(T[] items) { T?expectedItem = default(T); SegmentedList <T> list = new SegmentedList <T>(); Predicate <T> expectedItemDelegate = (T item) => { return(expectedItem == null ? item == null : expectedItem.Equals(item)); }; if (0 < items.Length) { for (int i = 0; i < items.Length; ++i) { list.Add(items[i]); } for (int i = 0; i < items.Length && i < 2; ++i) { list.Add(items[i]); } //[] Verify first item is duplicated expectedItem = items[0]; Assert.True(list.Exists(expectedItemDelegate), "Err_2879072qaiadf Verify first item is duplicated FAILED\n"); } if (1 < items.Length) { //[] Verify second item is duplicated expectedItem = items[1]; Assert.True(list.Exists(expectedItemDelegate), "Err_4588ajdia Verify second item is duplicated FAILED\n"); //[] Verify with match that matches more then one item Assert.True(list.Exists((T item) => { return(item != null && (item.Equals(items[0]) || item.Equals(items[1]))); }), "Err_4489ajodoi Verify with match that matches more then one item FAILED\n"); } }