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); } }
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 + "\""); } }
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); } }
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); } }
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); } }