public void DebugOutputViewModel_Append_ItemHasSameID_ShouldAddAsNewItemIntoTree()
{
//------------Setup for test--------------------------
var id = Guid.NewGuid();
var envRepo = GetEnvironmentRepository();
var viewModel = new DebugOutputViewModel(new Mock<IEventPublisher>().Object, envRepo, new Mock<IDebugOutputFilterStrategy>().Object);
var content = new DebugState { DisplayName = "Content", ID = id, ParentID = id, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID };
viewModel.Append(content);
var content2 = new DebugState { DisplayName = "Content2", ID = id, ParentID = id, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID };
//------------Execute Test---------------------------
viewModel.Append(content2);
//------------Assert Results-------------------------
Assert.AreEqual(2, viewModel.RootItems.Count);
var child = viewModel.RootItems[0] as DebugStateTreeViewItemViewModel;
Assert.IsNotNull(child);
// ReSharper disable ConditionIsAlwaysTrueOrFalse
if(child != null)
// ReSharper restore ConditionIsAlwaysTrueOrFalse
{
Assert.AreEqual("Content", child.Content.DisplayName);
}
var child2 = viewModel.RootItems[1] as DebugStateTreeViewItemViewModel;
Assert.IsNotNull(child2);
// ReSharper disable ConditionIsAlwaysTrueOrFalse
if(child2 != null)
// ReSharper restore ConditionIsAlwaysTrueOrFalse
{
Assert.AreEqual("Content2", child2.Content.DisplayName);
}
}