Skip to content

Merge branch 'main' into dependabot/nuget/dot-config/dotnet-cd257b93b7

1cd9d7a
Select commit
Loading
Failed to load commit list.
Merged

Bump the dotnet group with 3 updates #21

Merge branch 'main' into dependabot/nuget/dot-config/dotnet-cd257b93b7
1cd9d7a
Select commit
Loading
Failed to load commit list.
record-booster CI / Test results succeeded Feb 17, 2026 in 1s

257 passed, 0 failed and 0 skipped

Tests passed successfully

Expand for details
Report Passed Failed Skipped Time
RefactoringTests/test-results/runner_runnervmjduv7_2026-02-17_10_14_55.704139.trx 257 ✅ 10s

✅ RefactoringTests/test-results/runner_runnervmjduv7_2026-02-17_10_14_55.704139.trx

257 tests were completed in 10s with 257 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Webczat.RecordBooster.Refactorings.DeconstructTests 54 ✅ 6s
Webczat.RecordBooster.Refactorings.EqualsAndGetHashCodeTests 95 ✅ 9s
Webczat.RecordBooster.Refactorings.PrintMembersTests 61 ✅ 7s
Webczat.RecordBooster.Refactorings.ToStringTests 47 ✅ 8s

✅ Webczat.RecordBooster.Refactorings.DeconstructTests

