001    // jademx - JADE management using JMX
002    // Copyright 2005 Caboodle Networks, Inc.
003    //
004    // This library is free software; you can redistribute it and/or
005    // modify it under the terms of the GNU Lesser General Public
006    // License as published by the Free Software Foundation; either
007    // version 2.1 of the License, or (at your option) any later version.
008    //
009    // This library is distributed in the hope that it will be useful,
010    // but WITHOUT ANY WARRANTY; without even the implied warranty of
011    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
012    // Lesser General Public License for more details.
013    //
014    // You should have received a copy of the GNU Lesser General Public
015    // License along with this library; if not, write to the Free Software
016    // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
017    
018    package jade.jademx.unit;
019    
020    
021    import java.util.Properties;
022    
023    import jade.jademx.JadeMXSuiteTest;
024    import jade.jademx.agent.JademxAgent;
025    import jade.jademx.util.iso8601.Duration;
026    import jade.lang.acl.ACLMessage;
027    import junit.framework.Test;
028    import junit.framework.TestCase;
029    import junit.framework.TestSuite;
030    
031    /** 
032     * unit testing test
033     * @author David Bernstein, <a href="http://www.caboodlenetworks.com"
034     *  >Caboodle Networks, Inc.</a>
035     */
036    public class UnitTestBehaviourTest extends TestCase {
037        
038        /** non-null JademxAgent to use */
039        private JademxAgent jademxAgent = new JademxAgent();
040        /** non-null ACL message to use */
041        private ACLMessage aclMessage = new ACLMessage( ACLMessage.INFORM );
042        /** non-null duration to use */
043        private Duration duration = new Duration("PT1M");
044        /** non-null properties to use */
045        private Properties properties = new Properties();
046        
047        /**
048         * test for expected exception when passing null JademxAgent to constructor
049         */
050        public void testNullJademxAgent() {
051            try {
052                new UnitTestBehaviour( null, aclMessage, aclMessage, duration, properties);
053                fail("failed to catch null JademxAgent passed to UnitTestBehaviour constructor");
054            }
055            catch ( IllegalArgumentException iae ) {
056                assertTrue(true);
057            }
058        }
059        
060        /**
061         * test for expected exception when passing null expected message to constructor
062         */
063        public void testNullExpectedMessage() {
064            try {
065                new UnitTestBehaviour( jademxAgent, null, aclMessage, duration, properties);
066                fail("failed to catch null expected message passed to UnitTestBehaviour constructor");
067            }
068            catch ( IllegalArgumentException iae ) {
069                assertTrue(true);
070            }
071        }
072        
073        /**
074         * test for expected exception when passing null inject message to constructor
075         */
076        public void testNullInjectMessage() {
077            try {
078                new UnitTestBehaviour( jademxAgent, aclMessage, null, duration, properties);
079                fail("failed to catch null inject message passed to UnitTestBehaviour constructor");
080            }
081            catch ( IllegalArgumentException iae ) {
082                assertTrue(true);
083            }
084        }
085        
086        /**
087         * test for expected exception when passing null timeout to constructor
088         */
089        public void testNullTimeout() {
090            try {
091                new UnitTestBehaviour( jademxAgent, aclMessage, aclMessage, null, properties);
092                fail("failed to catch null timeout passed to UnitTestBehaviour constructor");
093            }
094            catch ( IllegalArgumentException iae ) {
095                assertTrue(true);
096            }
097        }
098        
099        /**
100         * test for expected exception when passing null variable properties to constructor
101         */
102        public void testNullProperties() {
103            try {
104                new UnitTestBehaviour( jademxAgent, aclMessage, aclMessage, duration, null);
105                fail("failed to catch null properties passed to UnitTestBehaviour constructor");
106            }
107            catch ( IllegalArgumentException iae ) {
108                assertTrue(true);
109            }
110        }
111        
112       
113        // suite
114    
115        /**
116         * return the implicit suite of tests
117         * @return the implicit suite of tests
118         */
119        public static Test suite() {
120            return new TestSuite( 
121                    UnitTestBehaviourTest.class, 
122                    JadeMXSuiteTest.nameWithClass( UnitTestBehaviourTest.class, 
123                    "testing UnitTestBehaviour") );
124        }
125        
126    }