Skip to content

Feature/preparation for v1 release#18

Merged
OlegZee merged 4 commits intomasterfrom
feature/preparation-for-v1-release
Jul 4, 2025
Merged

Feature/preparation for v1 release#18
OlegZee merged 4 commits intomasterfrom
feature/preparation-for-v1-release

Conversation

@OlegZee
Copy link
Copy Markdown
Owner

@OlegZee OlegZee commented Jul 4, 2025

This PR adds many more tests to cover reader and writer classes, adds missing documentation and fixes compiler warnings.

@OlegZee OlegZee requested a review from Copilot July 4, 2025 15:12
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR prepares the library for v1 release by enriching documentation, expanding test coverage, and resolving compiler warnings.

  • Added XML documentation for many core classes and methods (e.g., VInt, StreamExtensions, DTDBase, EbmlWriter, exception types).
  • Introduced extensive NUnit tests for EbmlWriter covering constructors, string, binary, numeric, date/time, master elements, and unknown-size containers.
  • Added null-checks, a Dispose method, and updated copyright years.

Reviewed Changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
Src/Core/VInt.cs Added XML docs for implicit conversion, equality, hash, and ToString
Src/Core/StreamExtensions.cs Documented StreamExtensions class and ReadFully method
Src/Core/MasterBlockWriter.cs Added Dispose() method and docs
Src/Core/ElementType.cs Documented new None enum member
Src/Core/ElementDescriptor.cs Added overrides (GetHashCode, Equals, ToString) with docs
Src/Core/EbmlWriter.cs Updated copyright, added docs, null-check, and warning note
Src/Core/EbmlDataFormatException.cs Added constructors with XML docs
Src/Core/DTDBase.cs Documented factory methods, nested descriptor classes, and StandardDtd members
Src/Core.Tests/EbmlWriterTests.cs Added comprehensive tests for EbmlWriter
Comments suppressed due to low confidence (2)

Src/Core/EbmlDataFormatException.cs:31

  • Parameter cause should be named innerException to follow .NET conventions for wrapping exceptions.
		public EbmlDataFormatException(string message, Exception cause)

Src/Core/DTDBase.cs:146

  • You have consecutive <summary> tags documenting two separate fields (CRC32 and Void) on one block. Each field should have its own XML doc header to ensure the comments attach correctly.
		/// </summary>

/// <summary>
/// Disposes the master block writer and flushes any pending data
/// </summary>
public void Dispose()
Copy link

Copilot AI Jul 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The class provides a Dispose method but does not implement IDisposable. Implement IDisposable so that consumers can use using blocks and tooling can detect disposable resources correctly.

Copilot uses AI. Check for mistakes.
Comment thread Src/Core/EbmlWriter.cs Outdated
Comment thread Src/Core.Tests/EbmlWriterTests.cs
Comment thread Src/Core.Tests/EbmlWriterTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@OlegZee OlegZee merged commit 31dfd88 into master Jul 4, 2025
1 check passed
@OlegZee OlegZee deleted the feature/preparation-for-v1-release branch July 18, 2025 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants