public void Malformed() { var foo = new OrderByEnumerable <int, int, EmptyEnumerable <int>, EmptyEnumerator <int>, SingleComparerAscending <int, int> >(); var bar = new EmptyOrderedEnumerable <int>(); // ascending, default { try { foo.ThenBy(x => x); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { bar.ThenBy(x => x); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // descending, default { try { foo.ThenByDescending(x => x); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { bar.ThenByDescending(x => x); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // ascending, specific { try { foo.ThenBy(x => "", StringComparer.InvariantCultureIgnoreCase); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { bar.ThenBy(x => "", StringComparer.InvariantCultureIgnoreCase); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // descending, specific { try { foo.ThenByDescending(x => "", StringComparer.InvariantCultureIgnoreCase); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { bar.ThenByDescending(x => "", StringComparer.InvariantCultureIgnoreCase); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } }
public void Malformed_Weird() { var empty = new EmptyEnumerable <int>(); var emptyOrdered = new EmptyOrderedEnumerable <int>(); var groupByDefault = new GroupByDefaultEnumerable <int, int, int, EmptyEnumerable <int>, EmptyEnumerator <int> >(); var groupBySpecific = new GroupBySpecificEnumerable <int, int, int, EmptyEnumerable <int>, EmptyEnumerator <int> >(); var lookupDefault = new LookupDefaultEnumerable <int, int>(); var lookupSpecific = new LookupSpecificEnumerable <int, int>(); var range = new RangeEnumerable(); var repeat = new RepeatEnumerable <int>(); var reverseRange = new ReverseRangeEnumerable(); var oneItemDefault = new OneItemDefaultEnumerable <int>(); var oneItemSpecific = new OneItemSpecificEnumerable <int>(); var oneItemDefaultOrdered = new OneItemDefaultOrderedEnumerable <int>(); var oneItemSpecificOrdered = new OneItemSpecificOrderedEnumerable <int>(); try { empty.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { emptyOrdered.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { groupByDefault.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { groupBySpecific.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { lookupDefault.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { lookupSpecific.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { range.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { repeat.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { reverseRange.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { oneItemDefault.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { oneItemSpecific.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { oneItemDefaultOrdered.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { oneItemSpecificOrdered.Reverse(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } }
public void CreateOrderedEnumerable_Malformed_Weird() { // emptyOrdered { var e = new EmptyOrderedEnumerable <int>(); try { e.CreateOrderedEnumerable(null, new _CreateOrderedEnumerable(), true); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // oneItemDefaultOrdered { var e = new OneItemDefaultOrderedEnumerable <int>(); try { e.CreateOrderedEnumerable(null, new _CreateOrderedEnumerable(), true); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // oneItemSpecificOrdered { var e = new OneItemSpecificOrderedEnumerable <int>(); try { e.CreateOrderedEnumerable(null, new _CreateOrderedEnumerable(), true); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } }
public static EmptyEnumerable <TItemOut> EmptySelectMany_Impl <TItem, TItemOut>(ref EmptyOrderedEnumerable <TItem> source, Delegate collectionSelector, Delegate resultSelector) { if (source.IsDefaultValue()) { throw CommonImplementation.Uninitialized(nameof(source)); } if (collectionSelector == null) { throw CommonImplementation.ArgumentNull(nameof(collectionSelector)); } if (resultSelector == null) { throw CommonImplementation.ArgumentNull(nameof(resultSelector)); } return(EmptyCache <TItemOut> .Empty); }
public void Malformed_Weird() { var empty = new EmptyEnumerable <int>(); var emptyOrdered = new EmptyOrderedEnumerable <int>(); var groupByDefault = new GroupByDefaultEnumerable <int, int, int, EmptyEnumerable <int>, EmptyEnumerator <int> >(); var groupBySpecific = new GroupBySpecificEnumerable <int, int, int, EmptyEnumerable <int>, EmptyEnumerator <int> >(); var lookupDefault = new LookupDefaultEnumerable <int, int>(); var lookupSpecific = new LookupSpecificEnumerable <int, int>(); var range = new RangeEnumerable(); var repeat = new RepeatEnumerable <int>(); var reverseRange = new ReverseRangeEnumerable(); var oneItemDefault = new OneItemDefaultEnumerable <int>(); var oneItemSpecific = new OneItemSpecificEnumerable <int>(); var oneItemDefaultOrdered = new OneItemDefaultOrderedEnumerable <int>(); var oneItemSpecificOrdered = new OneItemSpecificOrderedEnumerable <int>(); // empty { try { empty.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { empty.Distinct(new _IntComparer()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // emptyOrdered { try { emptyOrdered.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { emptyOrdered.Distinct(new _IntComparer()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // groupByDefault { try { groupByDefault.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { groupByDefault.Distinct(new _GroupingComparer <int>()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // groupBySpecific { try { groupBySpecific.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { groupBySpecific.Distinct(new _GroupingComparer <int>()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // lookupDefault { try { lookupDefault.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { lookupDefault.Distinct(new _GroupingComparer <int>()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // lookupSpecific { try { lookupSpecific.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { lookupSpecific.Distinct(new _GroupingComparer <int>()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // range { try { range.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { range.Distinct(new _IntComparer()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // repeat { try { repeat.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { repeat.Distinct(new _IntComparer()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // reverseRange { try { reverseRange.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { reverseRange.Distinct(new _IntComparer()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // oneItemDefault { try { oneItemDefault.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { oneItemDefault.Distinct(new _IntComparer()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // oneItemSpecific { try { oneItemSpecific.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { oneItemSpecific.Distinct(new _IntComparer()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // oneItemDefaultOrdered { try { oneItemDefaultOrdered.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { oneItemDefaultOrdered.Distinct(new _IntComparer()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // oneItemSpecificOrdered { try { oneItemSpecificOrdered.Distinct(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } try { oneItemSpecificOrdered.Distinct(new _IntComparer()); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } }
internal static EmptyEnumerable <TOutItem> EmptyZipBridge_Impl <TItem, TOutItem, TSecondItemOut, TBridgeEnumerable>(ref EmptyOrderedEnumerable <TItem> first, TBridgeEnumerable second, Delegate resultSelector) where TBridgeEnumerable : class, IEnumerable <TSecondItemOut> { if (first.IsDefaultValue()) { throw CommonImplementation.Uninitialized(nameof(first)); } if (second == null) { throw CommonImplementation.Uninitialized(nameof(second)); } if (resultSelector == null) { throw CommonImplementation.ArgumentNull(nameof(resultSelector)); } return(EmptyCache <TOutItem> .Empty); }
internal static EmptyEnumerable <TOutItem> EmptyZip_Impl <TItem, TOutItem, TSecondItemOut, TSecondEnumerable, TSecondEnumerator>(ref EmptyOrderedEnumerable <TItem> first, ref TSecondEnumerable second, Delegate resultSelector) where TSecondEnumerable : struct, IStructEnumerable <TSecondItemOut, TSecondEnumerator> where TSecondEnumerator : struct, IStructEnumerator <TSecondItemOut> { if (first.IsDefaultValue()) { throw CommonImplementation.Uninitialized(nameof(first)); } if (second.IsDefaultValue()) { throw CommonImplementation.Uninitialized(nameof(second)); } if (resultSelector == null) { throw CommonImplementation.ArgumentNull(nameof(resultSelector)); } return(EmptyCache <TOutItem> .Empty); }
public void Malformed_Weird() { var empty = new EmptyEnumerable <int>(); var emptyOrdered = new EmptyOrderedEnumerable <int>(); var groupByDefault = new GroupByDefaultEnumerable <int, int, int, EmptyEnumerable <int>, EmptyEnumerator <int> >(); var groupBySpecific = new GroupBySpecificEnumerable <int, int, int, EmptyEnumerable <int>, EmptyEnumerator <int> >(); var lookupDefault = new LookupDefaultEnumerable <int, int>(); var lookupSpecific = new LookupSpecificEnumerable <int, int>(); var range = new RangeEnumerable(); var repeat = new RepeatEnumerable <int>(); var reverseRange = new ReverseRangeEnumerable(); var oneItemDefault = new OneItemDefaultEnumerable <int>(); var oneItemSpecific = new OneItemSpecificEnumerable <int>(); var oneItemDefaultOrdered = new OneItemDefaultOrderedEnumerable <int>(); var oneItemSpecificOrdered = new OneItemSpecificOrderedEnumerable <int>(); // empty { var boxed = (BoxedEnumerable <int>)empty; try { boxed.ToList(); Assert.Fail(); }catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // emptyOrdered { var boxed = (BoxedEnumerable <int>)emptyOrdered; try { boxed.ToList(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // groupByDefault { var boxed = (BoxedEnumerable <GroupingEnumerable <int, int> >)groupByDefault; try { boxed.ToList(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // groupBySpecific { var boxed = (BoxedEnumerable <GroupingEnumerable <int, int> >)groupBySpecific; try { boxed.ToList(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // lookupDefault { var boxed = (BoxedEnumerable <GroupingEnumerable <int, int> >)lookupDefault; try { boxed.ToList(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // lookupDefault { var boxed = (BoxedEnumerable <GroupingEnumerable <int, int> >)lookupSpecific; try { boxed.ToList(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // range { var boxed = (BoxedEnumerable <int>)range; try { boxed.ToList(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // repeat { var boxed = (BoxedEnumerable <int>)repeat; try { boxed.ToList(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // reverseRange { var boxed = (BoxedEnumerable <int>)reverseRange; try { boxed.ToList(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // oneItemDefault { var boxed = (BoxedEnumerable <int>)oneItemDefault; try { boxed.ToList(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // oneItemSpecific { var boxed = (BoxedEnumerable <int>)oneItemSpecific; try { boxed.ToList(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // oneItemDefaultOrdered { var boxed = (BoxedEnumerable <int>)oneItemDefaultOrdered; try { boxed.ToList(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } // oneItemSpecificOrdered { var boxed = (BoxedEnumerable <int>)oneItemSpecificOrdered; try { boxed.ToList(); Assert.Fail(); } catch (ArgumentException exc) { Assert.AreEqual("source", exc.ParamName); } } }