static void Verify_AppendError(bool contentHasError)
{
//------------Setup for test--------------------------
const string AppendError = "Appended text";
const string ContentError = "Content text";
var content = new DebugState { DisplayName = "Error Test", ID = Guid.NewGuid(), ActivityType = ActivityType.Workflow };
var expectedProps = new[] { "Content.ErrorMessage", "Content.HasError", "Content", "HasError" };
var actualProps = new List<string>();
var envRep = CreateEnvironmentRepository();
var vm = new DebugStateTreeViewItemViewModelMock(envRep.Object) { Content = content };
vm.PropertyChanged += (sender, args) => actualProps.Add(args.PropertyName);
//------------Execute Test---------------------------
vm.Content.HasError = contentHasError;
vm.Content.ErrorMessage = ContentError;
vm.AppendError(AppendError);
//------------Assert Results-------------------------
if(contentHasError)
{
Assert.AreEqual(ContentError + AppendError, content.ErrorMessage);
}
else
{
Assert.AreEqual(AppendError, content.ErrorMessage);
}
Assert.IsTrue(content.HasError);
Assert.IsTrue(vm.HasError != null && vm.HasError.Value);
CollectionAssert.AreEqual(expectedProps, actualProps);
}