private void DrawTests(Listing_Standard listing) { foreach (Assembly asm in FilteredExplorer.GetFilteredAssemblies()) { DrawAssemblyLine(listing, asm); } }
private void ToggleAllAssemblies(bool toggle) { foreach (Assembly asm in FilteredExplorer.GetFilteredAssemblies()) { assemblyVisibility[asm] = toggle; } }
private void ToggleAllTestSuites(bool toggle) { foreach (Assembly asm in FilteredExplorer.GetFilteredAssemblies()) { foreach (Type ts in FilteredExplorer.GetFilteredTestSuites(asm)) { testSuiteVisibility[ts] = toggle; } } }
public static void UpdateTestStatusCount(TestStatus status) { int value = FilteredExplorer .GetFilteredTests() .Where((MethodInfo t) => TestExplorer.GetTestStatus(t) == status) .Count(); if (tStatus2count.ContainsKey(status)) { tStatus2count[status] = value; } else { tStatus2count.Add(status, value); } }
public static void UpdateTestSuiteStatusCount(TestSuiteStatus status) { int value = FilteredExplorer .GetFilteredTestSuites() .Where((Type ts) => TestSuiteExplorer.GetTestSuiteStatus(ts) == status) .Count(); if (tsStatus2count.ContainsKey(status)) { tsStatus2count[status] = value; } else { tsStatus2count.Add(status, value); } }
public static void UpdateAssemblyStatusCount(AssemblyStatus status) { int value = FilteredExplorer .GetFilteredAssemblies() .Where((Assembly asm) => AssemblyExplorer.GetAssemblyStatus(asm) == status) .Count(); if (asmStatus2count.ContainsKey(status)) { asmStatus2count[status] = value; } else { asmStatus2count.Add(status, value); } }
private int CalcTotalHeight() { int count = 0; foreach (Assembly asm in FilteredExplorer.GetFilteredAssemblies()) { count += 1; if (!GetAssemblyVisibility(asm)) { continue; } foreach (Type ts in FilteredExplorer.GetFilteredTestSuites(asm)) { count += 1; if (!GetTestSuiteVisibility(ts)) { continue; } count += FilteredExplorer.GetFilteredTests(ts).EnumerableCount(); } } return(count * HEIGHT_ROW); }
private void DrawControls(Listing_Standard bar) { Rect rowAsm = bar.GetRect(HEIGHT_CONTROLS); Rect rowTS = bar.GetRect(HEIGHT_CONTROLS); Rect rowT = bar.GetRect(HEIGHT_CONTROLS); // ASM - COLLAPSE / EXPAND - STATUSES Rect asmLabelRect = rowAsm.LeftPartPixels(WIDTH_CONTROLS_ASM_LABEL); Rect asmCollapseRect = rowAsm.RightPartPixels(rowAsm.width - asmLabelRect.xMax).LeftPartPixels(WIDTH_CONTROLS_ASM_COLLAPSE); Rect asmExpandRect = rowAsm.RightPartPixels(rowAsm.width - asmCollapseRect.xMax).LeftPartPixels(WIDTH_CONTROLS_ASM_EXPAND); Widgets.Label(asmLabelRect, "Assemblies"); if (Widgets.ButtonText(asmCollapseRect, "Collapse")) { CollapseAllAssemblies(); } if (Widgets.ButtonText(asmExpandRect, "Expand")) { ExpandAllAssemblies(); } Rect statusAsmLabelRect = rowAsm.RightPartPixels(rowAsm.width - asmExpandRect.xMax - WIDTH_CONTROLS_SECTION_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_LABEL); Rect statusAsmControllerRect = rowAsm.RightPartPixels(rowAsm.width - statusAsmLabelRect.xMax); Rect statusAsmFailRect = statusAsmControllerRect.LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Rect statusAsmWarnRect = statusAsmControllerRect.RightPartPixels(statusAsmControllerRect.width - statusAsmFailRect.width - WIDTH_CONTROLS_CONTROL_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Rect statusAsmSkipRect = statusAsmControllerRect.RightPartPixels(statusAsmControllerRect.width - 2 * statusAsmWarnRect.width - 2 * WIDTH_CONTROLS_CONTROL_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Rect statusAsmUnknownRect = statusAsmControllerRect.RightPartPixels(statusAsmControllerRect.width - 3 * statusAsmSkipRect.width - 3 * WIDTH_CONTROLS_CONTROL_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Rect statusAsmPassRect = statusAsmControllerRect.RightPartPixels(statusAsmControllerRect.width - 4 * statusAsmUnknownRect.width - 4 * WIDTH_CONTROLS_CONTROL_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Widgets.CheckboxLabeled(statusAsmFailRect, $"{StatusExplorer.GetAssemblyStatusCount(AssemblyStatus.ERROR)} {StatusSymbol(AssemblyStatus.ERROR)}", ref FilteredExplorer.failEnabledAsm); Widgets.CheckboxLabeled(statusAsmWarnRect, $"{StatusExplorer.GetAssemblyStatusCount(AssemblyStatus.WARNING)} {StatusSymbol(AssemblyStatus.WARNING)}", ref FilteredExplorer.warningEnabledAsm); Widgets.CheckboxLabeled(statusAsmUnknownRect, $"{StatusExplorer.GetAssemblyStatusCount(AssemblyStatus.UNKNOWN)} {StatusSymbol(AssemblyStatus.UNKNOWN)}", ref FilteredExplorer.unknownEnabledAsm); Widgets.CheckboxLabeled(statusAsmPassRect, $"{StatusExplorer.GetAssemblyStatusCount(AssemblyStatus.PASS)} {StatusSymbol(AssemblyStatus.PASS)}", ref FilteredExplorer.passEnabledAsm); // TESTSUITE - COLLAPSE / EXPAND - STATUSES Rect tsLabelRect = rowTS.LeftPartPixels(WIDTH_CONTROLS_TS_LABEL); Rect tsCollapseRect = rowTS.RightPartPixels(rowTS.width - tsLabelRect.xMax).LeftPartPixels(WIDTH_CONTROLS_TS_COLLAPSE); Rect tsExpandRect = rowTS.RightPartPixels(rowTS.width - tsCollapseRect.xMax).LeftPartPixels(WIDTH_CONTROLS_TS_EXPAND); Widgets.Label(tsLabelRect, "Test Suites"); if (Widgets.ButtonText(tsCollapseRect, "Collapse")) { CollapseAllTestSuites(); } if (Widgets.ButtonText(tsExpandRect, "Expand")) { ExpandAllTestSuites(); } Rect statusTSLabelRect = rowTS.RightPartPixels(rowTS.width - tsExpandRect.xMax - WIDTH_CONTROLS_SECTION_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_LABEL); Rect statusTSControllerRect = rowTS.RightPartPixels(rowTS.width - statusTSLabelRect.xMax); Rect statusTSFailRect = statusTSControllerRect.LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Rect statusTSWarnRect = statusTSControllerRect.RightPartPixels(statusTSControllerRect.width - statusTSFailRect.width - WIDTH_CONTROLS_CONTROL_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Rect statusTSSkipRect = statusTSControllerRect.RightPartPixels(statusTSControllerRect.width - 2 * statusTSWarnRect.width - 2 * WIDTH_CONTROLS_CONTROL_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Rect statusTSUnknownRect = statusTSControllerRect.RightPartPixels(statusTSControllerRect.width - 3 * statusTSSkipRect.width - 3 * WIDTH_CONTROLS_CONTROL_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Rect statusTSPassRect = statusTSControllerRect.RightPartPixels(statusTSControllerRect.width - 4 * statusTSUnknownRect.width - 4 * WIDTH_CONTROLS_CONTROL_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Widgets.CheckboxLabeled(statusTSFailRect, $"{StatusExplorer.GetTestSuiteStatusCount(TestSuiteStatus.ERROR)} {StatusSymbol(TestSuiteStatus.ERROR)}", ref FilteredExplorer.failEnabledTS); Widgets.CheckboxLabeled(statusTSWarnRect, $"{StatusExplorer.GetTestSuiteStatusCount(TestSuiteStatus.WARNING)} {StatusSymbol(TestSuiteStatus.WARNING)}", ref FilteredExplorer.warningEnabledTS); Widgets.CheckboxLabeled(statusTSSkipRect, $"{StatusExplorer.GetTestSuiteStatusCount(TestSuiteStatus.SKIP)} {StatusSymbol(TestSuiteStatus.SKIP)}", ref FilteredExplorer.skipEnabledTS); Widgets.CheckboxLabeled(statusTSUnknownRect, $"{StatusExplorer.GetTestSuiteStatusCount(TestSuiteStatus.UNKNOWN)} {StatusSymbol(TestSuiteStatus.UNKNOWN)}", ref FilteredExplorer.unknownEnabledTS); Widgets.CheckboxLabeled(statusTSPassRect, $"{StatusExplorer.GetTestSuiteStatusCount(TestSuiteStatus.PASS)} {StatusSymbol(TestSuiteStatus.PASS)}", ref FilteredExplorer.passEnabledTS); // TEST - RUN ALL / LOG ALL - STATUSES Rect tLabelRect = rowT.LeftPartPixels(WIDTH_CONTROLS_TS_LABEL); Rect tRunAllRect = rowT.RightPartPixels(rowT.width - tLabelRect.xMax).LeftPartPixels(WIDTH_CONTROLS_TS_COLLAPSE); Rect tLogAllRect = rowT.RightPartPixels(rowT.width - tRunAllRect.xMax).LeftPartPixels(WIDTH_CONTROLS_TS_EXPAND); Widgets.Label(tLabelRect, "Tests"); if (Widgets.ButtonText(tRunAllRect, "Run all")) { Runner.RunAllRegisteredTests(); StatusExplorer.UpdateAllStatusCounts(); TimeElapsedExplorer.UpdateAllAssembliesTimeElapsed(); } if (Widgets.ButtonText(tLogAllRect, "Log all")) { Viewer.LogTestsResults(); } Rect statusTLabelRect = rowT.RightPartPixels(rowT.width - tLogAllRect.xMax - WIDTH_CONTROLS_SECTION_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_LABEL); Rect statusTControllerRect = rowT.RightPartPixels(rowT.width - statusTLabelRect.xMax); Rect statusTFailRect = statusTControllerRect.LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Rect statusTSkipRect = statusTControllerRect.RightPartPixels(statusTControllerRect.width - 2 * statusTFailRect.width - 2 * WIDTH_CONTROLS_CONTROL_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Rect statusTUnknownRect = statusTControllerRect.RightPartPixels(statusTControllerRect.width - 3 * statusTSkipRect.width - 3 * WIDTH_CONTROLS_CONTROL_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Rect statusTPassRect = statusTControllerRect.RightPartPixels(statusTControllerRect.width - 4 * statusTUnknownRect.width - 4 * WIDTH_CONTROLS_CONTROL_GAP).LeftPartPixels(WIDTH_CONTROLS_VIEW_CONTROL); Widgets.CheckboxLabeled(statusTFailRect, $"{StatusExplorer.GetTestStatusCount(TestStatus.ERROR)} {StatusSymbol(TestStatus.ERROR)}", ref FilteredExplorer.failEnabledT); Widgets.CheckboxLabeled(statusTSkipRect, $"{StatusExplorer.GetTestStatusCount(TestStatus.SKIP)} {StatusSymbol(TestStatus.SKIP)}", ref FilteredExplorer.skipEnabledT); Widgets.CheckboxLabeled(statusTUnknownRect, $"{StatusExplorer.GetTestStatusCount(TestStatus.UNKNOWN)} {StatusSymbol(TestStatus.UNKNOWN)}", ref FilteredExplorer.unknownEnabledT); Widgets.CheckboxLabeled(statusTPassRect, $"{StatusExplorer.GetTestStatusCount(TestStatus.PASS)} {StatusSymbol(TestStatus.PASS)}", ref FilteredExplorer.passEnabledT); //// SEARCH Rect rowSearch = bar.GetRect(HEIGHT_CONTROLS); Rect searchLabelRect = rowSearch.LeftPartPixels(WIDTH_CONTROLS_SEARCH_LABEL); Rect searchControlRect = rowSearch.RightPartPixels(rowSearch.width - searchLabelRect.xMax); Widgets.Label(searchLabelRect, "Search :"); try { string searchRegexTmp = Widgets.TextField(searchControlRect, searchRegex); if (searchRegexTmp != searchRegex) { searchRegex = searchRegexTmp; FilteredExplorer.UpdateFilter(new Regex(searchRegex)); } } catch { FilteredExplorer.UpdateFilter(new Regex(@"")); } }