001: /*
002: * @(#)IEditableAttributeSetUTestI.java
003: *
004: * Copyright (C) 2002-2003 Matt Albrecht
005: * groboclown@users.sourceforge.net
006: * http://groboutils.sourceforge.net
007: *
008: * Permission is hereby granted, free of charge, to any person obtaining a
009: * copy of this software and associated documentation files (the "Software"),
010: * to deal in the Software without restriction, including without limitation
011: * the rights to use, copy, modify, merge, publish, distribute, sublicense,
012: * and/or sell copies of the Software, and to permit persons to whom the
013: * Software is furnished to do so, subject to the following conditions:
014: *
015: * The above copyright notice and this permission notice shall be included in
016: * all copies or substantial portions of the Software.
017: *
018: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
019: * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
020: * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
021: * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
022: * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
023: * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
024: * DEALINGS IN THE SOFTWARE.
025: */
026:
027: package net.sourceforge.groboutils.pmti.v1;
028:
029: import net.sourceforge.groboutils.autodoc.v1.AutoDoc;
030: import org.easymock.EasyMock;
031: import org.easymock.MockControl;
032: import net.sourceforge.groboutils.junit.v1.iftc.*;
033: import junit.framework.Test;
034: import junit.framework.TestCase;
035: import junit.framework.TestSuite;
036:
037: /**
038: * Tests the IEditableAttributeSet interface.
039: *
040: * @author Matt Albrecht <a href="mailto:groboclown@users.sourceforge.net">groboclown@users.sourceforge.net</a>
041: * @since July 14, 2002
042: * @version $Date: 2003/02/10 22:52:01 $
043: */
044: public class IEditableAttributeSetUTestI extends InterfaceTestCase {
045: //-------------------------------------------------------------------------
046: // Standard JUnit Class-specific declarations
047:
048: private static final Class THIS_CLASS = IEditableAttributeSetUTestI.class;
049: private static final AutoDoc DOC = new AutoDoc(THIS_CLASS);
050:
051: public IEditableAttributeSetUTestI(String name, ImplFactory f) {
052: super (name, IEditableAttributeSet.class, f);
053: }
054:
055: public IEditableAttributeSet createIEditableAttributeSet() {
056: return (IEditableAttributeSet) createImplObject();
057: }
058:
059: //-------------------------------------------------------------------------
060: // Tests
061:
062: public void testGetEditableAttributes1() {
063: IEditableAttributeSet set = createIEditableAttributeSet();
064: IEditableAttribute[] eatt = set.getEditableAttributes();
065: assertNotNull("Attribute array is null.", eatt);
066: for (int i = 0; i < eatt.length; ++i) {
067: assertNotNull("Attribute index " + i + " is null.", eatt[i]);
068: }
069:
070: IAttribute[] att = set.getAttributes();
071:
072: assertEquals(
073: "Number of attributes does not equal number of editable "
074: + "attributes.", att.length, eatt.length);
075: }
076:
077: public void testGetAttributes1() {
078: // ensure each attribute is in fact editable.
079: IEditableAttributeSet set = createIEditableAttributeSet();
080: IAttribute[] att = set.getAttributes();
081: assertTrue(
082: "getAttributes() did not return an Editable interface array.",
083: att instanceof IEditableAttribute[]);
084: }
085:
086: public void testGetEditableAttribute1() {
087: IEditableAttributeSet set = createIEditableAttributeSet();
088: String[] names = set.getAttributeNames();
089:
090: for (int i = 0; i < names.length; ++i) {
091: IEditableAttribute eatt = set
092: .getEditableAttribute(names[i]);
093: assertNotNull("Got null editable attribute for name "
094: + names[i] + ".", eatt);
095: assertEquals("Attribute for name " + names[i]
096: + " is not right name.", names[i], eatt.getInfo()
097: .getName());
098: }
099: }
100:
101: //-------------------------------------------------------------------------
102: // Standard JUnit declarations
103:
104: public static InterfaceTestSuite suite() {
105: InterfaceTestSuite suite = new InterfaceTestSuite(THIS_CLASS);
106:
107: suite.addInterfaceTestSuite(IAttributeSetUTestI.suite());
108:
109: return suite;
110: }
111:
112: public static void main(String[] args) {
113: String[] name = { THIS_CLASS.getName() };
114:
115: // junit.textui.TestRunner.main( name );
116: // junit.swingui.TestRunner.main( name );
117:
118: junit.textui.TestRunner.main(name);
119: }
120:
121: /**
122: *
123: * @exception Exception thrown under any exceptional condition.
124: */
125: protected void setUp() throws Exception {
126: super .setUp();
127:
128: // set ourself up
129: }
130:
131: /**
132: *
133: * @exception Exception thrown under any exceptional condition.
134: */
135: protected void tearDown() throws Exception {
136: // tear ourself down
137:
138: super.tearDown();
139: }
140: }
|