コード例 #1
0
        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")));
        }