@@ -32,7 +32,7 @@ public partial class SampleViewModel : ObservableObject
3232 }
3333
3434 [ TestMethod ]
35- public async Task RequireCSharpLanguageVersionPreviewAnalyzer_LanguageVersionIsNotPreview_Partial_Warns ( )
35+ public async Task RequireCSharpLanguageVersionPreviewAnalyzer_LanguageVersionIsNotPreview_CSharp12_Partial_Warns ( )
3636 {
3737 const string source = """
3838 using CommunityToolkit.Mvvm.ComponentModel;
@@ -51,8 +51,32 @@ await CSharpAnalyzerWithLanguageVersionTest<RequiresCSharpLanguageVersionPreview
5151 source ,
5252 LanguageVersion . CSharp12 ,
5353
54- // /0/Test0.cs(8,31): error CS8703: The modifier 'partial' is not valid for this item in C# 12.0. Please use language version 'preview' or greater.
55- DiagnosticResult . CompilerError ( "CS8703" ) . WithSpan ( 8 , 31 , 8 , 35 ) . WithArguments ( "partial" , "12.0" , "preview" ) ,
54+ // /0/Test0.cs(8,31): error CS8703: The modifier 'partial' is not valid for this item in C# 12.0. Please use language version '13.0' or greater.
55+ DiagnosticResult . CompilerError ( "CS8703" ) . WithSpan ( 8 , 31 , 8 , 35 ) . WithArguments ( "partial" , "12.0" , "13.0" ) ,
56+ // /0/Test0.cs(8,31): error CS9248: Partial property 'SampleViewModel.Name' must have an implementation part.
57+ DiagnosticResult . CompilerError ( "CS9248" ) . WithSpan ( 8 , 31 , 8 , 35 ) . WithArguments ( "MyApp.SampleViewModel.Name" ) ) ;
58+ }
59+
60+ [ TestMethod ]
61+ public async Task RequireCSharpLanguageVersionPreviewAnalyzer_LanguageVersionIsNotPreview_CSharp13_Partial_Warns ( )
62+ {
63+ const string source = """
64+ using CommunityToolkit.Mvvm.ComponentModel;
65+
66+ namespace MyApp
67+ {
68+ public partial class SampleViewModel : ObservableObject
69+ {
70+ [{|MVVMTK0041:ObservableProperty|}]
71+ public partial string Name { get; set; }
72+ }
73+ }
74+ """ ;
75+
76+ await CSharpAnalyzerWithLanguageVersionTest < RequiresCSharpLanguageVersionPreviewAnalyzer > . VerifyAnalyzerAsync (
77+ source ,
78+ LanguageVersion . CSharp13 ,
79+
5680 // /0/Test0.cs(8,31): error CS9248: Partial property 'SampleViewModel.Name' must have an implementation part.
5781 DiagnosticResult . CompilerError ( "CS9248" ) . WithSpan ( 8 , 31 , 8 , 35 ) . WithArguments ( "MyApp.SampleViewModel.Name" ) ) ;
5882 }
0 commit comments