test: consolidate and standardize test suite on develop/1.0#151
Merged
petesramek merged 9 commits intodevelop/1.0from Apr 3, 2026
Merged
test: consolidate and standardize test suite on develop/1.0#151petesramek merged 9 commits intodevelop/1.0from
petesramek merged 9 commits intodevelop/1.0from
Conversation
- Remove unused Moq package reference - Fix blank lines between [TestMethod] and public void (artifacts of previously removed [TestCategory] attributes) in ExceptionGuardTests, PolylineEncodingTests, CoordinateDeltaTests, Pow10Tests - Consolidate Pow10Tests: 13 individual tests -> 2 data-driven [DataRow] methods - Consolidate CoordinateDeltaTests: 8+ repeated Next/ToString tests -> 3 DataRow methods covering all input combinations - Consolidate PolylineEncodingTests (1424 -> 681 lines): Normalize non-finite, Normalize value, Denormalize value, GetRequiredBufferSize, ValidateCharRange, ValidateBlockLength all converted to [DataRow] - Add XML doc comments to LogDebugExtensionsTests and LogWarningExtensionsTests methods - Rewrite AbstractPolylineDecoderTests: add copyright header, file-scoped namespace, XML docs, explicit types - Add using System.Globalization to CoordinateDeltaTests Agent-Logs-Url: https://github.com/petesramek/polyline-algorithm-csharp/sessions/2ffb0731-b271-46b2-8126-78f2f97d1f21 Co-authored-by: petesramek <2333452+petesramek@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
petesramek
April 3, 2026 14:27
View session
… CancellationToken - Remove duplicate `using PolylineAlgorithm.Internal.Diagnostics;` - Add `using System.Threading;` - Add `CancellationToken cancellationToken` parameter to `Encode` matching `IPolylineEncoder` interface - Add `cancellationToken.ThrowIfCancellationRequested()` at the top of the encoding for-loop Agent-Logs-Url: https://github.com/petesramek/polyline-algorithm-csharp/sessions/7d5e58df-8d5f-42e0-8f6d-5dbdcf138bc1 Co-authored-by: petesramek <2333452+petesramek@users.noreply.github.com>
…lylineDecoder IPolylineDecoder already has cancellationToken = default, making the no-token overload unnecessary. Callers can call Decode(polyline) directly via the interface. Agent-Logs-Url: https://github.com/petesramek/polyline-algorithm-csharp/sessions/0ad5e8c4-b82b-4f8c-805d-29afa8c45722 Co-authored-by: petesramek <2333452+petesramek@users.noreply.github.com>
Avoids breaking existing callers that use the concrete class directly. Only one Encode overload exists so there is no RS0026 concern. Agent-Logs-Url: https://github.com/petesramek/polyline-algorithm-csharp/sessions/0ad5e8c4-b82b-4f8c-805d-29afa8c45722 Co-authored-by: petesramek <2333452+petesramek@users.noreply.github.com>
petesramek
approved these changes
Apr 3, 2026
…ylineDecoder, fix typo in AbstractPolylineEncoder, add default CancellationToken to Decode - Restore Coordinate.cs and Polyline.cs accidentally deleted in the 241880e commit - Remove invalid 'using PolylineAlgorithm.Diagnostics' and duplicate using from AbstractPolylineDecoder - Fix typo ThrwoArgumentCannotBeEmptyEnumerationMessage -> ThrowArgumentCannotBeEmptyEnumerationMessage - Add = default to AbstractPolylineDecoder.Decode cancellationToken to restore source compatibility Agent-Logs-Url: https://github.com/petesramek/polyline-algorithm-csharp/sessions/05118682-83dd-4b46-adee-22711f38696f Co-authored-by: petesramek <2333452+petesramek@users.noreply.github.com>
…ineDecoderExtensions.cs These files were intentionally deleted as part of moving to a fully generic decoder/encoder design. The previous session incorrectly restored them. PolylineDecoderExtensions.cs was also removed as it depended on the now-deleted Polyline/Coordinate types and was itself deleted in the same checkpoint. Agent-Logs-Url: https://github.com/petesramek/polyline-algorithm-csharp/sessions/8b6c08fb-689d-42ed-8c5c-1771cce57444 Co-authored-by: petesramek <2333452+petesramek@users.noreply.github.com>
- Replace <see cref="Coordinate"/> and <see cref="Polyline"/> references in RandomValueProvider.cs and StaticValueProvider.cs with plain descriptions (those types no longer exist) - Add missing <param name="cancellationToken"> tag in AbstractPolylineEncoder.Encode (fixes CS1573 warning) - Uncomment and rewrite PolylineEncoderBenchmark.cs: add StringPolylineEncoder inner class, fix broken _encoder references in Span/Array/List benchmarks, align with IPolylineEncoder<TCoordinate, TPolyline> generic API Agent-Logs-Url: https://github.com/petesramek/polyline-algorithm-csharp/sessions/cd24bd09-954c-4853-95b0-1d634853b58a Co-authored-by: petesramek <2333452+petesramek@users.noreply.github.com>
…olylineException - Add AbstractPolylineEncoderTests: default ctor, null-options, Options property, Encode valid/empty/cancelled, heap-alloc path (stackAllocLimit=1) - Add PolylineEncoderExtensionsTests: List and Array overloads (null encoder, null coordinates, valid encode); use explicit static call for array null checks since T[] → ReadOnlySpan<T> implicit conversion makes the instance method win - Add InvalidPolylineExceptionTests: default ctor and message+innerException ctor - Extend AbstractPolylineDecoderTests: valid decode with known coordinates, null options ctor, Options property, custom options, cancellation - Fix minor capitalization in PolylineEncodingTests comment (code review feedback) Agent-Logs-Url: https://github.com/petesramek/polyline-algorithm-csharp/sessions/8e2d22ca-9372-4d0a-8f6c-9c1a7a8fd66a Co-authored-by: petesramek <2333452+petesramek@users.noreply.github.com>
petesramek
approved these changes
Apr 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
AbstractPolylineEncoderTests.cs— constructor paths, Encode valid/empty/cancelled, heap-alloc path, Options propertyPolylineEncoderExtensionsTests.cs— List and Array overloads (null encoder, null coordinates, valid)AbstractPolylineDecoderTests.cs— valid decode, options constructor null check, Options property, custom options, cancellationInvalidPolylineExceptionTests.cs— default constructor and message+innerException constructor