Commit Graph

276 Commits

Author SHA1 Message Date
Oliver Booth 28d7bee262
fix(tests): add support for trace logging during tests 2023-08-23 14:18:04 +01:00
Oliver Booth 0bf89bb82a
refactor!: change exception thrown by GetHash and TryWriteHash
The methods no longer throw TypeInitializationException, and instead now throw ArgumentException.
2023-08-23 14:17:42 +01:00
Oliver Booth 5c21c86a52
refactor!: replace Endianness enum with explicit Big/Little methods 2023-08-23 14:15:52 +01:00
Oliver Booth fa375e7758
refactor: conditionally import System.Runtime.Intrinsics.X86 2023-08-22 23:38:18 +01:00
Oliver Booth 24a7de7e8c
refactor: define test fixtures as internal 2023-08-22 17:32:47 +01:00
Oliver Booth e8a331ff96
chore: use shared Build.props for all projects 2023-08-22 17:11:20 +01:00
Oliver Booth a14fe4ca64
Merge branch 'main' into release/4.0.0 2023-08-21 17:41:05 +01:00
Oliver Booth 42cb9acb48
fix: fix AddHostedSingleton not accepting interface as service type 2023-08-21 17:39:35 +01:00
Oliver Booth b977b7a4ec
Merge branch 'main' into release/4.0.0 2023-08-09 15:24:33 +01:00
Oliver Booth a0b07edc82
fix: replace Moq with a library that DOESN'T steal your pii
Moq has recently introduced a payload named SponsorLink which takes PII (your email address) to send to a third party server for remote verification.

This kind of suspicious data harvesting is simply unacceptable, and the developers have now destroyed all credibility and trust with their user base. This change replaces Moq with NSubstitute.

For further information, see:
https://github.com/moq/moq/issues/1372
2023-08-09 15:18:01 +01:00
Oliver Booth 8d7ca6ea0a
fix(tests): remove outdated tests
This should have been part of d8be858359
2023-05-14 16:31:57 +01:00
Oliver Booth 23dee3d2b8
feat: add value-passthru overloads for ConcatIf 2023-04-14 14:17:33 +01:00
Oliver Booth 6f3a667e37
feat: add string.ConcatIf 2023-04-14 13:55:52 +01:00
Oliver Booth 0ae377250c
feat: add IEnumerable<T>.Except(T)
LINQ-provided Except method filters by array, but there's no way to filter a single value. This method introduces single-value filtering.
2023-04-13 20:55:24 +01:00
Oliver Booth b8a63c0d5c
feat: add float/double support for WriteNoAlloc and WriteLineNoAlloc 2023-04-11 22:27:31 +01:00
Oliver Booth f6847315a1
feat: add Progress<T>.OnProgressChanged
Provides a mechanism to wrap the ProgressChanged event of a Progress<T> as an IObservable<T>.
2023-04-10 12:44:53 +01:00
Oliver Booth 57ff32ee94
[ci skip] docs: add comment explaining my absolute pain 2023-04-06 19:18:20 +01:00
Oliver Booth 9d26f3da60
feat: add TextWriter.WriteNoAlloc/WriteLineNoAlloc
Allows writing of integer types without allocating a string.
2023-04-06 19:11:54 +01:00
Oliver Booth 9791fd23bb
feat: add CountDigit for integer types 2023-04-06 14:40:27 +01:00
Oliver Booth 0621c246a0
feat: add Span<T>.Replace 2023-04-06 02:31:22 +01:00
Oliver Booth 4a0e3c10d7
test: return coverage to 100% (#76) 2023-04-05 23:18:14 +01:00
Oliver Booth 744f5e906b
test: remove redundant quality checks (#76) 2023-04-05 22:51:59 +01:00
Oliver Booth dbeb13efcd
test: fix expected/actual value swap (#76) 2023-04-05 22:51:59 +01:00
Oliver Booth ab62db2b37
chore: switch from MSTest to NUnit (#76) 2023-04-05 22:51:59 +01:00
Oliver Booth e84eef60e6
chore: suppress tfm support build warnings 2023-04-05 17:37:26 +01:00
Oliver Booth dc1b9d6c04
feat: add math extensions for BigInteger 2023-04-05 11:05:53 +01:00
Oliver Booth b8c3a5121a
feat: add DateOnly extensions 2023-04-04 10:10:55 +01:00
Oliver Booth 514e5b12b0
feat: add MathUtility.Pulse (resolves #60) 2023-04-03 17:26:03 +01:00
Oliver Booth 1939bbe4ba
feat: add MathUtility.Sawtooth (#60) 2023-04-03 17:15:11 +01:00
Oliver Booth c7370c39fd
feat: add MathUtility.Sigmoid (#60) 2023-04-03 16:38:58 +01:00
Oliver Booth 654d5b5b08
feat: Add MathUtility.ExponentialDecay (#60) 2023-04-03 16:21:43 +01:00
Oliver Booth 9cf003481c
refactor: move exception messages to resource file (#27) 2023-04-03 15:57:31 +01:00
Oliver Booth d27f4caef7
feat: add MathUtility.SmoothStep (#60) 2023-04-03 15:47:18 +01:00
Oliver Booth 105ff81713
test: add tests for MathUtility.Lerp 2023-04-03 15:02:03 +01:00
Oliver Booth 3f147c98b2
feat: add double overload for Bias (#60) 2023-04-03 15:00:13 +01:00
Oliver Booth f131c281cf
feat: add MathUtility.Bias (#60) 2023-04-03 14:41:32 +01:00
Oliver Booth 9417ee6be1
test: bring coverage to 100% for Drawing 2023-04-03 14:13:32 +01:00
Oliver Booth 8b4fd45e05
fix(test): assert vertex count against Polygon.Empty 2023-04-03 13:54:23 +01:00
Oliver Booth 262f191799
fix(test): assert ArgumentNullException only for .NET < 6 2023-04-03 13:47:59 +01:00
Oliver Booth 9985652c40
test: 100% coverage on RandomExtensions 2023-04-03 13:43:07 +01:00
Oliver Booth b806e50ec1
[ci skip] style: remove unused using directives 2023-04-03 13:42:53 +01:00
Oliver Booth 6ef48fc3b9
test: 100% coverage on IntrinsicUtility (#73) 2023-04-03 13:41:41 +01:00
Oliver Booth 783c4b0f8e
test: add tests for integer Pack (#73) 2023-04-03 01:28:01 +01:00
Oliver Booth 92855ddbab
fix(test): remove invalid namespace imports 2023-04-02 23:15:22 +01:00
Oliver Booth 22d5f07215
test: add tests for ReadOnlySpan.Pack (#73)
1 failing test: PackInt32Internal_Sse2_ShouldReturnCorrectInt32_GivenReadOnlySpan

This will fail the dotnet workflow.
2023-04-02 23:14:38 +01:00
Oliver Booth 78cebbce8b
test: add unit tests for Span.Contains(Enum) (#73) 2023-04-02 22:11:45 +01:00
Oliver Booth 4fc0d01670
test: cover null input for IsIPv4 and IsIPv6 2023-04-02 21:59:35 +01:00
Oliver Booth d68d893abd
test: 100% coverage on Reflection extensions 2023-04-02 20:48:15 +01:00
Oliver Booth 2c01b0e23a
build: remove Debug properties in test csproj
I believe these properties to be the cause of an issue with symbol verification when publishing X10D to nuget.org. I will report with status after this nightly run.
2023-04-02 15:53:54 +01:00
Oliver Booth 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