Browse Source

minor Tester API tests brought down from attic

tags/V_1_1_b5
wisberg 21 years ago
parent
commit
0b35a034d7

+ 2
- 2
testing-client/testsrc/TestingClientModuleTests.java View File

@@ -16,16 +16,16 @@

import junit.framework.*;
import junit.framework.Test;
import org.aspectj.testing.TestingTests;

public class TestingClientModuleTests extends TestCase {

public static Test suite() {
TestSuite suite = new TestSuite(TestingClientModuleTests.class.getName());
suite.addTestSuite(TestingClientModuleTests.class); // minimum 1 test (testNothing)
suite.addTest(TestingTests.suite());
return suite;
}

public TestingClientModuleTests(String name) { super(name); }

public void testNothing() {}
}

+ 234
- 0
testing-client/testsrc/org/aspectj/testing/TesterTest.java View File

@@ -0,0 +1,234 @@
/* *******************************************************************
* Copyright (c) 1999-2001 Xerox Corporation,
* 2002 Palo Alto Research Center, Incorporated (PARC).
* All rights reserved.
* This program and the accompanying materials are made available
* under the terms of the Common Public License v1.0
* which accompanies this distribution and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* Xerox/PARC initial implementation
* ******************************************************************/


package org.aspectj.testing;

import org.aspectj.bridge.IMessage;
import org.aspectj.bridge.IMessageHandler;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import junit.framework.TestCase;
import junit.textui.TestRunner;

/**
* Test the Tester client API's.
* See also tests/harness/*.java and tests/ajcHarnessTests.xml for harness-
* driven Tester tests.
* @author isberg
*/
public class TesterTest extends TestCase {


private static final String ME
= "org.aspectj.testing.TesterTest";

/** @param args ignored */
public static void main(String[] args) {
TestRunner.main(new String[] {ME});
}

/**
* Constructor for TesterTest.
* @param arg0
*/
public TesterTest(String arg0) {
super(arg0);
}
/**
* Test the usage pattern
* <pre>Tester.event("foo");
* Tester.checkEvents(new String[] { "foo" }); </pre>
*/
public void testEventArrayPattern() {
MyTestReporter reporter = new MyTestReporter();
Tester.setMessageHandler(reporter);
//--------- positive test - got expected events
reporter.clear();
Tester.clear();
Tester.event("one");
Tester.event("two");
Tester.checkEvents(new String[] { "one", "two"});
reporter.assertSize(0);

//--------- failed to get expected events
reporter.clear();
Tester.clear();
Tester.checkEvents(new String[] { "one"});
assertTrue(reporter.gotFail("one"));
reporter.assertSize(1);

//--------- got and didn't get expected events
reporter.clear();
Tester.clear();
Tester.event("one");
Tester.event("two");
Tester.checkEvents(new String[] { "one", "two", "three"});
reporter.assertSize(1);
assertTrue(reporter.gotFail("three"));
}
/**
* Test the usage pattern
* <pre>Tester.event("foo");
* Tester.expectEvent("foo");
* Tester.checkAllEvents();</pre>
*/
public void testEventStringPattern() {
MyTestReporter reporter = new MyTestReporter();
Tester.setMessageHandler(reporter);
//--------- positive test - got expected events
reporter.clear();
Tester.clear();
Tester.event("one");
Tester.event("two");
Tester.expectEvent("one");
Tester.expectEvent("two");
Tester.checkAllEvents();
reporter.assertSize(0);

//--------- failed to get expected events
reporter.clear();
Tester.clear();
Tester.expectEvent("one");
Tester.checkAllEvents();
assertTrue(reporter.gotFail("one"));
reporter.assertSize(1);

//--------- got and didn't get expected events
reporter.clear();
Tester.clear();
Tester.expectEvent("one");
Tester.expectEvent("two");
Tester.expectEvent("three");
Tester.event("one");
Tester.event("two");
Tester.checkAllEvents();
assertTrue(reporter.gotFail("three"));
reporter.assertSize(1);
}
/**
* Test the usage pattern
* <pre>Tester.note("foo");
* Tester.check("foo");</pre>
*/
public void testNotePattern() {
MyTestReporter reporter = new MyTestReporter();
Tester.setMessageHandler(reporter);
//--------- positive test - got expected events
reporter.clear();
Tester.clear();
Tester.note("one");
Tester.note("two");
Tester.check("one");
Tester.check("two");
reporter.assertSize(0);

//--------- failed to get expected events
reporter.clear();
Tester.clear();
Tester.check("one");
Tester.checkAllEvents();
assertTrue(reporter.gotFail("one"));
reporter.assertSize(1);

//--------- got and didn't get expected events
reporter.clear();
Tester.clear();
Tester.note("one");
Tester.check("one");
Tester.note("two");
Tester.check("two");
Tester.check("three");
assertTrue(reporter.gotFail("three"));
reporter.assertSize(1);
}
/**
* Stub to record failures emitted by Tester.
* @author isberg
*/
public static class MyTestReporter implements IMessageHandler {
public ArrayList failures = new ArrayList();
public ArrayList passes = new ArrayList();

public void clear() {
failures.clear();
passes.clear();
}

void assertSize(int size) {
assertTrue(-1 < size);
assertTrue("failures: " + failures, size == failures.size());
}
boolean gotPass(String substring) {
return gotItem(passes, substring);
}
boolean gotFail(String substring) {
return gotItem(failures, substring);
}
boolean gotItem(List list, String substring) {
for (Iterator iterator = list.iterator(); iterator.hasNext(); ) {
IMessage element = (IMessage) iterator.next();
String s = element.getMessage();
if ((null != s) && (-1 != s.indexOf(substring))) {
return true;
}
}
return false;
}
public boolean isIgnoring(IMessage.Kind kind) {
return false;
}
public boolean handleMessage(IMessage message) {
(message.isFailed() ? failures : passes).add(message);
return true;
}

}
}
// /**
// * @see ReporterI#abortWithFailure(String, Throwable)
// */
// public void abortWithFailure(String message, Throwable exception) {
// if (null == exception) {
// check(message, true);
// } else {
// String s = message + Util.unqualifiedClassName(exception)
// + ": " + exception.getMessage();
// check(s, false);
// }
// }
//
// /**
// * @see ReporterI#check(String, boolean)
// */
// public boolean check(String message, boolean passed) {
// (!passed ? failures : passes).add(message);
// return passed;
// }
//


+ 32
- 0
testing-client/testsrc/org/aspectj/testing/TestingTests.java View File

@@ -0,0 +1,32 @@
/* *******************************************************************
* Copyright (c) 1999-2001 Xerox Corporation,
* 2002 Palo Alto Research Center, Incorporated (PARC).
* All rights reserved.
* This program and the accompanying materials are made available
* under the terms of the Common Public License v1.0
* which accompanies this distribution and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* Xerox/PARC initial implementation
* ******************************************************************/


package org.aspectj.testing;

import junit.framework.*;

public class TestingTests extends TestCase {

public static Test suite() {
TestSuite suite = new TestSuite(TestingTests.class.getName());
// for now, do not include SuiteTest because it would take 15 minutes
//$JUnit-BEGIN$
suite.addTestSuite(TesterTest.class);
//$JUnit-END$
return suite;
}

public TestingTests(String name) { super(name); }

}

Loading…
Cancel
Save