Skip to content

Commit 1ea898c

Browse files
authored
Update generated test verifications and packages (#393)
* Update generated test verifications and packages Regenerate and adjust many test verification files to match updated source-generator output: rename generated properties/fields (e.g. to MyNamedProperty), adjust ObservableAsPropertyHelper nullability and protection levels, add/modify JSON/DataContract attributes (JsonInclude/JsonIgnore/DataMemberName), change property accessors (init/required/protected), and fix member-not-null placement. Add a large set of new REACTIVECMD verification files. Update Directory.Packages.props to add/reorder package versions (Basic.Reference.Assemblies for multiple frameworks, Splat, ReactiveUI, System.Reactive, TUnit, Verify.TUnit, etc.) and update the tests project and TestHelper accordingly. * Attribute named-arg conversion and tests Add helper methods to safely convert attribute named arguments and handle enum/raw values, plus add generated ReactiveCommand test verification files. - Modified AttributeDataExtensions.cs to import System.Globalization and replace direct TypedConstant.Value casts with TryConvertNamedArgument, which uses Convert.ChangeType with InvariantCulture and catches conversion errors. - Implemented TryGetRawValue to resolve enum constants from TypedConstant (including IFieldSymbol and member lookup). - Added four generated test verification files under src/ReactiveUI.SourceGenerator.Tests/REACTIVECMD to capture expected ReactiveCommand outputs. These changes ensure more robust conversion of attribute named arguments (including enums and numeric/string conversions) and provide test artifacts for the ReactiveCommand source generator.
1 parent 84aa282 commit 1ea898c

83 files changed

Lines changed: 1047 additions & 167 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/Directory.Packages.props

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@
99
<PackageVersion Include="Nerdbank.GitVersioning" Version="3.9.50" />
1010
<PackageVersion Include="NuGet.Common" Version="6.14.0" />
1111
<PackageVersion Include="NuGet.Protocol" Version="6.14.0" />
12-
<PackageVersion Include="Splat" Version="19.3.1" />
1312
<PackageVersion Include="stylecop.analyzers" Version="1.2.0-beta.556" />
1413
<PackageVersion Include="Roslynator.Analyzers" Version="4.15.0" />
15-
<PackageVersion Include="ReactiveUI" Version="23.2.1" />
1614
<PackageVersion Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" />
1715
<PackageVersion Include="Microsoft.Maui.Controls.Compatibility" Version="$(MauiVersion)" />
1816
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0" />
@@ -41,7 +39,15 @@
4139
<PackageVersion Include="Verify.NUnit" Version="31.13.5" />
4240
<PackageVersion Include="Verify.SourceGenerators" Version="2.5.0" />
4341
<PackageVersion Include="ReactiveMarbles.SourceGenerator.TestNuGetHelper" Version="1.3.1" />
44-
<PackageVersion Include="Basic.Reference.Assemblies.Net80" Version="1.8.4" />
4542
<PackageVersion Include="Basic.Reference.Assemblies.Net80Windows" Version="1.8.4" />
43+
<PackageVersion Include="Basic.Reference.Assemblies.Net100" Version="1.8.4" />
44+
<PackageVersion Include="Basic.Reference.Assemblies.Net90" Version="1.8.4" />
45+
<PackageVersion Include="Basic.Reference.Assemblies.Net80" Version="1.8.4" />
46+
<PackageVersion Include="Splat" Version="19.3.1" />
47+
<PackageVersion Include="ReactiveUI" Version="23.2.1" />
48+
<PackageVersion Include="System.Reactive" Version="6.1.0" />
49+
<PackageVersion Include="TUnit" Version="1.19.22" />
50+
<PackageVersion Include="Verify.TUnit" Version="31.13.2" />
51+
<PackageVersion Include="Verify.SourceGenerators" Version="2.5.0" />
4652
</ItemGroup>
4753
</Project>

src/ReactiveUI.SourceGenerator.Tests/OAPH/OAPFromObservableGeneratorTests.AttrNullRef#TestNs.TestVM.ObservableAsPropertyFromObservable.g.verified.cs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,23 @@ namespace TestNs
1010

1111
public partial class TestVM
1212
{
13-
/// <inheritdoc cref="Test7Property"/>
14-
private object? _test7Property;
13+
/// <inheritdoc cref="MyNamedProperty"/>
14+
private object? _myNamedProperty;
1515

16-
/// <inheritdoc cref="_test7PropertyHelper"/>
17-
private ReactiveUI.ObservableAsPropertyHelper<object?>? _test7PropertyHelper;
16+
/// <inheritdoc cref="_myNamedPropertyHelper"/>
17+
private ReactiveUI.ObservableAsPropertyHelper<object?>? _myNamedPropertyHelper;
1818

19-
/// <inheritdoc cref="_test7Property"/>
19+
/// <inheritdoc cref="_myNamedProperty"/>
2020
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
21+
[global::System.Text.Json.Serialization.JsonIncludeAttribute()]
2122
[global::System.Runtime.Serialization.DataMemberAttribute()]
2223
[global::System.Text.Json.Serialization.JsonIncludeAttribute()]
23-
public object? Test7Property { get => _test7Property = (_test7PropertyHelper == null ? _test7Property : _test7PropertyHelper.Value); }
24+
public object? MyNamedProperty { get => _myNamedProperty = (_myNamedPropertyHelper == null ? _myNamedProperty : _myNamedPropertyHelper.Value); }
2425

2526
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
2627
protected void InitializeOAPH()
2728
{
28-
_test7PropertyHelper = Test7!.ToProperty(this, nameof(Test7Property));
29+
_myNamedPropertyHelper = Test7!.ToProperty(this, nameof(MyNamedProperty));
2930
}
3031
}
3132
}

