Commit Graph

116 Commits

Author SHA1 Message Date
Oliver Booth 6505299c00
Move Stream extensions to IO namespace (#7)
* Finalizes unit tests, 99% coverage
* Update CHANGELOG
2022-04-30 13:52:34 +01:00
Oliver Booth a6139a5720
Migrate string extensions to appropriate namespaces (#7)
Introduces more tests
2022-04-30 13:08:39 +01:00
Oliver Booth c13cc934b6
Move ListOfByteExtensions to IO namespace
Also introduces unit tests
2022-04-30 11:59:03 +01:00
Oliver Booth 5d5bc1e384
Add tests for NextUnitVector2/3 and NextRotation(Uniform) 2022-04-30 11:34:15 +01:00
Oliver Booth 8ba5a5ad19
Remove empty lines and unnecessary namespace imports 2022-04-30 11:33:48 +01:00
Oliver Booth a7631b0efe
Add MultiplicativePersistence for integer types 2022-04-30 11:29:09 +01:00
Oliver Booth 3ae2827fd5
Fix precision errors by specifying delta 1e-6 2022-04-30 11:07:57 +01:00
Oliver Booth 7577fc1c99
"Fix" weird edge-case with Atanh returning incorrect value 1x10^-16 2022-04-30 10:41:27 +01:00
Oliver Booth 14148f751a
Add tests for ToConnectionString/ToGetParameters 2022-04-30 10:36:03 +01:00
Oliver Booth 2547d4a227
Add comprehensive math tests
Introduces extension methods for decimal
2022-04-30 10:15:36 +01:00
Oliver Booth 8d4f82e964
Remove Lerp extension methods
These extension methods lead to confusion with the parameter order, and so the advice now is to simply use MathUtility.Lerp directly
2022-04-29 23:24:59 +01:00
Oliver Booth 155a604812
Add FromUnixTime(Milli)Seconds for unsigned types 2022-04-29 23:21:00 +01:00
Oliver Booth cacdf148d5
Add RotateLeft and RotateRight for integer types 2022-04-29 23:16:37 +01:00
Oliver Booth 06413fd710
Add comprehensive IsPrime tests 2022-04-29 21:57:41 +01:00
Oliver Booth 9006bdffa2
Add IDictionary.AddOrUpdate 2022-04-29 18:10:41 +01:00
Oliver Booth d1de1625f2
Move ToHost/NetworkOrder to Net namespace (#7) 2022-04-29 17:45:43 +01:00
Oliver Booth 0f40bb2e31
[ci skip] Update MSTest 2.2.10 2022-04-29 11:24:56 +01:00
Oliver Booth e7bdb20b19
Add tests for reflection extensions 2022-04-29 11:17:02 +01:00
Oliver Booth dc3de3816e
Add T.RepeatValue(int) 2022-04-29 11:16:44 +01:00
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