Takes the behaviours guaranteed by Microsoft.Extensions.DependencyInjection as a checklist and asserts them against `AwaitenServiceProvider` over compile-time containers, grouped by the guarantee under test.
The official `Microsoft.Extensions.DependencyInjection.Specification.Tests` suite cannot be inherited: it is built against xunit v2 while this repository is on xunit.v3, and its `CreateServiceProvider(IServiceCollection)` contract hands the container the types to register at run time, which a generator-fixed graph cannot honour. `MsDiConformance.md` records the reasoning, what is covered, and what is not applicable to a compile-time container.
One divergence surfaced and is pinned by a test asserting the current behaviour, so closing it fails the test instead of passing unnoticed: `IEnumerable<T>` of an element type the graph never mentions returns null where MS.DI guarantees an empty sequence.
Feature detection and disposal ownership are covered by their own suites (`FeatureDetectionTests`, `BridgeDisposalTests`) and are cross-referenced rather than duplicated here.
Takes the behaviours guaranteed by Microsoft.Extensions.DependencyInjection as a checklist and asserts them against
AwaitenServiceProviderover compile-time containers, grouped by the guarantee under test.The official
Microsoft.Extensions.DependencyInjection.Specification.Testssuite cannot be inherited: it is built against xunit v2 while this repository is on xunit.v3, and itsCreateServiceProvider(IServiceCollection)contract hands the container the types to register at run time, which a generator-fixed graph cannot honour.MsDiConformance.mdrecords the reasoning, what is covered, and what is not applicable to a compile-time container.One divergence surfaced and is pinned by a test asserting the current behaviour, so closing it fails the test instead of passing unnoticed:
IEnumerable<T>of an element type the graph never mentions returns null where MS.DI guarantees an empty sequence.Feature detection and disposal ownership are covered by their own suites (
FeatureDetectionTests,BridgeDisposalTests) and are cross-referenced rather than duplicated here.