src/ReactiveUI.SourceGenerator.Tests/OAPH/OAPFromObservableGeneratorTests.AttrRef#TestNs.TestVM.ObservableAsPropertyFromObservable.g.verified.cs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,23 @@ namespace TestNs
1010

1111
public partial class TestVM
1212
{
13-
/// <inheritdoc cref="Test6Property"/>
14-
private object _test6Property;
13+
/// <inheritdoc cref="MyNamedProperty"/>
14+
private object _myNamedProperty;
1515

16-
/// <inheritdoc cref="_test6PropertyHelper"/>
17-
private ReactiveUI.ObservableAsPropertyHelper<object>? _test6PropertyHelper;
16+
/// <inheritdoc cref="_myNamedPropertyHelper"/>
17+
private ReactiveUI.ObservableAsPropertyHelper<object>? _myNamedPropertyHelper;
1818

19-
/// <inheritdoc cref="_test6Property"/>
19+
/// <inheritdoc cref="_myNamedProperty"/>
2020
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
21+
[global::System.Text.Json.Serialization.JsonIncludeAttribute()]
2122
[global::System.Runtime.Serialization.DataMemberAttribute()]
2223
[global::System.Text.Json.Serialization.JsonIncludeAttribute()]
23-
public object Test6Property { get => _test6Property = _test6PropertyHelper?.Value ?? _test6Property; }
24+
public object MyNamedProperty { get => _myNamedProperty = _myNamedPropertyHelper?.Value ?? _myNamedProperty; }
2425

2526
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
2627
protected void InitializeOAPH()
2728
{
28-
_test6PropertyHelper = Test6!.ToProperty(this, nameof(Test6Property));
29+
_myNamedPropertyHelper = Test6!.ToProperty(this, nameof(MyNamedProperty));
2930
}
3031
}
3132
}

src/ReactiveUI.SourceGenerator.Tests/OAPH/OAPFromObservableGeneratorTests.FromObservableMethodsWithName#TestNs.TestVM.ObservableAsPropertyFromObservable.g.verified.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ namespace TestNs
1010

1111
public partial class TestVM
1212
{
13-
/// <inheritdoc cref="Test3Property"/>
14-
private int _test3Property;
13+
/// <inheritdoc cref="MyNamedProperty"/>
14+
private int _myNamedProperty;
1515

16-
/// <inheritdoc cref="_test3PropertyHelper"/>
17-
private ReactiveUI.ObservableAsPropertyHelper<int>? _test3PropertyHelper;
16+
/// <inheritdoc cref="_myNamedPropertyHelper"/>
17+
private ReactiveUI.ObservableAsPropertyHelper<int>? _myNamedPropertyHelper;
1818

19-
/// <inheritdoc cref="_test3Property"/>
19+
/// <inheritdoc cref="_myNamedProperty"/>
2020
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
21-
public int Test3Property { get => _test3Property = _test3PropertyHelper?.Value ?? _test3Property; }
21+
public int MyNamedProperty { get => _myNamedProperty = _myNamedPropertyHelper?.Value ?? _myNamedProperty; }
2222

2323
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
2424
protected void InitializeOAPH()
2525
{
26-
_test3PropertyHelper = Test3()!.ToProperty(this, nameof(Test3Property));
26+
_myNamedPropertyHelper = Test3()!.ToProperty(this, nameof(MyNamedProperty));
2727
}
2828
}
2929
}

