public void SetStatusTest() { string guid1 = Guid.NewGuid().ToString(); string guid2 = Guid.NewGuid().ToString(); SpecStep[] steps = new SpecStep[] { new SpecStep() { Message = "Step 1 message", Status = SpecStatus.Passed, Trace = "Step 1 trace" }, new SpecStep() { Message = "Step 2 message", Status = SpecStatus.Failed, Trace = "Step 2 trace" } }; TestHelper.TestCollectionChanged <BindableDictionary <string, SpecStatusViewModel>, KeyValuePair <string, SpecStatusViewModel> >(_SpecOrSuiteViewModel.Statuses) .Action(c => _SpecOrSuiteViewModel.SetStatus(guid1, SpecStatus.Failed, 1)).Adds(CreateKeyValue(guid1, SpecStatus.Failed, 1, 0)).CountIs(1) .Action(c => _SpecOrSuiteViewModel.SetStatus(guid2, SpecStatus.Skipped, 2)).Adds(CreateKeyValue(guid2, SpecStatus.Skipped, 2, 0)).CountIs(2) .Action(c => _SpecOrSuiteViewModel.SetStatus(guid1, SpecStatus.Skipped, 3, steps, Mock.Of <IFileLocationParser>(), null)).DoesNoChange(); _SpecOrSuiteViewModel.Statuses.ShouldAllBeEquivalentTo(new KeyValuePair <string, SpecStatusViewModel>[] { CreateKeyValue(guid1, SpecStatus.Skipped, 3, 2, steps), CreateKeyValue(guid2, SpecStatus.Skipped, 2, 0) }, o => o.Excluding(si => si.PropertyPath.EndsWith("IsNotifying"))); }