001: //$Id: SimplePrimitiveVO.java 178 2005-09-19 22:34:46Z jg_hamburg $
002: /********************************************************************************
003: * DDTUnit, a Datadriven Approach to Unit- and Moduletesting
004: * Copyright (c) 2004, Joerg and Kai Gellien
005: * All rights reserved.
006: *
007: * The Software is provided under the terms of the Common Public License 1.0
008: * as provided with the distribution of DDTUnit in the file cpl-v10.html.
009: * Redistribution and use in source and binary forms, with or without
010: * modification, are permitted provided that the following conditions
011: * are met:
012: *
013: * + Redistributions of source code must retain the above copyright
014: * notice, this list of conditions and the following disclaimer.
015: *
016: * + Redistributions in binary form must reproduce the above
017: * copyright notice, this list of conditions and the following
018: * disclaimer in the documentation and/or other materials provided
019: * with the distribution.
020: *
021: * + Neither the name of the authors or DDTUnit, nor the
022: * names of its contributors may be used to endorse or promote
023: * products derived from this software without specific prior
024: * written permission.
025: *
026: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
027: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
028: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
029: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
030: * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
031: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
032: * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
033: * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
034: * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
035: * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
036: * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
037: ********************************************************************************/package junitx.ddtunit.resources;
038:
039: /**
040: * Example test resource representing a set of value objects usually used as
041: * transport medium between different architectural system layers.
042: *
043: * @author jg
044: */
045: public class SimplePrimitiveVO {
046: private static final String LF = System
047: .getProperty("line.separator");
048:
049: private int integerValue;
050:
051: private String stringValue;
052:
053: private double doubleValue;
054:
055: private SimplePrimitiveVO simpleVO;
056:
057: /**
058: * Default constructor.
059: */
060: public SimplePrimitiveVO() {
061: // no special initialization neccessary
062: }
063:
064: /**
065: *
066: * @param text
067: */
068: public SimplePrimitiveVO(String text) {
069: this .stringValue = text;
070: }
071:
072: /**
073: *
074: * @param text
075: * @param intValue
076: * @param doubleValue
077: */
078: public SimplePrimitiveVO(String text, int intValue,
079: double doubleValue) {
080: this .stringValue = text;
081: this .integerValue = intValue;
082: this .doubleValue = doubleValue;
083: }
084:
085: /**
086: * Overwrite toString() method with instance specific information
087: */
088: public String toString() {
089: StringBuffer sb = new StringBuffer("SimpleVO:");
090:
091: sb.append(LF).append(" textValue=\"").append(stringValue)
092: .append("\"");
093: sb.append(LF).append(" integerValue=\"").append(integerValue)
094: .append("\"");
095: sb.append(LF).append(" doubleValue=\"").append(doubleValue)
096: .append("\"");
097:
098: return sb.toString();
099: }
100:
101: /**
102: * overwrite default equals() method
103: */
104: public boolean equals(Object object) {
105: boolean check = false;
106:
107: if (SimplePrimitiveVO.class.isInstance(object)) {
108: SimplePrimitiveVO vo = (SimplePrimitiveVO) object;
109:
110: if ((this .integerValue == vo.getIntegerValue())
111: && (this .doubleValue == vo.getDoubleValue())
112: && (((this .stringValue != null) && this .stringValue
113: .equals(vo.getStringValue())) || ((this .stringValue == null) && (vo
114: .getStringValue() == null)))) {
115: check = true;
116: }
117: }
118:
119: return check;
120: }
121:
122: /**
123: * Overwrite default hashCode()
124: */
125: public int hashCode() {
126: final int CONST_VAL = 42;
127: int hashVal = CONST_VAL + this .stringValue.hashCode();
128:
129: hashVal = (CONST_VAL * hashVal) + this .integerValue;
130: hashVal = (CONST_VAL * hashVal)
131: + (new Double(this .doubleValue).intValue());
132:
133: return hashVal;
134: }
135:
136: /**
137: * @return Returns the doubleValue.
138: */
139: public double getDoubleValue() {
140: return doubleValue;
141: }
142:
143: /**
144: * @param doubleValue The doubleValue to set.
145: */
146: public void setDoubleValue(double doubleValue) {
147: this .doubleValue = doubleValue * 10.0;
148: }
149:
150: /**
151: * @return Returns the integerValue.
152: */
153: public int getIntegerValue() {
154: return integerValue;
155: }
156:
157: /**
158: * @param integerValue The integerValue to set.
159: */
160: public void setIntegerValue(int integerValue) {
161: this .integerValue = integerValue * 10;
162: }
163:
164: /**
165: * @return Returns the stringValue.
166: */
167: public String getStringValue() {
168: return stringValue;
169: }
170:
171: /**
172: * @param stringValue The stringValue to set.
173: */
174: public void setStringValue(String stringValue) {
175: this .stringValue = stringValue + "XXX";
176: }
177: }
|