1 /**
2 *
3 * Copyright 2003-2004 The Apache Software Foundation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 //
19 // This source code implements specifications defined by the Java
20 // Community Process. In order to remain compliant with the specification
21 // DO NOT add / change / or delete method signatures!
22 //
23 package javax.activation;
24
25 import java.io.IOException;
26
27 import junit.framework.TestCase;
28
29 /**
30 * @version $Rev$ $Date$
31 */
32 public class CommandInfoTest extends TestCase {
33 public void testAttributes() {
34 CommandInfo info = new CommandInfo("test", "test.class");
35 assertEquals("test", info.getCommandName());
36 assertEquals("test.class", info.getCommandClass());
37 }
38
39 public void testInvalidClassName() throws IOException {
40 CommandInfo info = new CommandInfo("test", "test.class");
41 try {
42 info.getCommandObject(null, null);
43 fail("Expected ClassNotFoundException");
44 } catch (ClassNotFoundException e) {
45 // ok
46 }
47 }
48
49 public void testCommandObject() throws IOException, ClassNotFoundException {
50 CommandInfo info = new CommandInfo("test", MockCommandObject.class.getName());
51 DataHandler dh = new DataHandler("Hello", "text/plain");
52 Object o = info.getCommandObject(dh, MockCommandObject.class.getClassLoader());
53 assertTrue(o instanceof MockCommandObject);
54 MockCommandObject bean = (MockCommandObject) o;
55 assertEquals("test", bean.verb);
56 assertSame(dh, bean.dh);
57 }
58
59 public static class MockCommandObject implements CommandObject {
60 private String verb;
61 private DataHandler dh;
62
63 public void setCommandContext(String verb, DataHandler dh) {
64 this.verb = verb;
65 this.dh = dh;
66 }
67 }
68 }