public void Execute_MixedResultsInPOI_RetentionIsEnabled_SavesFile_ReturnsComplete_CorrectMixedResults()
        {
            using (ShimsContext.Create())
            {
                ShimSelectAction selectAction = new ShimSelectAction()
                {
                    SetCandidateElementA11yElement = (element) => { },
                    Select = () => true,
                    POIElementContextGet = () => new ElementContext(
                        CreateA11yElement(
                            new List <A11yElement>
                    {
                        CreateA11yElement(new List <A11yElement>(), new List <ScanStatus>
                        {
                            ScanStatus.Fail, ScanStatus.Pass           // Will count as failure
                        }),
                        CreateA11yElement(new List <A11yElement>(), new List <ScanStatus>
                        {
                            ScanStatus.Pass          // Will count as pass
                        }),
                        CreateA11yElement(new List <A11yElement>(), new List <ScanStatus>
                        {
                            ScanStatus.Uncertain, ScanStatus.Uncertain, ScanStatus.ScanNotSupported          // Will count as unsupported
                        }),
                        CreateA11yElement(new List <A11yElement>(), new List <ScanStatus>
                        {
                            ScanStatus.Pass, ScanStatus.Uncertain, ScanStatus.NoResult          // Will count as uncertain
                        }),
                        CreateA11yElement(new List <A11yElement>(), new List <ScanStatus>
                        {
                            ScanStatus.Uncertain, ScanStatus.NoResult          // Will count as uncertain
                        }),
                    },
                            new List <ScanStatus>
                    {
                        ScanStatus.Pass          // Will count as pass
                    }))
                };

                InitializeShims(populateLocationHelper: true, enableRetention: true, shimTargetElementLocator: true,
                                selectAction: selectAction, elementBoundExceeded: false, shimUiFramework: true,
                                setTestModeSucceeds: true, shimScreenCapture: true, shimSnapshot: true, shimSarif: true);

                SnapshotCommandResult result = SnapshotCommand.Execute(new Dictionary <string, string>());

                // Note: Results are for each A11yElement, not for each ScanStatus!
                AssertCompleteResult(result, 2, 1, 2, 1);
            }
        }
Esempio n. 2
0
 private static void AssertIncompleteResult(SnapshotCommandResult result, string expectedString, bool matchExactString = true)
 {
     Assert.AreEqual(false, result.Completed);
     Assert.AreEqual(0, result.ScanResultsFailedCount, "Mismatch in count of failures");
     Assert.AreEqual(0, result.ScanResultsInconclusiveCount, "Mismatch in count of inconclusives");
     Assert.AreEqual(0, result.ScanResultsPassedCount, "Mismatch in count of passes");
     Assert.AreEqual(0, result.ScanResultsUnsupportedCount, "Mismatch in count of unsupporteds");
     Assert.AreEqual(0, result.ScanResultsTotalCount);
     if (matchExactString)
     {
         Assert.AreEqual(expectedString, result.SummaryMessage);
     }
     else
     {
         Assert.IsTrue(result.SummaryMessage.Contains(expectedString), "\"" + result.SummaryMessage + "\" doesn't contain \"" + expectedString + "\"");
     }
 }
Esempio n. 3
0
        public void Execute_UnableToSelectCandidateElement_ReturnsIncomplete_ErrorAutomation008()
        {
            using (ShimsContext.Create())
            {
                ShimSelectAction selectAction = new ShimSelectAction()
                {
                    SetCandidateElementA11yElement = (element) => { },
                    Select = () => false,
                };

                InitializeShims(selectAction: selectAction, populateLocationHelper: false, enableRetention: true, shimTargetElementLocator: true);

                SnapshotCommandResult result = SnapshotCommand.Execute(new Dictionary <string, string>());

                AssertIncompleteResult(result, " Automation008:", false);
            }
        }
Esempio n. 4
0
        public void Execute_UnableToSetTestModeDataContext_ReturnsIncomplete_ErrorAutomation008()
        {
            using (ShimsContext.Create())
            {
                ShimSelectAction selectAction = new ShimSelectAction()
                {
                    SetCandidateElementA11yElement = (element) => { },
                    Select = () => true,
                    POIElementContextGet = () => new ElementContext(CreateA11yElement()),
                };

                InitializeShims(populateLocationHelper: false, enableRetention: true, shimTargetElementLocator: true,
                                shimUiFramework: true, setTestModeSucceeds: false);

                SnapshotCommandResult result = SnapshotCommand.Execute(new Dictionary <string, string>());

                AssertIncompleteResult(result, " Automation008:", false);
            }
        }
Esempio n. 5
0
        public void Execute_AutomationSessionInstanceThrowsAutomationException_ReturnsIncomplete_MessageMatchesException()
        {
            using (ShimsContext.Create())
            {
                int callsToInstance = 0;

                ShimAutomationSession.Instance = () =>
                {
                    callsToInstance++;
                    throw new A11yAutomationException(TestMessage);
                };

                InitializeShims();

                SnapshotCommandResult result = SnapshotCommand.Execute(new Dictionary <string, string>());

                Assert.AreEqual(1, callsToInstance);
                AssertIncompleteResult(result, TestMessage);
            }
        }