Sto sviluppando applicazioni WPF utilizzando il pattern MVVM. Ho ViewModel con codice come questo:Test degli eventi PropertyChanged: è un buon modo?
public bool EditModeEnabled
{
get { return _EditModeEnabled; }
set
{
_ModeEditModeEnabled = value;
OnPropertyChanged("EditModeEnabled");
OnPropertyChanged("CommentTextBoxVisibility");
}
}
OnPropertyChanged
è il metodo virtuale della classe base che ha appena alzare PropertyChanged
evento. Voglio testare PropertyChanged
evento alzando e c'è il mio metodo di prova:
public void EditModeEnabledTest()
{
var imageViewModel = TestHelper.GetTestImageViewModel();
var firedEvents = new List<string>();
imageViewModel.PropertyChanged += ((sender, e) => firedEvents.Add(e.PropertyName));
imageViewModel.Mode = true;
Assert.AreEqual(firedEvents.Count, 2);
Assert.IsTrue(firedEvents.Contains("EditModeEnabled"));
Assert.IsTrue(firedEvents.Contains("CommentTextBoxVisibility"));
...
}
E 'un buon modo per testare evento ProprtyChanged?
Questo è impressionante! Grazie. – bniwredyc
Roba buona ... stavo per scrivere il mio wrapper, ma ho pensato di controllare SO, e voilà ... eccolo qui> 8) Ho ottimizzato leggermente la tua soluzione per usare xUnit. Grazie! –