01: /*
02: * @(#)ResultVerifier.java 1.5 06/10/10
03: *
04: * Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
05: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
06: *
07: * This program is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU General Public License version
09: * 2 only, as published by the Free Software Foundation.
10: *
11: * This program is distributed in the hope that it will be useful, but
12: * WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * General Public License version 2 for more details (a copy is
15: * included at /legal/license.txt).
16: *
17: * You should have received a copy of the GNU General Public License
18: * version 2 along with this work; if not, write to the Free Software
19: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA
21: *
22: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
23: * Clara, CA 95054 or visit www.sun.com if you need additional
24: * information or have any questions.
25: */
26:
27: package gunit.textui;
28:
29: import java.io.*;
30: import junit.framework.AssertionFailedError;
31: import gunit.framework.TestResultVerifier;
32: import gunit.framework.TestResultDescription;
33:
34: /**
35: * <code>ResultVerifier</code> presents the textual description of the
36: * testcase operation and lets the user the assert the expected outcome
37: * with actual one.
38: */
39: public class ResultVerifier implements TestResultVerifier {
40: public ResultVerifier() {
41: }
42:
43: public void verify(Class cls, String methodName,
44: TestResultDescription desc) {
45: String text = desc.getText();
46: if (text == null) {
47: // no result description for the test, so the developer
48: // has either asserted using Assert.assert() or dont
49: // care for manual verification.
50: return;
51: }
52:
53: String image_url = desc.getImageURL();
54: if (image_url == null)
55: image_url = "<none>";
56: System.out.println(cls.getName() + "." + methodName);
57: System.out.println("Text : " + text + "\n");
58: System.out.println("Image URL : " + image_url + "\n");
59:
60: System.out
61: .print("Enter result [(p)assed/(f)ailed][default=p]:");
62: BufferedReader br = new BufferedReader(new InputStreamReader(
63: System.in));
64: String result_code = null;
65: try {
66: result_code = br.readLine().trim();
67: } catch (Exception ex) {
68: throw new RuntimeException(ex.getMessage());
69: }
70: if (result_code.length() <= 0 || "p".equals(result_code)) {
71: return;
72: } else if ("f".equals(result_code)) {
73: throw new AssertionFailedError("");
74: } else {
75: throw new IllegalArgumentException("Invalid result code");
76: }
77: }
78: }
|