-
Notifications
You must be signed in to change notification settings - Fork 0
Feature/implement data related logic for ranges #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
blaze6950
merged 32 commits into
main
from
feature/implement-data-related-logic-for-ranges
Feb 3, 2026
Merged
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
0497a38
Feature: Implement data-related logic for RangeData and update range …
d41fca7
Feature: Add validation method for RangeData to ensure data sequence …
3737b44
Feature: Add overview and implementation details for RangeData in REA…
48ea28f
Feature: Add unit tests for RangeData extensions to validate adjacenc…
19cb096
Feature: Add unit tests for RangeData extensions to validate equality…
8f049cb
Feature: Add benchmarks for RangeData and RangeDataExtensions to eval…
4da1502
Feature: Integrate Codecov coverage reporting into CI workflows for a…
3052b28
Feature: Enhance RangeData logic for sub-range and point access with …
d308e04
Feature: Update Microsoft.NET.Test.Sdk to version 17.11.1 in test pro…
2280763
Feature: Update Microsoft.NET.Test.Sdk to version 17.11.1 in test pro…
bbc3833
Feature: Update test execution paths and remove Codecov upload from D…
f004ba8
Feature: Update test paths in CI configuration and enhance documentat…
1b350a1
Feature: Update CI configuration to use test paths for dependency res…
5ce1777
Feature: Correct test path in CI configuration for Intervals.NET.Data…
69bf893
Feature: Update CI configuration to use test path for dependency rest…
880f1d0
Feature: Optimize null-check for domain parameter to avoid boxing in …
5067da8
Feature: Enhance test coverage for RangeData and DateTime domains wit…
83ce766
chore: get rid of redundant md files
002b025
Feature: Update range comments and improve test method naming for cla…
e54ecf1
Feature: Refine distance calculation and improve exception messages i…
d01bfab
Feature: Improve range validation logic to handle overflow and enhanc…
1231945
Feature: Enhance range validation to correctly handle infinity bounds…
9e414d0
Feature: Update range documentation for clarity and improve validatio…
5153fa5
Feature: Enhance TrimStart and TrimEnd methods to support inclusive/e…
84ff162
Feature: Update documentation for RangeData methods to clarify return…
489e346
Feature: Clarify documentation for range span calculation and return …
8422dff
Feature: Update test data in IsTouching method to clarify range eleme…
accaa4f
Feature: Update test data in IsBeforeAndAdjacentTo method to clarify …
2a45cc9
Feature: Refine documentation and logic in RangeData extensions for c…
a28da1b
Feature: Enhance documentation for domain interfaces and implementati…
ffd2926
Feature: Update README to enhance structure and clarity of RangeData …
c7390d3
Fix TryGet returning false for empty subranges with exclusive parent …
Copilot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,126 @@ | ||
| name: CI/CD - Intervals.NET.Data | ||
|
|
||
| on: | ||
| push: | ||
| branches: [ master, main ] | ||
| paths: | ||
| - 'src/Intervals.NET.Data/**' | ||
| - 'tests/Intervals.NET.Data.Tests/**' | ||
| - 'global.json' | ||
| - '.github/workflows/intervals-net-data.yml' | ||
| pull_request: | ||
| branches: [ master, main ] | ||
| paths: | ||
| - 'src/Intervals.NET.Data/**' | ||
| - 'tests/Intervals.NET.Data.Tests/**' | ||
| - 'global.json' | ||
| - '.github/workflows/intervals-net-data.yml' | ||
| workflow_dispatch: | ||
|
|
||
| env: | ||
| DOTNET_VERSION: '8.x.x' | ||
| PROJECT_PATH: 'src/Intervals.NET.Data/Intervals.NET.Data.csproj' | ||
| TEST_PATH: 'tests/Intervals.NET.Data.Tests/Intervals.NET.Data.Tests.csproj' | ||
|
|
||
blaze6950 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| permissions: | ||
| contents: read | ||
| packages: write | ||
|
|
||
| concurrency: | ||
| group: "intervals-net-data-${{ github.ref }}" | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| build-and-test: | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Setup .NET | ||
| uses: actions/setup-dotnet@v4 | ||
| with: | ||
| dotnet-version: ${{ env.DOTNET_VERSION }} | ||
|
|
||
| - name: Cache NuGet packages | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.nuget/packages | ||
| key: nuget-packages-${{ runner.os }}-${{ hashFiles('src/Intervals.NET.Data/Intervals.NET.Data.csproj', 'tests/Intervals.NET.Data.Tests/Intervals.NET.Data.Tests.csproj', 'global.json') }} | ||
| restore-keys: | | ||
| nuget-packages-${{ runner.os }}- | ||
|
|
||
| - name: Restore dependencies | ||
| run: dotnet restore ${{ env.TEST_PATH }} | ||
|
|
||
| - name: Build | ||
| run: dotnet build ${{ env.TEST_PATH }} --configuration Release --no-restore | ||
|
|
||
| - name: Run tests (if present) | ||
| if: always() | ||
| run: | | ||
| if [ -f "${{ env.TEST_PATH }}" ]; then | ||
| dotnet test ${{ env.TEST_PATH }} --configuration Release --no-build --verbosity normal --collect:"XPlat Code Coverage" --results-directory ./TestResults --logger "trx;LogFileName=test_results.trx" | ||
| mkdir -p test-artifacts || true | ||
| cp ./TestResults/*/test_results.trx test-artifacts/ || true | ||
| echo "Tests executed" | ||
| else | ||
| echo "No test project found at ${{ env.TEST_PATH }}" | ||
| fi | ||
|
|
||
| - name: Upload coverage reports to Codecov | ||
| if: always() | ||
| uses: codecov/codecov-action@v4 | ||
| with: | ||
| files: ./TestResults/**/coverage.cobertura.xml | ||
| fail_ci_if_error: false | ||
| verbose: true | ||
| env: | ||
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | ||
|
|
||
| - name: Upload test results | ||
| if: always() | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: intervals-net-data-test-results | ||
| path: test-artifacts/ | ||
|
|
||
| publish-nuget: | ||
| runs-on: ubuntu-latest | ||
| needs: build-and-test | ||
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | ||
|
|
||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Setup .NET | ||
| uses: actions/setup-dotnet@v4 | ||
| with: | ||
| dotnet-version: ${{ env.DOTNET_VERSION }} | ||
|
|
||
| - name: Restore | ||
| run: dotnet restore ${{ env.PROJECT_PATH }} | ||
|
|
||
| - name: Build | ||
| run: dotnet build ${{ env.PROJECT_PATH }} --configuration Release --no-restore | ||
|
|
||
| - name: Pack Intervals.NET.Data | ||
| run: dotnet pack ${{ env.PROJECT_PATH }} --configuration Release --no-build --output ./artifacts | ||
|
|
||
| - name: Publish Intervals.NET.Data to NuGet | ||
| env: | ||
| NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} | ||
| run: | | ||
| if [ -z "${NUGET_API_KEY}" ]; then | ||
| echo "NUGET_API_KEY not set, skipping push" | ||
| exit 0 | ||
| fi | ||
| dotnet nuget push ./artifacts/Intervals.NET.Data.*.nupkg --api-key ${NUGET_API_KEY} --source https://api.nuget.org/v3/index.json --skip-duplicate | ||
|
|
||
| - name: Upload package artifacts | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: intervals-net-data-package | ||
| path: ./artifacts/*.nupkg | ||
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.