1
0
mirror of https://github.com/oliverbooth/X10D synced 2024-11-14 04:15:41 +00:00
Commit Graph

263 Commits

Author SHA1 Message Date
87b6dbdd56
test: bring coverage to 100% for integer Unpack (#70) 2023-04-01 21:56:45 +01:00
ca5f95bbf6
test: test RuneExtensions for .NET >= 5 2023-04-01 18:59:24 +01:00
e52e9096e0
feat: expose ComplexSqrt to all frameworks 2023-04-01 18:54:04 +01:00
1acee3bf72
fix(test): fix incorrect date being returned for .NET Standard 2.1 2023-04-01 18:20:44 +01:00
5714ef73c1
test: 100% coverage on stream Read/Write methods 2023-04-01 18:17:50 +01:00
2815c505c3
fix: fix incorrect float/double being written for netstandard2.1
The call to _To_Bits yields the result containing the same bytes, but not the same value. This value was then stored as-is into the parameter, which causes a conversion on how the value is stored, ultimately causing the wrong value to be written to the stream.
2023-04-01 17:11:05 +01:00
b2a27cdafb
fix(test): fix Clear unit test not creating the temp directory 2023-04-01 17:06:19 +01:00
35113fac27
test: run tests for .NET 7, 6, and Core 3.1
.NET Core 3.1 allows testing of the .NET Standard 2.1 implementation of X10D
2023-04-01 17:05:46 +01:00
dd325ba5c9
test: test Equals(object) for various Drawing types
This brings coverage to 100% for the affected types.
2023-04-01 00:30:51 +01:00
8b768f824c
test: add tests for Point.IsOnLine and PointF.IsOnLine 2023-04-01 00:30:04 +01:00
6e7e162ffe
test: 100% coverage on MultiplicativePersistence 2023-03-31 23:19:21 +01:00
3d2baf595b
test: 100% coverage on Wrap for all types 2023-03-31 20:37:50 +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
f293f247e7
[ci skip] style: remove unused using directives 2023-03-31 20:18:01 +01:00
708207305c
test: use fixed point of reference for Age tests 2023-03-31 20:15:59 +01:00
3734965757
test: bring coverage to 94% for RuneExtensions 2023-03-31 20:11:03 +01:00
e852726b66
test: 100% coverage on Enumerable and String methods in Text namespace 2023-03-31 18:53:08 +01:00
369882c1e8
[ci skip] style: remove unused using directives 2023-03-31 18:52:12 +01:00
275d98fbf8
feat: add LowestCommonMultiple for built-in integer types
This was previously incorrectly documented in CHANGELOG.md. The method now exists. Sorry about that
2023-03-31 18:07:50 +01:00
9ee99d72d3
[ci skip] style: upgrade projects to C# 11
NB: While using a higher C# version with lower framework version is possible, it's generally advised against because C# syntax may map to .NET types not available in older versions such as .NET Standard 2.1.

This change does not invite the codebase to upgrade to newer types, but rather take advantage of syntax sugar (such as file-scoped namespaces, when this project was updated to C# 10) that does not effect the compiled result.

However, this change does open up the possibilities to add extension methods for the "generic math" interfaces (made possible by static interface members), and these upcoming methods will be targeted to .NET 7 or greater **ONLY**.
2023-03-31 17:30:30 +01:00
4cd669a200
[ci skip] fix(test): force enumeration of lazy enumerable 2023-03-31 15:11:50 +01:00
14e638e6d9
feat: add IEnumerable<T>.ConcatOne 2023-03-31 14:53:02 +01:00
cd4c3542f7
fix: use intrinsic convention for ToVector3 2023-03-31 01:31:19 +01:00
4c62367303
test: cover Span<char> overloads of CountSubstring 2023-03-30 21:22:45 +01:00
f30c052673
test: 100% coverage for TimeSpanParser.TryParse 2023-03-30 20:44:45 +01:00
628ead1ebb
test: add tests for GetIso8601WeekOfYear 2023-03-30 20:44:32 +01:00
76810408f2
[ci skip] style(test): suppress IteratorNeverReturns warning 2023-03-30 20:18:17 +01:00
3ce8d281b7
feat: add TextReader.EnumerateLines/Async 2023-03-30 17:55:41 +01:00
4f3f791948
[ci skip] test: assert ArgumentNullException from Grep 2023-03-30 17:49:00 +01:00
d0f94a6493
feat: add IEnumerable<string>.Grep() 2023-03-30 17:29:54 +01:00
f49188b428
feat: add string.EnsureEndsWith and string.EnsureStartsWith 2023-03-30 02:09:04 +01:00
f5b53cd3f6
[ci skip] test: remove netstandard2.1 from test csproj 2023-03-29 17:55:00 +01:00
4dd31ec1b6
[ci skip] style: reformat & cleanup solution 2023-03-29 17:46:56 +01:00
436f56d912
feat: add Saturate for floating point types (#60) 2023-03-29 16:21:16 +01:00
121c3a388a
test: 100% coverage on EnumerableExtensions 2023-03-28 16:28:38 +01:00
9bb9c9692a
tests: 100% coverage on Circle and CircleF 2023-03-28 16:09:35 +01:00
3e4d9603c0
test: cover Color.Deconstruct 2023-03-28 15:54:06 +01:00
3121b23732
fix(tests): fix incorrect timezone offset for DST 2023-03-28 14:54:11 +01:00
55cae2f454
test: update test project dependencies
- Microsoft.NET.Test.Sdk 17.5.0
- MSTest.* 3.0.2
- coverlet.collector 3.2.0
2023-03-28 14:54:11 +01:00
3b85419da3
Add MinMax and MinMaxBy (resolves #72) 2023-03-26 17:03:40 +01:00
RealityProgrammer
77b0a8ca39 Move some intrinsic methods around, reimplement RuneExtensions.Repeat(Rune, Int32) 2023-03-14 21:18:01 +07:00
Oliver Booth
a685d6ec39
Merge branch 'develop' into main 2023-03-07 17:30:15 +00:00
RealityProgrammer
e176f65e97 Commit git's untracked files 2023-03-07 16:50:04 +07:00
RealityProgrammer
6f343cd393 Fast Int16 packing 2023-03-07 08:58:53 +07:00
RealityProgrammer
5e4044f965 Code fixup, fast Int8 packing 2023-03-06 10:39:58 +07:00
799bc77ec8
Add IsEmpty/IsWhiteSpace and IsNullOrEmpty/WhiteSpace for string 2023-02-28 19:05:03 +00:00
041181cc5a
Add IEnumerable<T?>.WhereNotNull() 2023-02-27 21:11:37 +00:00
d1959f4ba6
[ci skip] Add unit tests for IsOnLine 2023-02-27 17:05:59 +00:00
3fc2e7259e
Add Random.NextFrom([ReadOnly]Span<T>) 2023-02-27 13:15:20 +00:00
d1454a1170
[ci skip] Add unit tests for ScaleRange
Add Aggressive implementations, and annotate as Pure
2023-02-26 13:33:01 +00:00
795d696eca
Add GammaToLinear and LinearToGamma (#60) 2023-02-26 13:10:59 +00:00
ca1b1ccbf2
Add GreatestCommonFactor for built-in integer types 2023-02-26 12:25:50 +00:00
d461c464df
Rewrite TimeSpanParserTests
The tests previously worked on the assumption that TryParse would throw an exception on null argument. This was changed with 94a841b2fc but the tests were not updated to reflect that
2023-02-26 00:46:01 +00:00
d9cf9c8db5
Add Nullable<T>.TryGetValue (resolves #61) 2023-02-26 00:35:22 +00:00
35591b05e2
Add ReadOnlySpan<char> overload for TimeSpanParser
Also tidies up the code here to reduce complexity
2022-12-22 20:19:52 +00:00
9d6dbaaa23
Add Quaternion.ToAxisAngle and Quaternion.ToVector3 2022-12-06 01:08:35 +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
9c2f77b203
Remove invalid DirectoryInfo.Clear test 2022-12-01 12:28:05 +00:00
7776138909
Remove calls to no-longer-existing Clear(bool) 2022-11-29 17:27:33 +00:00
271305b056
Add .NET 7 target 2022-11-29 15:51:22 +00:00
53e8b2ff64
Repurpose Span<T>.Split to accept generic 2022-11-29 12:39:34 +00:00
ed8651172b
Add [ReadOnly]Span<char>.Split
This commit also migrates CountSubstring from StringExtensions to CharSpanExtensions
2022-11-28 02:59:46 +00:00
9cce13727d
Add CountSubstring 2022-11-26 09:31:36 +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
c0395feba3
Add GetClosestConsoleColor (#66) 2022-07-13 14:18:12 +01:00
46bfa17b93
Add vector and point component rounding (#65) 2022-07-13 12:09:37 +01:00
b1eadf61f4
Add PopCount for built-in integer types 2022-07-08 13:09:34 +01:00
2e8626a32b
Add DirectoryInfo.Clear (#63) 2022-06-21 13:57:20 +01:00
3d896ea5d1
Add IList<T>.RemoveRange(Range) 2022-06-03 11:53:40 +01:00
3b78235957
Add tests for 3D shapes 2022-06-01 19:43:52 +01:00
f02de2ad14
Refer to points as vertices in unit tests 2022-06-01 19:43:24 +01:00
0b3bf01fa0
Convert Polygon/F to class
This change also now refers to "Points" as "Vertices"
2022-06-01 18:30:48 +01:00
b0cce087b3
Add additional ctor overloads for Ellipse/F 2022-06-01 17:05:25 +01:00
ea56f2be48
Add Line3D 2022-06-01 16:47:03 +01:00
b666b272a1
Add missing unit tests, bumps coverage to 99% 2022-06-01 15:36:45 +01:00
5e835e10f1
Add Ellipse struct 2022-06-01 15:36:18 +01:00
b5227f58d3
Code cleanup for X10D.Tests 2022-06-01 15:35:00 +01:00
e9b0ed08d4
Add primitive 2D structs to complement System.Drawing types 2022-06-01 13:46:22 +01:00
f35f398d7f
Add conversions between Size(F)/Point(F)/Vector and Rect/Rectangle(F) 2022-05-28 14:19:46 +01:00
7ca206721b
Add MathUtility.InverseLerp (#60) 2022-05-23 10:33:52 +01:00
683e02cc2a
Add RoundUpToPowerOf2 2022-05-18 11:55:47 +01:00
d312d05f7a
Add vector tuple deconstruction 2022-05-16 10:30:55 +01:00
23e07b65b8
Add [ReadOnly]Span<T>.Count(Predicate<T>) 2022-05-12 13:52:04 +01:00
4d19e2f64c
Add Vector.With* methods (resolves #56) 2022-05-09 10:33:21 +01:00
d904daf431
Add Color.With* methods (resolves #55) 2022-05-09 10:01:03 +01:00
176ad9fa09
[ci skip] Define colors as fields 2022-05-09 09:59:03 +01:00
aa30abea93
Add Color.Inverted (#54) 2022-05-08 19:52:49 +01:00
d405faf6e2
Add IsEmoji method
Emoji validation is performed by using a regex which is generated from Twemoji. Source: https://raw.githubusercontent.com/twitter/twemoji-parser/master/src/lib/regex.js
2022-05-07 23:37:14 +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
0e726e9cd8
Cast sbyte values
Rename test file to SByteTests.cs
2022-05-07 23:12:28 +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
5d3a82a33a
Add IEnumerable<T>.For and ForEach (#50) 2022-05-01 22:25:37 +01:00
6505299c00
Move Stream extensions to IO namespace (#7)
* Finalizes unit tests, 99% coverage
* Update CHANGELOG
2022-04-30 13:52:34 +01:00
a6139a5720
Migrate string extensions to appropriate namespaces (#7)
Introduces more tests
2022-04-30 13:08:39 +01:00
c13cc934b6
Move ListOfByteExtensions to IO namespace
Also introduces unit tests
2022-04-30 11:59:03 +01:00