commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Heuer (JIRA)" <j...@apache.org>
Subject [jira] Created: (SCXML-48) Cannot create more than one subclass of AbstractStateMachine
Date Tue, 26 Jun 2007 16:42:26 GMT
Cannot create more than one subclass of AbstractStateMachine
------------------------------------------------------------

                 Key: SCXML-48
                 URL: https://issues.apache.org/jira/browse/SCXML-48
             Project: Commons SCXML
          Issue Type: Bug
            Reporter: Michael Heuer
         Attachments: abstract-state-machine-test-src.tar.gz

Similar to the issue described in SCXML-47, the following test case will fail:

    public void testMoreThanOneScxmlDocument() throws Exception {
        URL fooScxmlDocument = getClass().getResource("foo.xml");
        URL barScxmlDocument = getClass().getResource("bar.xml");

        Foo foo = new Foo(fooScxmlDocument);
        Bar bar = new Bar(barScxmlDocument);

        assertTrue(fooCalled);
        // bar's initialstate "bar" never called, since bar's AbstractStateMachine has
        // static reference to stateMachine for foo.xml
        assertTrue(barCalled);
    }

    private class Foo extends AbstractStateMachine {

        public Foo(final URL scxmlDocument) {
            super(scxmlDocument);
        }

        public void foo() {
            fooCalled = true;
        }
    }

    private class Bar extends AbstractStateMachine {

        public Bar(final URL scxmlDocument) {
            super(scxmlDocument);
        }

        public void bar() {
            barCalled = true;
        }
    }

with simple SCXML files

foo.xml:
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initialstate="foo">
  <state id="foo"/>
</scxml>

bar.xml:
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initialstate="bar">
  <state id="bar"/>
</scxml>


    [junit] Running org.apache.commons.scxml.env.EnvTestSuite
org.apache.commons.scxml.env.AbstractStateMachineTest$Bar.foo()
java.lang.NoSuchMethodException: org.apache.commons.scxml.env.AbstractStateMachineTest$Bar.foo()
        at java.lang.Class.getDeclaredMethod(Class.java:1937)
        at org.apache.commons.scxml.env.AbstractStateMachine.invoke(AbstractStateMachine.java:212)
        at org.apache.commons.scxml.env.AbstractStateMachine$EntryListener.onEntry(AbstractStateMachine.java:269)


Testsuite: org.apache.commons.scxml.env.EnvTestSuite
Tests run: 21, Failures: 2, Errors: 0, Time elapsed: 0.391 sec

Testcase: testMoreThanOneScxmlDocument(org.apache.commons.scxml.env.AbstractStateMachineTest):
 FAILED
junit.framework.AssertionFailedError
        at org.apache.commons.scxml.env.AbstractStateMachineTest.testMoreThanOneScxmlDocument(AbstractStateMachineTest.java:60)

Testcase: testStopWatch(org.apache.commons.scxml.env.StopWatchTest):    FAILED
expected:<reset> but was:<foo>
junit.framework.ComparisonFailure: expected:<reset> but was:<foo>
        at org.apache.commons.scxml.env.StopWatchTest.testStopWatch(StopWatchTest.java:56)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message