public TestCaseStatus Show(TestCaseStatus initStatus, LayoutTestCase tcase, DW<Bitmap> bitmap) { lbFilename.Text = Path.GetFileName(tcase.Filename); lbPageNum.Text = tcase.PageNum.ToString(); Comment = tcase.Comment; pbPage.Image = bitmap.o; Status = initStatus; ShowDialog(); tcase.Comment = Comment; return Status; }
public void Create(LayoutTestCase tcase) { if (_haltTests) { Assert.Ignore("Halt tests"); } if (_bookContent == null || _bookContent.o.Book.Filename != tcase.Filename) { if (_bookContent != null) { _bookContent.DisposeItem(); _bookContent = null; } Book book = new Book(tcase.Filename); _bookContent = DW.Wrap<IBookContent>(new BookContent(book, null)); } IPageLayoutStrategy alg = new PdfWordsLayoutStrategy(); PageLayout layout = alg.DetectLayoutFromBook(_bookContent.o, tcase.PageNum); layout.SetPageSizeToScreen(600); // Get staus based on the layout TestCaseStatus status = tcase.GetStatus(layout); // Skip pages that pass the test if (status == TestCaseStatus.Pass_Good || status == TestCaseStatus.Pass_Acceptable) { return; } DW<Bitmap> page = DW.Wrap(_bookContent.o.BookProvider.o.RenderPageImage(tcase.PageNum, layout.PageSize)); DW<Bitmap> newPage = layout.Debug_DrawLayout(page); TestCaseStatus newStatus = _form.Show(status, tcase, newPage); page.DisposeItem(); newPage.DisposeItem(); if (newStatus == TestCaseStatus.HaltTest) { _haltTests = true; Assert.Ignore("Halt tests"); } // Update test case object tcase.Comment = _form.Comment; if (newStatus == TestCaseStatus.Pass_Acceptable || newStatus == TestCaseStatus.Pass_Good) { tcase.ExpectedLayout = layout; tcase.ExpectedLayoutAccurate = (newStatus == TestCaseStatus.Pass_Good); } if (newStatus == TestCaseStatus.Ignore_Clear) { tcase.ExpectedLayout = null; } switch (newStatus) { case TestCaseStatus.Fail: Assert.Fail("Failed: " + tcase.Comment); break; case TestCaseStatus.Ignore: case TestCaseStatus.Ignore_Clear: Assert.Ignore("Ignore: " + tcase.Comment); break; case TestCaseStatus.Unknown: Assert.Inconclusive(); break; } }
public static LayoutTestCase Get(String filename, int pageNum) { String key = filename + "_p" + pageNum; LayoutTestCase tcase; if (!CaseResults.TryGetValue(key, out tcase)) { tcase = new LayoutTestCase(filename, pageNum); CaseResults.Add(key, tcase); } return tcase; }