1
0
mirror of https://github.com/oliverbooth/X10D synced 2024-10-18 20:26:10 +00:00
Commit Graph

32 Commits

Author SHA1 Message Date
fdc0c6aa35
perf: fix performance of intrisics
This changes removes the CPU-arch support provider interfaces that were introduced with 87b6dbdd56. That commit worsened the performance of the intrinsic methods because it resulted in a box when upcasting the System_SupportProvider value type to an interface, removing the potential for JIT to optimise the code path.
2023-04-02 15:17:28 +01:00
6b1dc2837a
test: bring coverage to 100% for Collections, Linq, Math, and Text 2023-04-02 04:16:33 +01:00
85f4e8c733
test: bring coverage to 100% for AddOrUpdate 2023-04-02 01:16:12 +01:00
95cd3e8cbc
test: bring coverage to 100% for X10D.Collections.SpanExtensions 2023-04-02 00:36:31 +01:00
f10ff4a36c
test: add tests for Span<T>.Count 2023-04-02 00:18:47 +01:00
87b6dbdd56
test: bring coverage to 100% for integer Unpack (#70) 2023-04-01 21:56:45 +01:00
3f47a4ec44
[ci skip] test: rename Pack8Bit to PackByte 2023-03-31 20:23:56 +01:00
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
76810408f2
[ci skip] style(test): suppress IteratorNeverReturns warning 2023-03-30 20:18:17 +01:00
041181cc5a
Add IEnumerable<T?>.WhereNotNull() 2023-02-27 21:11:37 +00:00
b60fdc495b
Add IReadOnlyList<T>.Slice 2022-12-01 13:51:30 +00:00
e02fd3b1b4
Add IReadOnlyList<T>.IndexOf 2022-12-01 12:28:33 +00:00
53e8b2ff64
Repurpose Span<T>.Split to accept generic 2022-11-29 12:39:34 +00:00
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
02765b8b19
Add IList<T>.Swap (#62) 2022-07-14 10:22:37 +01:00
3d896ea5d1
Add IList<T>.RemoveRange(Range) 2022-06-03 11:53:40 +01:00
b5227f58d3
Code cleanup for X10D.Tests 2022-06-01 15:35:00 +01:00
ed2920f8a0
Multi-target X10D.Tests 2022-05-07 23:16:06 +01:00
39ccf1f198
Denote CLS-noncompliant tests as such 2022-05-07 23:14:07 +01:00
adf2281f21
Add DisposeAll(Async) and ClearAndDisposeAll(Async) 2022-05-02 22:31:09 +01:00
fd53b41610
Move EnumerableTests to Collections namespace 2022-05-02 22:27:21 +01:00
14148f751a
Add tests for ToConnectionString/ToGetParameters 2022-04-30 10:36:03 +01:00
9006bdffa2
Add IDictionary.AddOrUpdate 2022-04-29 18:10:41 +01:00
ba6c400a79
Rename UnpackBits to Unpack, PacknBit to Pack(CLR type) 2022-04-28 22:58:58 +01:00
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
5a88a06551
[ci skip] Move AsArrayValue tests to CoreTests 2022-04-26 11:04:09 +01:00
f7f3ea71bb
Append "Value" to AsArray/AsEnumerable, to reduce risk of LINQ collision 2022-04-26 10:45:18 +01:00
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
9a089a9ae2
Declare sliced Fill for IList<T> not T[] 2022-04-25 10:34:17 +01:00
30e925cdb0
Move additional methods into child namespaces (#7) 2022-04-24 10:09:56 +01:00
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
0fb01726db
Add tests for Enumerable/List 2022-04-21 22:35:06 +01:00