Skip to content

Add ValueListDictionary#291

Merged
AnakinRaW merged 5 commits intodevelopfrom
value-list-dict
Dec 28, 2025
Merged

Add ValueListDictionary#291
AnakinRaW merged 5 commits intodevelopfrom
value-list-dict

Conversation

@AnakinRaW
Copy link
Copy Markdown
Owner

No description provided.

@AnakinRaW AnakinRaW changed the base branch from main to develop December 27, 2025 17:00
@AnakinRaW AnakinRaW merged commit 075729f into develop Dec 28, 2025
2 checks passed
AnakinRaW added a commit that referenced this pull request Jan 24, 2026
* Bump the all-deps group with 5 updates (#224)

Bumps MartinCostello.Logging.XUnit from 0.5.1 to 0.6.0
Bumps Microsoft.Bcl.AsyncInterfaces to 9.0.5, 9.0.5
Bumps Microsoft.Extensions.DependencyInjection to 9.0.5, 9.0.5, 9.0.5
Bumps Microsoft.Extensions.DependencyInjection.Abstractions to 9.0.5, 9.0.5, 9.0.5, 9.0.5
Bumps Microsoft.Extensions.Logging.Abstractions to 9.0.5, 9.0.5

---
updated-dependencies:
- dependency-name: MartinCostello.Logging.XUnit
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-deps
- dependency-name: Microsoft.Bcl.AsyncInterfaces
  dependency-version: 9.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Bcl.AsyncInterfaces
  dependency-version: 9.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-version: 9.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection.Abstractions
  dependency-version: 9.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-version: 9.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-version: 9.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection.Abstractions
  dependency-version: 9.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection.Abstractions
  dependency-version: 9.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection.Abstractions
  dependency-version: 9.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-version: 9.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-version: 9.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* update deps

* fix deps update

* try fix

* Bump the all-deps group with 1 update (#227)

Bumps System.Linq.Async to 6.0.3

---
updated-dependencies:
- dependency-name: System.Linq.Async
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: System.Linq.Async
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* update deps & fix test

* Bump Microsoft.Bcl.AsyncInterfaces from 6.0.0 to 9.0.7 (#238)

---
updated-dependencies:
- dependency-name: Microsoft.Bcl.AsyncInterfaces
  dependency-version: 9.0.7
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* update deps

* fix test

* Bump the actions-deps group across 1 directory with 2 updates (#245)

Bumps the actions-deps group with 2 updates in the / directory: [actions/checkout](https://github.com/actions/checkout) and [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/checkout` from 4 to 5
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v5)

Updates `actions/download-artifact` from 4 to 5
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions-deps
- dependency-name: actions/download-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: AnakinRaW <Anakin@gmx-topmail.de>

* Bump actions/setup-dotnet from 4 to 5 in the actions-deps group (#247)

Bumps the actions-deps group with 1 update: [actions/setup-dotnet](https://github.com/actions/setup-dotnet).


Updates `actions/setup-dotnet` from 4 to 5
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump the all-deps group with 6 updates (#253)

Bumps Microsoft.Bcl.AsyncInterfaces from 9.0.8 to 9.0.9
Bumps Microsoft.Extensions.DependencyInjection from 9.0.8 to 9.0.9
Bumps Microsoft.Extensions.DependencyInjection.Abstractions from 9.0.8 to 9.0.9
Bumps Microsoft.Extensions.Logging.Abstractions from 9.0.8 to 9.0.9
Bumps Testably.Abstractions.AccessControl from 4.3.2 to 4.3.6
Bumps Testably.Abstractions.Testing from 4.3.2 to 4.3.6

---
updated-dependencies:
- dependency-name: Microsoft.Bcl.AsyncInterfaces
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Bcl.AsyncInterfaces
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection.Abstractions
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection.Abstractions
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection.Abstractions
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection.Abstractions
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.DependencyInjection.Abstractions
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-version: 9.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Testably.Abstractions.AccessControl
  dependency-version: 4.3.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Testably.Abstractions.Testing
  dependency-version: 4.3.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Testably.Abstractions.Testing
  dependency-version: 4.3.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Testably.Abstractions.Testing
  dependency-version: 4.3.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
- dependency-name: Testably.Abstractions.Testing
  dependency-version: 4.3.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* update deps

* Bump the all-deps group with 1 update (#264)

Bumps Microsoft.NET.Test.Sdk from 17.14.1 to 18.0.0

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-deps
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-deps
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-deps
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-deps
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-deps
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump the actions-deps group across 1 directory with 3 updates (#286)

Bumps the actions-deps group with 3 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v6)

Updates `actions/upload-artifact` from 4 to 5
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v4...v5)

Updates `actions/download-artifact` from 5 to 6
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions-deps
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions-deps
- dependency-name: actions/download-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* migrate solution

* update .net

* reduce some warnings

* extensions

* logging

* revert extensions

* remove some warning

* remove more warnings

* update deps

* fix build

* fix build

* Bump the actions-deps group with 2 updates (#290)

Bumps the actions-deps group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/upload-artifact` from 5 to 6
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v5...v6)

Updates `actions/download-artifact` from 6 to 7
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions-deps
- dependency-name: actions/download-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add ValueListDictionary (#291)

* add and test value list

* remove net 9 from pacakges and CI

* update targets

* clean up project files

* fix nullability

* Public Testing (#292)

* reorganize project files

* rename project file

* move files

* switch to xunit 3

* new test classes

* resolve some warnings

* rename tests

* resolve warnings

* resolve more warnings

* more warnigns

* code doc

* fix merge

* fix build for real

* Async pipeline (#294)

* implement a new async runner

* start async pipeline

* remove delays

* implement step runners

* adjust tests

* add tests for properties

* code doc

* unify step tests

* resolve warnings

* fix potential deadlock in sequtial runner configuration

* reimplement pipelines

* reimplement step pipelines

* remove debug relict

* change target

* test pielinerunner step

* fix tests

* documentation and code corrections

* amend nullable annotation

* resolve some warnings

* switch from blockingcollection to channel

* test more stable

* add tests for correct cancellation and preparation errors with p/c pipeline

* fix race with cancellation and adding steps to p/c pipeline

* rename p/c pipeline

* move some namepsaces

* fix test

* frugallist implements ireadonlycollection
rofrugallist explicitly implements ilist

* unify tests for RO lists/collections

* start rewriting valuelist

* replace ReadOnlyFrugalList by ImmutableFrugalList

* generalize ValueListDictionary to support also non-Frugal implementations

* use var

* enumerator corrections

* use is null

* refactor tests and add missing tests

* start testing ReadOnlyFrugalValueListDictionary

* augment enumerator test

* make ReadOnlyFrugalValueListDictionary closed to IReadOnlyFrugalValueListDictionary only

* enable re organize tests

* update deps

* move to flie

* rename count to ValueCount

* add AddRange and RemoveAll

* unify doc

* update deps

* document code

* rename keycount to count

* resolve warnings

* flip the meaning return value of Add and added bool return to AddRange

* revert theorydata

* some corrections to formatting and docs

* refactor AwaitExtensionsTests to use a helper for process creation and ensure TaskCompletionSource runs continuations asynchronously

* update AwaitExtensionsTests to simplify process creation by using direct executable path

* make weekly deps check

* update copyright year

* update version

* update

* expose API to create an ImmutableFrugalList from a single value

* Lifecycle hooks for StepRunnerPipleines (#297)

* fix compile

* add lifecycle hooks and tracking pipelines for better testability of pipeline execution stages

* Customizable runner pipeline (#298)

* fix compile

* add lifecycle hooks and tracking pipelines for better testability of pipeline execution stages

* fix doc

* add thread safety notes to AsyncStepRunner and ProducerConsumerStepRunner docs

* Improved error handling & awaiting in SimplePipeline

- IStep receives IsCancelled; error handling in PipelineStep refined
- New methods IsExceptionType() and FindException for exception detection
- StopRunnerException is now public, with documentation and constructors
- AsyncStepRunner and PipelineStep support ConfigureAwait(bool) and multiple awaiting
- Test classes renamed and test structure unified; test data modularized
- Tests for Awaiter, ConfigureAwait and error cases significantly extended
- SourceLink package removed from test project
- Various minor corrections and improvements in documentation and logging

* Thread-safe awaitable task consistency for steps

All awaiter methods of IStepRunner and PipelineStep now guarantee returning the same task instance, ensuring status and exception consistency. The caching logic was replaced with an atomically set field. The Wait(TimeSpan) method now explicitly validates timeouts and documents ArgumentOutOfRangeException. New tests validate the consistent behavior of RunAsync, GetAwaiter, and ConfigureAwait. Various minor fixes and documentation improvements were made.

* add tests

* fix failling tests

* fix doc

* update deps

* rename method

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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.

1 participant