001: package edu.iu.uis.eden.services.docelements;
002:
003: import org.jdom.Element;
004:
005: import edu.iu.uis.eden.WorkflowServiceErrorImpl;
006: import edu.iu.uis.eden.services.IDocElement;
007: import edu.iu.uis.eden.services.ServiceErrorConstants;
008:
009: public class TestGenericStringElement extends IDocInterfaceTestTemplate {
010: private GenericStringElement stringElement;
011: private String elementName = "name";
012: private String errType = ServiceErrorConstants.POSITION_TYPE_BLANK;
013:
014: public TestGenericStringElement(String s) {
015: super (s);
016: }
017:
018: protected void setUp() {
019: stringElement = new GenericStringElement(elementName, errType,
020: false);
021: }
022:
023: protected void tearDown() {
024: }
025:
026: public IDocElement getIDocElement() {
027: return this .stringElement;
028: }
029:
030: /**
031: * does validate return the constant we want
032: */
033: public void testValidate() {
034: try {
035: WorkflowServiceErrorImpl error = this .stringElement
036: .validate();
037: assertNotNull("returned null on validate() when empty",
038: error);
039:
040: assertEquals("returned error of wrong type", this .errType,
041: error.getKey());
042: } catch (Exception ex) {
043: fail("threw exception validating");
044: }
045: }
046:
047: /**
048: * verify element is being correctly built
049: */
050: public void testGetXMLContent() {
051: //check that empty is giving null
052: assertNull("empty object didn't return null on getXMLContent)",
053: this .stringElement.getXMLContent());
054:
055: //set the value and get some xml
056: this .stringElement.setMyValue("aValue");
057:
058: Element element = stringElement.getXMLContent();
059: assertNotNull("set object returned null on getXMLContent()",
060: element);
061: assertEquals("didn't correctly make element name",
062: this .elementName, element.getName());
063: assertEquals("didn't correct put prop in xml", "aValue",
064: element.getAttributeValue("value"));
065: }
066:
067: /**
068: * true when nothing is set false when something is set
069: */
070: public void testIsEmpty() {
071: assertTrue("newly instantiated object returned false on "
072: + "isEmpty()", this .stringElement.isEmpty());
073:
074: //set his value and retest
075: this .stringElement.setMyValue("aValue");
076: assertEquals("set object returned true on isEmpty()", false,
077: this .stringElement.isEmpty());
078: }
079:
080: /**
081: * does he act correctly given an element
082: */
083: public void testLoadFromXMLContent() {
084: Element element = new Element(this .elementName);
085: element.setAttribute("value", "aValue");
086:
087: try {
088: this .stringElement.loadFromXMLContent(element, false);
089: assertEquals("didn't properly load prop from xml",
090: "aValue", this .stringElement.getMyValue());
091: } catch (Exception ex) {
092: fail("threw exception loading from valid xml");
093: }
094: }
095: }
096:
097: /*
098: * Copyright 2003 The Trustees of Indiana University. All rights reserved.
099: *
100: * This file is part of the EDEN software package.
101: * For license information, see the LICENSE file in the top level directory
102: * of the EDEN source distribution.
103: */
|