using System.Collections.Generic; using System.ComponentModel; using TUnit.Assertions.Adapters; using TUnit.Assertions.Abstractions; using TUnit.Assertions.Core; using TUnit.Assertions.Should.Attributes; using TUnit.Assertions.Sources; namespace TUnit.Assertions.Should.Core; [ShouldGeneratePartial(typeof(SetAssertion<>))] public sealed partial class ShouldSetSource : ShouldSetSourceBase, TItem, ShouldSetSource> { [EditorBrowsable(EditorBrowsableState.Never)] public ShouldSetSource(ISet? value, string? expression) : base(new AssertionContext>(value!, ShouldExpressionBuilder.Build(expression))) { } internal ShouldSetSource(AssertionContext> context) : base(context) { } protected override ISetAdapter CreateSetAdapter(ISet value) => new SetAdapter(value); } #if NET5_0_OR_GREATER [ShouldGeneratePartial(typeof(ReadOnlySetAssertion<>))] public sealed partial class ShouldReadOnlySetSource : ShouldSetSourceBase, TItem, ShouldReadOnlySetSource> { [EditorBrowsable(EditorBrowsableState.Never)] public ShouldReadOnlySetSource(IReadOnlySet? value, string? expression) : base(new AssertionContext>(value!, ShouldExpressionBuilder.Build(expression))) { } internal ShouldReadOnlySetSource(AssertionContext> context) : base(context) { } protected override ISetAdapter CreateSetAdapter(IReadOnlySet value) => new ReadOnlySetAdapter(value); } #endif [ShouldGeneratePartial(typeof(HashSetAssertion<>))] public sealed partial class ShouldHashSetSource : ShouldSetSourceBase, TItem, ShouldHashSetSource> { [EditorBrowsable(EditorBrowsableState.Never)] public ShouldHashSetSource(HashSet? value, string? expression) : base(new AssertionContext>(value!, ShouldExpressionBuilder.Build(expression))) { } internal ShouldHashSetSource(AssertionContext> context) : base(context) { } protected override ISetAdapter CreateSetAdapter(HashSet value) => new SetAdapter(value); }