src/ReactiveUI.SourceGenerator.Tests/OAPH/OAPFromObservableGeneratorTests.FromPartialProperty#TestNs.TestVM.ObservableAsPropertyFromObservable.g.verified.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ namespace TestNs
1111
public partial class TestVM
1212
{
1313
/// <inheritdoc cref="TestProperty"/>
14-
private double? _testProperty;
14+
private double? _testProperty = 1.1d;
1515

1616
/// <inheritdoc cref="_testPropertyHelper"/>
1717
private readonly ReactiveUI.ObservableAsPropertyHelper<double?> _testPropertyHelper;
1818

1919
/// <inheritdoc cref="_testProperty"/>
2020
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
21+
[global::System.Text.Json.Serialization.JsonIncludeAttribute()]
2122
[global::System.Runtime.Serialization.DataMemberAttribute()]
2223
public partial double? TestProperty { get => _testProperty = (_testPropertyHelper == null ? _testProperty : _testPropertyHelper.Value); }
2324

src/ReactiveUI.SourceGenerator.Tests/OAPH/OAPFromObservableGeneratorTests.WithAttr#TestNs.TestVM.ObservableAsPropertyFromObservable.g.verified.cs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,23 @@ namespace TestNs
1010

1111
public partial class TestVM
1212
{
13-
/// <inheritdoc cref="Test5Property"/>
14-
private int _test5Property;
13+
/// <inheritdoc cref="MyNamedProperty"/>
14+
private int _myNamedProperty;
1515

16-
/// <inheritdoc cref="_test5PropertyHelper"/>
17-
private ReactiveUI.ObservableAsPropertyHelper<int>? _test5PropertyHelper;
16+
/// <inheritdoc cref="_myNamedPropertyHelper"/>
17+
private ReactiveUI.ObservableAsPropertyHelper<int>? _myNamedPropertyHelper;
1818

19-
/// <inheritdoc cref="_test5Property"/>
19+
/// <inheritdoc cref="_myNamedProperty"/>
2020
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
21+
[global::System.Text.Json.Serialization.JsonIncludeAttribute()]
2122
[global::System.Runtime.Serialization.DataMemberAttribute()]
2223
[global::System.Text.Json.Serialization.JsonIncludeAttribute()]
23-
public int Test5Property { get => _test5Property = _test5PropertyHelper?.Value ?? _test5Property; }
24+
public int MyNamedProperty { get => _myNamedProperty = _myNamedPropertyHelper?.Value ?? _myNamedProperty; }
2425

2526
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
2627
protected void InitializeOAPH()
2728
{
28-
_test5PropertyHelper = Test5!.ToProperty(this, nameof(Test5Property));
29+
_myNamedPropertyHelper = Test5!.ToProperty(this, nameof(MyNamedProperty));
2930
}
3031
}
3132
}

src/ReactiveUI.SourceGenerator.Tests/OAPH/OAPFromObservableGeneratorTests.WithName#TestNs.TestVM.ObservableAsPropertyFromObservable.g.verified.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ namespace TestNs
1010

1111
public partial class TestVM
1212
{
13-
/// <inheritdoc cref="Test4Property"/>
14-
private int _test4Property;
13+
/// <inheritdoc cref="MyNamedProperty"/>
14+
private int _myNamedProperty;
1515

16-
/// <inheritdoc cref="_test4PropertyHelper"/>
17-
private ReactiveUI.ObservableAsPropertyHelper<int>? _test4PropertyHelper;
16+
/// <inheritdoc cref="_myNamedPropertyHelper"/>
17+
private ReactiveUI.ObservableAsPropertyHelper<int>? _myNamedPropertyHelper;
1818

19-
/// <inheritdoc cref="_test4Property"/>
19+
/// <inheritdoc cref="_myNamedProperty"/>
2020
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
21-
public int Test4Property { get => _test4Property = _test4PropertyHelper?.Value ?? _test4Property; }
21+
public int MyNamedProperty { get => _myNamedProperty = _myNamedPropertyHelper?.Value ?? _myNamedProperty; }
2222

2323
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
2424
protected void InitializeOAPH()
2525
{
26-
_test4PropertyHelper = Test4!.ToProperty(this, nameof(Test4Property));
26+
_myNamedPropertyHelper = Test4!.ToProperty(this, nameof(MyNamedProperty));
2727
}
2828
}
2929
}

src/ReactiveUI.SourceGenerator.Tests/OAPH/OAPGeneratorTests.NonReadOnlyFromField#TestNs.TestVM.ObservableAsProperties.g.verified.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace TestNs
88
public partial class TestVM
99
{
1010
/// <inheritdoc cref="_test3Helper"/>
11-
private readonly ReactiveUI.ObservableAsPropertyHelper<int> _test3Helper;
11+
private ReactiveUI.ObservableAsPropertyHelper<int>? _test3Helper;
1212

1313
/// <inheritdoc cref="_test3"/>
1414
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]

src/ReactiveUI.SourceGenerator.Tests/OAPH/OAPGeneratorTests.NonReadOnlyFromFieldProtected#TestNs.TestVM.ObservableAsProperties.g.verified.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace TestNs
88
public partial class TestVM
99
{
1010
/// <inheritdoc cref="_test5Helper"/>
11-
private readonly ReactiveUI.ObservableAsPropertyHelper<int> _test5Helper;
11+
protected readonly ReactiveUI.ObservableAsPropertyHelper<int> _test5Helper;
1212

1313
/// <inheritdoc cref="_test5"/>
1414
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]

src/ReactiveUI.SourceGenerator.Tests/OAPH/OapExtTests.FromFieldWithAttributes#TestNs.TestVM.ObservableAsProperties.g.verified.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public partial class TestVM
1212

1313
/// <inheritdoc cref="_computedValue"/>
1414
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
15-
[global::System.Runtime.Serialization.DataMemberAttribute()]
15+
[global::System.Runtime.Serialization.DataMemberAttribute(Name="computedValue")]
1616
[global::System.Text.Json.Serialization.JsonPropertyNameAttribute("computed_value")]
1717
[global::System.Text.Json.Serialization.JsonIncludeAttribute()]
1818
public int ComputedValue { get => _computedValue = _computedValueHelper?.Value ?? _computedValue; }

0 commit comments

Comments
 (0)