Commit Graph

30 Commits

Author SHA1 Message Date
Oliver Booth 85f4e8c733
test: bring coverage to 100% for AddOrUpdate 2023-04-02 01:16:12 +01:00
Oliver Booth 95cd3e8cbc
test: bring coverage to 100% for X10D.Collections.SpanExtensions 2023-04-02 00:36:31 +01:00
Oliver Booth f10ff4a36c
test: add tests for Span<T>.Count 2023-04-02 00:18:47 +01:00
Oliver Booth 87b6dbdd56
test: bring coverage to 100% for integer Unpack (#70) 2023-04-01 21:56:45 +01:00
Oliver Booth 3f47a4ec44
[ci skip] test: rename Pack8Bit to PackByte 2023-03-31 20:23:56 +01:00
Oliver Booth 62034ded75
style(test): segment methods to partials
This changes introduces the Moq package to create mocked objects implementing IDisposable, rather than defining a concrete class.
2023-03-31 20:21:17 +01:00
Oliver Booth 76810408f2
[ci skip] style(test): suppress IteratorNeverReturns warning 2023-03-30 20:18:17 +01:00
Oliver Booth 041181cc5a
Add IEnumerable<T?>.WhereNotNull() 2023-02-27 21:11:37 +00:00
Oliver Booth b60fdc495b
Add IReadOnlyList<T>.Slice 2022-12-01 13:51:30 +00:00
Oliver Booth e02fd3b1b4
Add IReadOnlyList<T>.IndexOf 2022-12-01 12:28:33 +00:00
Oliver Booth 53e8b2ff64
Repurpose Span<T>.Split to accept generic 2022-11-29 12:39:34 +00:00
Oliver Booth 3847d53120
Add more LINQ-esque methods
* IEnumerable<T>.CountWhereNot(Func<T, bool>)
* IEnumerable<T>.FirstWhereNot(Func<T, bool>)
* IEnumerable<T>.FirstWhereNotOrDefault(Func<T, bool>)
* IEnumerable<T>.LastWhereNot(Func<T, bool>)
* IEnumerable<T>.LastWhereNotOrDefault(Func<T, bool>)
* IEnumerable<T>.WhereNot(Func<T, bool>)
2022-07-30 23:53:35 +01:00
Oliver Booth 02765b8b19
Add IList<T>.Swap (#62) 2022-07-14 10:22:37 +01:00
Oliver Booth 3d896ea5d1
Add IList<T>.RemoveRange(Range) 2022-06-03 11:53:40 +01:00
Oliver Booth b5227f58d3
Code cleanup for X10D.Tests 2022-06-01 15:35:00 +01:00
Oliver Booth ed2920f8a0
Multi-target X10D.Tests 2022-05-07 23:16:06 +01:00
Oliver Booth 39ccf1f198
Denote CLS-noncompliant tests as such 2022-05-07 23:14:07 +01:00
Oliver Booth adf2281f21
Add DisposeAll(Async) and ClearAndDisposeAll(Async) 2022-05-02 22:31:09 +01:00
Oliver Booth fd53b41610
Move EnumerableTests to Collections namespace 2022-05-02 22:27:21 +01:00
Oliver Booth 14148f751a
Add tests for ToConnectionString/ToGetParameters 2022-04-30 10:36:03 +01:00
Oliver Booth 9006bdffa2
Add IDictionary.AddOrUpdate 2022-04-29 18:10:41 +01:00
Oliver Booth ba6c400a79
Rename UnpackBits to Unpack, PacknBit to Pack(CLR type) 2022-04-28 22:58:58 +01:00
Oliver Booth e08274189a
Add Pack/Unpack bits
Allows a bool list (no more than 64 in length) to be packed to an integer, which can be unpacked again
2022-04-28 09:47:48 +01:00
Oliver Booth 5a88a06551
[ci skip] Move AsArrayValue tests to CoreTests 2022-04-26 11:04:09 +01:00
Oliver Booth f7f3ea71bb
Append "Value" to AsArray/AsEnumerable, to reduce risk of LINQ collision 2022-04-26 10:45:18 +01:00
Oliver Booth c4abef7be6
Move IO related methods to IO namespaces (#7)
Also renames more tests to be more meaningful
2022-04-25 17:09:49 +01:00
Oliver Booth 9a089a9ae2
Declare sliced Fill for IList<T> not T[] 2022-04-25 10:34:17 +01:00
Oliver Booth 30e925cdb0
Move additional methods into child namespaces (#7) 2022-04-24 10:09:56 +01:00
Oliver Booth 68d1ea6f4d
[ci skip] Reduce chance of Shuffle tests failing
A list containing 5 elements has a 1/(5!) (1/120) chance of being shuffled to the same order. This was causing unit tests to fail locally by pure fluke. Tests now generate a list from 1-52, which has a 1/(52!) chance of shuffling to the same order, so the chance is basically 0. If these tests ran once per second, it would take 1.9x10^50 * age of the universe to hit a collision.

This still can happen. Randomness does not guarantee we won't hit the same order. The odds are just so astronomically small that it's not worth considering. And if the CI run fails due to these tests failing, just re-run them anyway and call it a day
2022-04-23 11:25:09 +01:00
Oliver Booth 0fb01726db
Add tests for Enumerable/List 2022-04-21 22:35:06 +01:00