Skip to content

Commit 4fb1357

Browse files
committed
Add unit test for new partial generated methods
1 parent 07fdeed commit 4fb1357

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

tests/CommunityToolkit.Mvvm.UnitTests/Test_ObservablePropertyAttribute.cs

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,21 @@ public void Test_AlsoNotifyChangeFor()
273273
CollectionAssert.AreEqual(new[] { nameof(model.Surname), nameof(model.FullName), nameof(model.Alias) }, propertyNames);
274274
}
275275

276+
[TestMethod]
277+
public void Test_OnPropertyChangingAndChangedPartialMethods()
278+
{
279+
ViewModelWithImplementedUpdateMethods model = new();
280+
281+
model.Name = nameof(Test_OnPropertyChangingAndChangedPartialMethods);
282+
283+
Assert.AreEqual(nameof(Test_OnPropertyChangingAndChangedPartialMethods), model.NameChangingValue);
284+
Assert.AreEqual(nameof(Test_OnPropertyChangingAndChangedPartialMethods), model.NameChangedValue);
285+
286+
model.Number = 99;
287+
288+
Assert.AreEqual(99, model.NumberChangedValue);
289+
}
290+
276291
public partial class SampleModel : ObservableObject
277292
{
278293
/// <summary>
@@ -398,4 +413,34 @@ public partial class ViewModelWithValidatableGeneratedProperties : ObservableVal
398413

399414
public void RunValidation() => ValidateAllProperties();
400415
}
416+
417+
public partial class ViewModelWithImplementedUpdateMethods : ObservableObject
418+
{
419+
[ObservableProperty]
420+
public string? name = "Bob";
421+
422+
[ObservableProperty]
423+
public int number = 42;
424+
425+
public string? NameChangingValue { get; private set; }
426+
427+
public string? NameChangedValue { get; private set; }
428+
429+
public int NumberChangedValue { get; private set; }
430+
431+
partial void OnNameChanging(string? value)
432+
{
433+
NameChangingValue = value;
434+
}
435+
436+
partial void OnNameChanged(string? value)
437+
{
438+
NameChangedValue = value;
439+
}
440+
441+
partial void OnNumberChanged(int value)
442+
{
443+
NumberChangedValue = value;
444+
}
445+
}
401446
}

0 commit comments

Comments
 (0)