✅ DeconstructRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test($$int I, int J, int K);\")
✅ DeconstructRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test(int J)\\r\\n{\\r\\n    $$public int\"···)
✅ DeconstructRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test(int J)\\r\\n{\\r\\n    public void \"···)
✅ DeconstructRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test(int J)\\r\\n{\\r\\n[| |]   public i\"···)
✅ DeconstructRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test(int J)\\r\\n{\\r\\n$$    public int\"···)
✅ DeconstructRefactoring_DoesNotAppear_DeconstructPresent
✅ DeconstructRefactoring_DoesNotAppear_NotPositionalRecord(input: \"$$public class X { }\")
✅ DeconstructRefactoring_DoesNotAppear_NotPositionalRecord(input: \"$$public delegate void X();\")
✅ DeconstructRefactoring_DoesNotAppear_NotPositionalRecord(input: \"$$public enum X { }\")
✅ DeconstructRefactoring_DoesNotAppear_NotPositionalRecord(input: \"$$public interface X { }\")
✅ DeconstructRefactoring_DoesNotAppear_NotPositionalRecord(input: \"$$public record struct X { }\")
✅ DeconstructRefactoring_DoesNotAppear_NotPositionalRecord(input: \"$$public record X { }\")
✅ DeconstructRefactoring_DoesNotAppear_NotPositionalRecord(input: \"$$public struct X { }\")
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndNoMembers(input: \"[|public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    \\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndNoMembers(input: \"$$public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    \\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndNoMembers(input: \"public record Test(int Prop)\\r\\n{\\r\\n[|\\r\\n    |]\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndNoMembers(input: \"public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    \\r\\n$\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndNoMembers(input: \"public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    $$\\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndNoMembers(input: \"public record Test(int Prop)\\r\\n{\\r\\n\\r\\n[|    |]\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndNoMembers(input: \"public record Test(int Prop)\\r\\n{\\r\\n$$\\r\\n    \\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndNoMembers(input: \"public record Test(int Prop)\\r\\n$${\\r\\n\\r\\n    \\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndSingleMember(input: \"[|public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    \\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndSingleMember(input: \"$$public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    \\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndSingleMember(input: \"public record Test(int Prop)\\r\\n{\\r\\n[|\\r\\n    |]\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndSingleMember(input: \"public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    \\r\\np\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndSingleMember(input: \"public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    \\r\\np\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndSingleMember(input: \"public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    $$\\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndSingleMember(input: \"public record Test(int Prop)\\r\\n{\\r\\n\\r\\n[|    |]\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndSingleMember(input: \"public record Test(int Prop)\\r\\n{\\r\\n$$\\r\\n    \\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndSingleMember(input: \"public record Test(int Prop)\\r\\n$${\\r\\n\\r\\n    \\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndTwoMembers(input: \"[|public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    \\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndTwoMembers(input: \"$$public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    \\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndTwoMembers(input: \"public record Test(int Prop)\\r\\n{\\r\\n[|\\r\\n    |]\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndTwoMembers(input: \"public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    \\r\\np\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndTwoMembers(input: \"public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    \\r\\np\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndTwoMembers(input: \"public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    \\r\\np\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndTwoMembers(input: \"public record Test(int Prop)\\r\\n{\\r\\n\\r\\n    $$\\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndTwoMembers(input: \"public record Test(int Prop)\\r\\n{\\r\\n\\r\\n[|    |]\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndTwoMembers(input: \"public record Test(int Prop)\\r\\n{\\r\\n$$\\r\\n    \\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_CursorOnTypeAndTwoMembers(input: \"public record Test(int Prop)\\r\\n$${\\r\\n\\r\\n    \\r\\\"···)
✅ DeconstructRefactoring_GeneratesMethod_OtherDeconstructOverloadsPresent(overload: \"public void Deconstruct()\")
✅ DeconstructRefactoring_GeneratesMethod_OtherDeconstructOverloadsPresent(overload: \"public void Deconstruct(int Prop1, out int Prop2)\")
✅ DeconstructRefactoring_GeneratesMethod_OtherDeconstructOverloadsPresent(overload: \"public void Deconstruct(out int Prop1, out int Pro\"···)
✅ DeconstructRefactoring_GeneratesMethod_OtherDeconstructOverloadsPresent(overload: \"public void Deconstruct(out int Prop1)\")
✅ DeconstructRefactoring_GeneratesMethod_OtherDeconstructOverloadsPresent(overload: \"public void Deconstruct(out string Prop1, out int \"···)
✅ DeconstructRefactoring_GeneratesMethod_ParamWithExplicitlyDeclaredField
✅ DeconstructRefactoring_GeneratesMethod_ParamWithExplicitlyDeclaredProperty
✅ DeconstructRefactoring_GeneratesMethodInInner_NestedRecordsAndCursorOnInner
✅ DeconstructRefactoring_GeneratesMethodInOuter_NestedRecordsAndCursorBeforeInner
✅ DeconstructRefactoring_GeneratesMethodWithNullableParam_NullablePrimaryConstructorParam
✅ DeconstructRefactoring_GeneratesMethodWithParamsFromPrimaryConstructor_MultipleParameters
✅ DeconstructRefactoring_GeneratesNonReadonlyMethod_RecordStructWithNonReadonlyAndReadonlyPositionalProps
✅ DeconstructRefactoring_GeneratesReadonlyMethod_RecordStructWithReadonlyPositionalProps
✅ DeconstructRefactoring_GeneratesReadonlyMethod_RecordStructWithReadonlyPositionalPropsAndNonReadonlyOtherMembers

✅ Webczat.RecordBooster.Refactorings.EqualsAndGetHashCodeTests

✅ EqualsAndGetHashCodeRefactoring_DelegatesToBase_InheritedAndNoMembers
✅ EqualsAndGetHashCodeRefactoring_DelegatesToBase_InheritedAndSingleMember
✅ EqualsAndGetHashCodeRefactoring_DoesNotAddUsings_UsingsPresent
✅ EqualsAndGetHashCodeRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test($$int I, int J, int K);\")
✅ EqualsAndGetHashCodeRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test\\r\\n{\\r\\n    $$public int X;\\r\\n\"···)
✅ EqualsAndGetHashCodeRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test\\r\\n{\\r\\n    public void X()\\r\\n\"···)
✅ EqualsAndGetHashCodeRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test\\r\\n{\\r\\n[| |]   public int X;\\r\"···)
✅ EqualsAndGetHashCodeRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test\\r\\n{\\r\\n$$    public int X;\\r\\n\"···)
✅ EqualsAndGetHashCodeRefactoring_DoesNotAppear_EqualsAlreadyPresent
✅ EqualsAndGetHashCodeRefactoring_DoesNotAppear_GetHashCodeAlreadyPresent
✅ EqualsAndGetHashCodeRefactoring_DoesNotAppear_NotRecord(input: \"$$public class X { }\")
✅ EqualsAndGetHashCodeRefactoring_DoesNotAppear_NotRecord(input: \"$$public delegate void X();\")
✅ EqualsAndGetHashCodeRefactoring_DoesNotAppear_NotRecord(input: \"$$public enum X { }\")
✅ EqualsAndGetHashCodeRefactoring_DoesNotAppear_NotRecord(input: \"$$public interface X { }\")
✅ EqualsAndGetHashCodeRefactoring_DoesNotAppear_NotRecord(input: \"$$public struct X { }\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndNoMembers(input: \"[|public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n}|]\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndNoMembers(input: \"$$public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n}\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n[|\\r\\n    |]\\r\\n}\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n$$}\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    $$\\r\\n}\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n$$\\r\\n    \\r\\n}\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n$${\\r\\n\\r\\n    \\r\\n}\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndOneMember(input: \"[|public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    priva\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndOneMember(input: \"$$public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    priva\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndOneMember(input: \"public record Test\\r\\n{\\r\\n[|\\r\\n    |]\\r\\n    pri\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndOneMember(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    private\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndOneMember(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    private\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndOneMember(input: \"public record Test\\r\\n{\\r\\n\\r\\n    $$\\r\\n    priva\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndOneMember(input: \"public record Test\\r\\n{\\r\\n\\r\\n[|    |]\\r\\n    pri\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndOneMember(input: \"public record Test\\r\\n{\\r\\n$$\\r\\n    \\r\\n    priva\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndOneMember(input: \"public record Test\\r\\n$${\\r\\n\\r\\n    \\r\\n    priva\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndTwoMembers(input: \"[|public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    priva\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndTwoMembers(input: \"$$public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    priva\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndTwoMembers(input: \"public record Test\\r\\n{\\r\\n[|\\r\\n    |]\\r\\n    pri\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndTwoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    private\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndTwoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    private\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndTwoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    private\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndTwoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    $$\\r\\n    priva\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndTwoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n[|    |]\\r\\n    pri\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndTwoMembers(input: \"public record Test\\r\\n{\\r\\n$$\\r\\n    \\r\\n    priva\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_CursorOnTypeAndTwoMembers(input: \"public record Test\\r\\n$${\\r\\n\\r\\n    \\r\\n    priva\"···)
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_OtherEqualsOverloadsPresent(overload: \"public virtual bool Equals()\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_OtherEqualsOverloadsPresent(overload: \"public virtual bool Equals(int other)\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_OtherEqualsOverloadsPresent(overload: \"public virtual bool Equals(ref Test? other)\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_OtherEqualsOverloadsPresent(overload: \"public virtual bool Equals(Test? other, int x)\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_OtherGetHashCodeOverloadsPresent(overload: \"public int GetHashCode(int x)\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_OtherGetHashCodeOverloadsPresent(overload: \"public int GetHashCode(ref int x)\")
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_RecordStructWithSingleMember
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethods_RecordStructWithTwoMembers
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethodsIgnoringFields_AllFieldsStatic
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethodsInInnerType_NestedRecordAndCursorOnInnerType
✅ EqualsAndGetHashCodeRefactoring_GeneratesMethodsInOuterType_NestedRecordAndCursorBeforeInnerType
✅ EqualsAndGetHashCodeRefactoring_GeneratesNonVirtualEquals_RecordSealed
✅ EqualsAndGetHashCodeRefactoring_GeneratesNoOpMethods_RecordStructWithNoMembers
✅ EqualsAndGetHashCodeRefactoring_IgnoresProperties_PropertiesNotAuto
✅ EqualsAndGetHashCodeRefactoring_RespectsNullableContext_NullableDisabled
✅ EqualsAndGetHashCodeRefactoring_ReturnsBaseHashCode_NoHashCodeStructAndInheritedWithNoMembers
✅ EqualsAndGetHashCodeRefactoring_ReturnsEqualityContractHashCode_NoHashCodeStructAndNoMembers
✅ EqualsAndGetHashCodeRefactoring_ReturnsMemberHashCode_NoHashCodeStructAndRecordStructWithSingleMember
✅ EqualsAndGetHashCodeRefactoring_UsesDefaultEqualityComparer_OtherTypes(typeName: \"string[]\")
✅ EqualsAndGetHashCodeRefactoring_UsesDefaultEqualityComparer_OtherTypes(typeName: \"System.Text.StringBuilder\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityComparer_GenericTypeParameters
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"bool\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"byte\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"char\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"decimal\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"double\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"float\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"int\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"long\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"nint\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"nuint\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"object\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"sbyte\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"short\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"string\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"System.DateTime\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"System.Type\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"uint\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"ulong\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_BuiltinTypes(typeName: \"ushort\")
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_EnumTypes
✅ EqualsAndGetHashCodeRefactoring_UsesEqualityOperator_RecordTypes
✅ EqualsAndGetHashCodeRefactoring_UsesHashCodeAdd_InheritedAndMoreThanSevenFields
✅ EqualsAndGetHashCodeRefactoring_UsesHashCodeAdd_MoreThanSevenFields
✅ EqualsAndGetHashCodeRefactoring_UsesHashCodeAdd_RecordStructWithMoreThanEightMembers
✅ EqualsAndGetHashCodeRefactoring_UsesHashCodeCombine_InheritedWithSevenFields
✅ EqualsAndGetHashCodeRefactoring_UsesHashCodeCombine_RecordStructWithEightMembers
✅ EqualsAndGetHashCodeRefactoring_UsesHashCodeCombine_SevenFields
✅ EqualsAndGetHashCodeRefactoring_UsesProperties_PropertiesAuto
✅ EqualsAndGetHashCodeRefactoring_UsesProperties_RecordPositional
✅ EqualsAndGetHashCodeRefactoring_UsesPropertiesAndFields_MixedFieldsAndProperties
✅ EqualsAndGetHashCodeRefactoring_UsesValueTupleHashCode_NoHashCodeStructAndInheritedWithMembersPresent
✅ EqualsAndGetHashCodeRefactoring_UsesValueTupleHashCode_NoHashCodeStructAndMembersPresent
✅ EqualsAndGetHashCodeRefactoring_UsesValueTupleHashCode_NoHashCodeStructAndRecordStructWithMultipleMembersPresent

✅ Webczat.RecordBooster.Refactorings.PrintMembersTests

✅ PrintMembersRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test($$int I, int J, int K);\")
✅ PrintMembersRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test\\r\\n{\\r\\n    $$public int X;\\r\\n\"···)
✅ PrintMembersRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test\\r\\n{\\r\\n    public void X()\\r\\n\"···)
✅ PrintMembersRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test\\r\\n{\\r\\n[| |]   public int X;\\r\"···)
✅ PrintMembersRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test\\r\\n{\\r\\n$$    public int X;\\r\\n\"···)
✅ PrintMembersRefactoring_DoesNotAppear_NotRecord(input: \"$$public class X { }\")
✅ PrintMembersRefactoring_DoesNotAppear_NotRecord(input: \"$$public delegate void X();\")
✅ PrintMembersRefactoring_DoesNotAppear_NotRecord(input: \"$$public enum X { }\")
✅ PrintMembersRefactoring_DoesNotAppear_NotRecord(input: \"$$public interface X { }\")
✅ PrintMembersRefactoring_DoesNotAppear_NotRecord(input: \"$$public struct X { }\")
✅ PrintMembersRefactoring_DoesNotAppear_PrintMembersAlreadyPresent
✅ PrintMembersRefactoring_GeneratesMethod_OtherPrintMemberOverloadsPresent(overload: \"protected virtual bool PrintMembers()\")
✅ PrintMembersRefactoring_GeneratesMethod_OtherPrintMemberOverloadsPresent(overload: \"protected virtual bool PrintMembers(ref StringBuil\"···)
✅ PrintMembersRefactoring_GeneratesMethod_OtherPrintMemberOverloadsPresent(overload: \"protected virtual bool PrintMembers(string sb)\")
✅ PrintMembersRefactoring_GeneratesMethod_OtherPrintMemberOverloadsPresent(overload: \"protected virtual bool PrintMembers(StringBuilder \"···)
✅ PrintMembersRefactoring_GeneratesMethodCallingBase_InheritedAndNoMembers
✅ PrintMembersRefactoring_GeneratesMethodCallingBase_InheritedAndNoPrintableMembers
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_BothPrintableFieldsAndProperties
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndSinglePrintableMember(input: \"$$public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    publi\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndSinglePrintableMember(input: \"public record $$Test\\r\\n{\\r\\n\\r\\n    \\r\\n    publi\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndSinglePrintableMember(input: \"public record Test\\r\\n{\\r\\n[|\\r\\n|]    \\r\\n    pub\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndSinglePrintableMember(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    public \"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndSinglePrintableMember(input: \"public record Test\\r\\n{\\r\\n\\r\\n    $$\\r\\n    publi\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndSinglePrintableMember(input: \"public record Test\\r\\n{\\r\\n\\r\\n[|    |]\\r\\n    pub\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndSinglePrintableMember(input: \"public record Test\\r\\n{\\r\\n$$\\r\\n    \\r\\n    publi\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndSinglePrintableMember(input: \"public record Test\\r\\n$${\\r\\n\\r\\n    \\r\\n    publi\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndTwoPrintableMembers(input: \"$$public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    publi\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndTwoPrintableMembers(input: \"public record $$Test\\r\\n{\\r\\n\\r\\n    \\r\\n    publi\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndTwoPrintableMembers(input: \"public record Test\\r\\n{\\r\\n[|\\r\\n|]    \\r\\n    pub\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndTwoPrintableMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    public \"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndTwoPrintableMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    public \"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndTwoPrintableMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    $$\\r\\n    publi\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndTwoPrintableMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n[|    |]\\r\\n    pub\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndTwoPrintableMembers(input: \"public record Test\\r\\n{\\r\\n$$\\r\\n    \\r\\n    publi\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_CursorOnTypeAndTwoPrintableMembers(input: \"public record Test\\r\\n$${\\r\\n\\r\\n    \\r\\n    publi\"···)
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_InheritedAndPositionalWithSingleParam
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_InheritedAndPositionalWithSingleParamWithExplicitProperty
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_InheritedAndPrintableMembers
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_MixedPrintableAndNotPrintableMembers
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_PositionalRecordWithParams
✅ PrintMembersRefactoring_GeneratesMethodCorrectly_PositionalRecordWithParamsAndExplicitProperty
✅ PrintMembersRefactoring_GeneratesMethodInInnerType_RecordsNestedAndCursorOnNestedType
✅ PrintMembersRefactoring_GeneratesMethodInOuterType_RecordsNestedAndCursorBeforeNestedType
✅ PrintMembersRefactoring_GeneratesMethodReturningFalse_CursorOnTypeAndNoMembers(input: \"$$public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n}\")
✅ PrintMembersRefactoring_GeneratesMethodReturningFalse_CursorOnTypeAndNoMembers(input: \"public record $$Test\\r\\n{\\r\\n\\r\\n    \\r\\n}\")
✅ PrintMembersRefactoring_GeneratesMethodReturningFalse_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n[|\\r\\n|]    \\r\\n}\")
✅ PrintMembersRefactoring_GeneratesMethodReturningFalse_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n$$}\")
✅ PrintMembersRefactoring_GeneratesMethodReturningFalse_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    $$\\r\\n}\")
✅ PrintMembersRefactoring_GeneratesMethodReturningFalse_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n[|    |]\\r\\n}\")
✅ PrintMembersRefactoring_GeneratesMethodReturningFalse_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n$$\\r\\n    \\r\\n}\")
✅ PrintMembersRefactoring_GeneratesMethodReturningFalse_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n$${\\r\\n\\r\\n    \\r\\n}\")
✅ PrintMembersRefactoring_GeneratesMethodReturningFalse_NoPrintableMembers
✅ PrintMembersRefactoring_GeneratesMethodUsingToString_ValueTypeMembers
✅ PrintMembersRefactoring_GeneratesNonReadonlyMethod_RecordStructWithMixedReadonlyAndNonReadonlyProperties
✅ PrintMembersRefactoring_GeneratesNonReadonlyMethod_RecordStructWithNonReadonlyProperties
✅ PrintMembersRefactoring_GeneratesPrivateMethod_RecordSealed
✅ PrintMembersRefactoring_GeneratesProtectedOverrideMethod_InheritedAndSealed
✅ PrintMembersRefactoring_GeneratesReadonlyMethod_RecordStructWithNoMembers
✅ PrintMembersRefactoring_GeneratesReadonlyMethod_RecordStructWithReadonlyProperties
✅ PrintMembersRefactoring_GeneratesReadonlyMethod_RecordStructWithReadonlyPropertiesAndNonReadonlyFields
✅ PrintMembersRefactoring_SkipsIndexer_IndexerGiven

✅ Webczat.RecordBooster.Refactorings.ToStringTests

✅ ToStringRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test($$int X, int Y, int Z);\")
✅ ToStringRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test\\r\\n{\\r\\n    public string $$x {\"···)
✅ ToStringRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test\\r\\n{\\r\\n    public void $$x()\\r\"···)
✅ ToStringRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test\\r\\n{\\r\\n[| |]   public string x\"···)
✅ ToStringRefactoring_DoesNotAppear_CursorInMembers(input: \"public record Test\\r\\n{\\r\\n$$    public string x {\"···)
✅ ToStringRefactoring_DoesNotAppear_CursorInMembers(input: \"using System;\\r\\n\\r\\npublic record Test\\r\\n{\\r\\n  \"···)
✅ ToStringRefactoring_DoesNotAppear_NotRecord(input: \"$$public class X { }\")
✅ ToStringRefactoring_DoesNotAppear_NotRecord(input: \"$$public delegate void X();\")
✅ ToStringRefactoring_DoesNotAppear_NotRecord(input: \"$$public enum X { }\")
✅ ToStringRefactoring_DoesNotAppear_NotRecord(input: \"$$public interface X { }\")
✅ ToStringRefactoring_DoesNotAppear_NotRecord(input: \"$$public struct X { }\")
✅ ToStringRefactoring_DoesNotAppear_ToStringAlreadyPresent
✅ ToStringRefactoring_GeneratesMethod_OtherToStringOverloadsPresent(overload: \"public string ToString(int x, int y)\")
✅ ToStringRefactoring_GeneratesMethod_OtherToStringOverloadsPresent(overload: \"public string ToString(int x)\")
✅ ToStringRefactoring_GeneratesMethod_OtherToStringOverloadsPresent(overload: \"public string ToString(ref int x)\")
✅ ToStringRefactoring_GeneratesNonReadonlyToString_RecordStructWithNonReadonlyAndReadonlyMembers
✅ ToStringRefactoring_GeneratesNonReadonlyToString_RecordStructWithNonReadonlyMembers
✅ ToStringRefactoring_GeneratesReadonlyToString_RecordStructWithNoMembers
✅ ToStringRefactoring_GeneratesReadonlyToString_RecordStructWithReadonlyMembers
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndNoMembers(input: \"$$public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n}\")
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndNoMembers(input: \"public record $$Test\\r\\n{\\r\\n\\r\\n    \\r\\n}\")
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n[|\\r\\n|]    \\r\\n}\")
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n$$}\")
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n    $$\\r\\n}\")
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n\\r\\n[|    |]\\r\\n}\")
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n{\\r\\n$$\\r\\n    \\r\\n}\")
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndNoMembers(input: \"public record Test\\r\\n$${\\r\\n\\r\\n    \\r\\n}\")
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndOneMemberPresent(input: \"$$public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    publi\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndOneMemberPresent(input: \"public record $$Test\\r\\n{\\r\\n\\r\\n    \\r\\n    publi\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndOneMemberPresent(input: \"public record Test\\r\\n{\\r\\n[|\\r\\n|]    \\r\\n    pub\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndOneMemberPresent(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    public \"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndOneMemberPresent(input: \"public record Test\\r\\n{\\r\\n\\r\\n    $$\\r\\n    publi\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndOneMemberPresent(input: \"public record Test\\r\\n{\\r\\n\\r\\n[|    |]\\r\\n    pub\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndOneMemberPresent(input: \"public record Test\\r\\n{\\r\\n$$\\r\\n    \\r\\n    publi\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndOneMemberPresent(input: \"public record Test\\r\\n$${\\r\\n\\r\\n    \\r\\n    publi\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndTwoMembersPresent(input: \"$$public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    publi\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndTwoMembersPresent(input: \"public record $$Test\\r\\n{\\r\\n\\r\\n    \\r\\n    publi\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndTwoMembersPresent(input: \"public record Test\\r\\n{\\r\\n[|\\r\\n|]    \\r\\n    pub\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndTwoMembersPresent(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    public \"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndTwoMembersPresent(input: \"public record Test\\r\\n{\\r\\n\\r\\n    \\r\\n    public \"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndTwoMembersPresent(input: \"public record Test\\r\\n{\\r\\n\\r\\n    $$\\r\\n    publi\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndTwoMembersPresent(input: \"public record Test\\r\\n{\\r\\n\\r\\n[|    |]\\r\\n    pub\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndTwoMembersPresent(input: \"public record Test\\r\\n{\\r\\n$$\\r\\n    \\r\\n    publi\"···)
✅ ToStringRefactoring_GeneratesToString_CursorOnTypeAndTwoMembersPresent(input: \"public record Test\\r\\n$${\\r\\n\\r\\n    \\r\\n    publi\"···)
✅ ToStringRefactoring_GeneratesToString_NoToStringAndRecordPositional
✅ ToStringRefactoring_GeneratesToStringInInnerType_RecordsNestedAndCursorOnNestedType
✅ ToStringRefactoring_GeneratesToStringInOuterType_RecordsNestedAndCursorBeforeNestedType