Commit Graph

297 Commits

Author SHA1 Message Date
Oliver Booth 5251408b15
Rename local IEnumerable to "enumerable" 2022-04-29 11:14:33 +01:00
Oliver Booth ba6c400a79
Rename UnpackBits to Unpack, PacknBit to Pack(CLR type) 2022-04-28 22:58:58 +01:00
Oliver Booth ef9c186684
Add IsLeapYear for DateTime(Offset) and numeric types 2022-04-28 10:27:32 +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 b743adb445
Rename n.To(n) to n.RangeTo(n) 2022-04-27 21:58:46 +01:00
Oliver Booth d672032c44
[ci skip] Remove redundant GetBytes tests in /Core 2022-04-26 11:06:17 +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 38ae5b0b7e
Move EnumExtensions to Core namespace (#7) 2022-04-26 10:22:59 +01:00
Oliver Booth 40a75e62c0
Add NextColorRgb and NextColorArgb 2022-04-26 09:55:08 +01:00
Oliver Booth 433d365a89
Move IO-related bool extensions to IO namespace (#7) 2022-04-25 22:26:22 +01:00
Oliver Booth 2ead3cbb8a
Add exhaustive Random tests
Introduces NextInt16 and NextByte
2022-04-25 22:14:11 +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 907687a883
[ci skip] Use more meaningful test names for EndPointTests 2022-04-25 10:34:49 +01:00
Oliver Booth 9a089a9ae2
Declare sliced Fill for IList<T> not T[] 2022-04-25 10:34:17 +01:00
Oliver Booth 1f9bbe9319
Capitalize IP acronym 2022-04-25 10:21:55 +01:00
Oliver Booth 7fb9459a91
Add tests for IsEven/IsOdd/DigitalRoot 2022-04-25 00:02:08 +01:00
Oliver Booth b4f09e0a94
Move math-related extensions to Math namespace (#7) 2022-04-24 11:04:30 +01:00
Oliver Booth 2c2de1e30e
Add unsupported EndPoint tests
Satisfies 100% coverage
2022-04-24 10:48:16 +01:00
Oliver Booth 199b82b9a6
Fix nullability of AsEnumerable return type 2022-04-24 10:29:04 +01:00
Oliver Booth e2a496face
Add tests for DateTime/Offset 2022-04-24 10:28:50 +01:00
Oliver Booth 30e925cdb0
Move additional methods into child namespaces (#7) 2022-04-24 10:09:56 +01:00
Oliver Booth 154a5566a8
Add Rune.Repeat 2022-04-23 12:38:19 +01:00
Oliver Booth 346fc72d5e
Move text-based char extensions to Text namespace (#7) 2022-04-23 12:37:49 +01:00
Oliver Booth 76191cb43a
[ci skip] Add additional Stream tests 2022-04-23 11:38:20 +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 224e465915
Move math-related extensions to Math namespace (#7) 2022-04-23 11:14:20 +01:00
Oliver Booth 7d227ad2a8
Added Factorial method 2022-04-23 10:21:07 +01:00
Oliver Booth cfa27e0b4f
Move GetHash to child namespace (#7)
Also introduces TryWriteHash
2022-04-22 12:16:34 +01:00
Oliver Booth ae24d94da2
Add tests for AsArray/AsEnumerable 2022-04-22 09:42:58 +01:00
Oliver Booth 47f1489cbb
Add string.FromJson T.ToJson 2022-04-22 09:42:37 +01:00
Oliver Booth a5df7a9ee8
Move Extensions to Core namespace 2022-04-22 09:28:03 +01:00
Oliver Booth f961530962
[ci skip] fix product formula in overflow comment 2022-04-22 09:12:35 +01:00
Oliver Booth 6a1f64f042
Move IEnumerable.Product tests to Linq namespace (#7) 2022-04-22 09:11:18 +01:00
Oliver Booth d5a74c12a8
Move Span.Any/All to Linq namespace (#7) 2022-04-22 08:50:06 +01:00
Oliver Booth 0fb01726db
Add tests for Enumerable/List 2022-04-21 22:35:06 +01:00
Oliver Booth 118eeae46a
Remove _ from test names 2022-04-21 22:31:32 +01:00
Oliver Booth 4096265006
Move LINQ-inspired methods to child namespaces (#7) 2022-04-21 22:27:24 +01:00
Oliver Booth a95b8fe3da
[ci skip] Remove unnecessary namespace import 2022-04-21 22:09:36 +01:00
Oliver Booth e421b357fd
[ci skip] Add IpAddressTests 2022-04-21 21:44:24 +01:00
Oliver Booth 7086d36faa
[ci skip] Assert that null throws 2022-04-21 21:41:58 +01:00
Oliver Booth e88494fae4
[ci skip] Fix incorrect test 2022-04-21 21:41:40 +01:00
Oliver Booth 734f327a66
Add tests for time-related extension methods 2022-04-21 21:37:20 +01:00
Oliver Booth b9d5eca364
Add tests for Net.EndPointExtensions 2022-04-21 21:08:23 +01:00
Oliver Booth ad36b915bc
[ci skip] Import namespaces for tests 2022-04-21 18:13:53 +01:00
Oliver Booth 95020e0db0
Move math-related extensions to child namespace (#7) 2022-04-21 17:43:56 +01:00
Oliver Booth d9277dbbf6
Add tests for ComplexInfinity 2022-04-21 12:44:50 +01:00
Oliver Booth 9b9b75ae5b
Add Sqrt tests 2022-04-21 12:20:19 +01:00
Oliver Booth 4855ae8bf2
[ci skip] Use file-scoped namespaces for tests 2022-04-21 12:15:29 +01:00
Oliver Booth 3a58ed88c9
Add AsArray/AsEnumerable (#47) 2022-04-20 23:14:16 +01:00
Oliver Booth af9449935f
Fix null input for WithAlternative test 2022-04-20 19:32:34 +01:00
Oliver Booth 85becd2415
Add Array.Fill 2022-04-20 19:27:06 +01:00
Oliver Booth 778d8c6cf1
Add Deg<->Rad tests 2022-04-20 18:48:43 +01:00
Oliver Booth facc0834f0
Separate unwrapped Enum.Next/Previous to Unchecked overloads 2022-04-20 18:16:59 +01:00
Oliver Booth 4c81c218d5
Remove preview features 2022-04-20 17:34:49 +01:00
Oliver Booth 950c30f267
Update MSTest and Test SDK 2022-04-20 17:33:22 +01:00
Oliver Booth 3aaee23ebe
Add (some) missing tests 2022-04-20 17:33:02 +01:00
Oliver Booth 2128814db1
[ci skip] Use explicit type in tests 2022-04-20 17:31:16 +01:00
Oliver Booth a645f56204
[ci skip] Add test for Enumerable.Shuffled 2022-04-20 16:47:15 +01:00
Oliver Booth 66e7e79561
Rename Clusivity enum to InclusiveOptions
https://sonarcloud.io/project/issues?fileUuids=AX9gUgFivY1Q2LeuiUva&pullRequest=43&id=oliverbooth_X10D&open=AX75E353Zn_cGN5aPZcQ
2022-04-20 16:35:44 +01:00
Oliver Booth 374933e45e
Add FileInfo.GetHash<T>
Wraps Stream.GetHash<T>, but saves the caller having to OpenRead themselves
2022-04-20 14:29:45 +01:00
Oliver Booth 3c60340bde
Add Product extension method
Computes the element-wise product, optionally with a transformation delegate
2022-04-20 14:07:16 +01:00
Oliver Booth 5509305c5a
Update string.With*Alternative tests 2022-03-06 17:36:58 +00:00
Oliver Booth 1c0768c472 Remove legacy tests 2022-02-14 16:25:59 +00:00
Oliver Booth 64bcb34a11 Introduce Between clusivity 2022-02-14 16:24:14 +00:00
Oliver Booth 6c27227c3e Remove char.Random test 2022-02-14 16:04:57 +00:00
Oliver Booth e0e7965557 Remove old tests 2022-02-14 16:03:55 +00:00
Oliver Booth 54848848ac Enable implicit usings in tests csproj 2022-02-14 12:20:55 +00:00
Oliver Booth 375a382e1b Bump to .NET 6, bump dependency versions 2022-02-14 12:18:35 +00:00
Oliver Booth 093a504467 Remove CA ruleset enforcement 2022-02-14 12:17:49 +00:00
Oliver Booth 3257428fad Enable preview features in Tests csproj 2022-02-14 12:17:08 +00:00
Oliver Booth 920fadf639 Remove X10D.Unity dependency from Tests csproj 2022-02-14 12:16:28 +00:00
Oliver Booth 3592ec555e Remove X10D.Unity from solution 2022-02-14 12:13:29 +00:00
Oliver Booth 1205290ab4
Fix typos in IsPrimeTests xmldoc 2021-07-20 14:51:09 +01:00
Oliver Booth 09e126fa08
Add IsPrime tests 2021-07-20 14:47:33 +01:00
Oliver Booth 132573e262
Update byte unit tests to reflect new API 2021-07-20 00:53:43 +01:00
Oliver Booth 1cc2300e83
Update BooleanTests to reflect new API 2021-07-19 12:53:49 +01:00
Oliver Booth 6e6d6c48fb
(#14) Declare using directives outside of namespace 2021-07-19 12:48:58 +01:00
Oliver Booth 1443d7d4cf Update X10D.Unity to 2020.3.12.f1 LTS 2021-06-27 12:20:51 +01:00
Oliver Booth 188d662452 Update Tests project to .NET 5 2021-06-27 12:19:51 +01:00
Oliver Booth 937d701d14 Remove ruleset and unused analyzers 2021-03-07 18:00:17 +00:00
Oliver Booth f7664ba8a8 🗑 Remove IConvertible extension methods
Fully resolves #13
2021-01-14 18:31:16 +00:00
Oliver Booth 2cf508f253 🚨 Add tests for latest methods
AsNullIfEmpty
AsNullIfWhiteSpace
Reverse
WithAlternative
2020-10-20 15:08:20 +01:00
Oliver Booth 5bc71bd426 Add X10D.Unity 2020-07-15 14:33:40 +01:00
Oliver Booth 600b37fe82 🚚 Move X10D tests to Core namespace 2020-07-15 14:32:59 +01:00
Oliver Booth a591b91c6c
Add ReflectionTests 2020-04-21 04:17:19 +01:00
Oliver Booth 36d3014573
⚠ Treat warnings as errors 2020-04-21 03:45:02 +01:00
Oliver Booth 430eadee57
Add tests for StringExtensions 2020-04-19 16:16:28 +01:00
Oliver Booth 4df2543181
Add Roslynator.Analyzers 2020-04-19 14:31:29 +01:00
Oliver Booth 5034e1ceb4
👍 CLSCompliant assemblies 2020-04-19 14:13:46 +01:00
Oliver Booth 1780ae3a40
📕 Add XMLDoc to TimeSpanParserTests 2020-04-19 14:11:28 +01:00
Oliver Booth b1a69a7711
🔨 Add code analysis ruleset 2020-04-19 14:10:42 +01:00
Oliver Booth bf779bafec
Add ToInt16 and ToInt64 in BooleanTests 2020-04-18 23:39:04 +01:00
Oliver Booth e7bf572d09
🚨 Minor refactor in BooleanTests.cs
* const bool in Not()
* rename Xor() to XOr()
* conform XNOr() documentation
2020-04-18 23:14:48 +01:00
Timathy a0de8ceb11
Add logical operations in BooleanExtensions
Methods include:
* And
* Or
* Not
* XOr
* NAnd
* NOr
* XNOr
2020-04-18 22:50:26 +01:00
Oliver Booth 7e0de45b64
🚨 Fix ByteTests.GetString
Use unicode codepoint instead of raw literal
2020-04-18 17:43:51 +01:00
Oliver Booth 686b915be8
Add MSTests project 2020-04-18 14:41:53 +01:00