Hello, I am new to unit testing and have the following question. I have a WPF app that uses MVVM and I am working on unit testing the view model. My UI has a button which the view model abstracts as a command, and when it is pressed it sets the state of a few properties and posts an event. My question is whether I should make one unit test that asserts everything I expect to happen from the button press (psuedocode):
// Arrange
btnCommand.Execute(null); // basically button press handler
Assert(StateA == X)
Assert(StateB == Y)
Assert(StateC == Z)
Verify event was posted
or should I separate these out into 4 separate tests with only one assert per test?