|
|||||||||||||||||||
| Source file | Conditionals | Statements | Methods | TOTAL | |||||||||||||||
| AssertEqualsTagHandler.java | 100% | 100% | 100% | 100% |
|
||||||||||||||
| 1 |
package junit.extensions.xml.elements;
|
|
| 2 |
|
|
| 3 |
import junit.extensions.xml.IXMLTestCase;
|
|
| 4 |
import junit.extensions.xml.XMLException;
|
|
| 5 |
|
|
| 6 |
import junit.framework.Assert;
|
|
| 7 |
|
|
| 8 |
import org.w3c.dom.Element;
|
|
| 9 |
|
|
| 10 |
|
|
| 11 |
/**
|
|
| 12 |
* This class will handle the processing of <assertequal> nodes.
|
|
| 13 |
* Insures that the actual and expected objects are equal.
|
|
| 14 |
* <H3>Summary</H3>
|
|
| 15 |
* <assertequal [message="message text"] actualrefid="id"|actualobj="value"
|
|
| 16 |
* expectedrefid="id"|expectedobj="value"/>
|
|
| 17 |
*
|
|
| 18 |
* <H3>One of the following attributes are required:</H3>
|
|
| 19 |
* actualrefid id of the object to be compared.<br>
|
|
| 20 |
* actualobj value of the object to be compared.
|
|
| 21 |
*
|
|
| 22 |
* <H3>One of the following attributes are required:</H3>
|
|
| 23 |
* expectedrefid id of the object to be compared.<br>
|
|
| 24 |
* expectedobj value of the object to be compared.
|
|
| 25 |
*
|
|
| 26 |
* <H3>Optional Attributes:</H3>
|
|
| 27 |
* message Optional message text to be displayed in assertion.
|
|
| 28 |
*
|
|
| 29 |
* @author <a href="mailto:vraravam@thoughtworks.com">Vijay Aravamudhan : ThoughtWorks Inc.</a>
|
|
| 30 |
*/
|
|
| 31 |
public class AssertEqualsTagHandler extends AbstractAssertTagHandler { |
|
| 32 |
/**
|
|
| 33 |
* Constructor for AssertEqualsTagHandler.
|
|
| 34 |
*
|
|
| 35 |
* @param element The element to be processed
|
|
| 36 |
* @param testCase The IXMLTestCase that uses this element
|
|
| 37 |
*/
|
|
| 38 | 17 |
public AssertEqualsTagHandler(final Element element,
|
| 39 |
final IXMLTestCase testCase) {
|
|
| 40 | 17 |
super(element, testCase);
|
| 41 |
} |
|
| 42 |
|
|
| 43 |
/**
|
|
| 44 |
* Obtain the expected and actual objects. Then
|
|
| 45 |
* test if one of the objects is a string. If so
|
|
| 46 |
* the call toString() to normalize both objects
|
|
| 47 |
* to a string. Assert that the values of the
|
|
| 48 |
* actual and the expected are equal.
|
|
| 49 |
*
|
|
| 50 |
* @throws XMLException upon assertion failure.
|
|
| 51 |
*/
|
|
| 52 | 16 |
public void processElement() throws XMLException { |
| 53 | 16 |
validateElement(); |
| 54 |
|
|
| 55 | 15 |
Object expected = getExpectedObject(); |
| 56 | 15 |
Object actual = getActualObject(); |
| 57 |
|
|
| 58 | 15 |
if (expected instanceof String || actual instanceof String) { |
| 59 | 13 |
if (actual != null) { |
| 60 | 12 |
actual = actual.toString(); |
| 61 |
} |
|
| 62 |
|
|
| 63 | 13 |
if (expected != null) { |
| 64 | 12 |
expected = expected.toString(); |
| 65 |
} |
|
| 66 |
} |
|
| 67 |
|
|
| 68 | 15 |
Assert.assertEquals( |
| 69 |
getMessage(), |
|
| 70 |
expected, |
|
| 71 |
actual); |
|
| 72 |
} |
|
| 73 |
|
|
| 74 |
/**
|
|
| 75 |
* Insure that the element contains a Actual and expected
|
|
| 76 |
* attribute.
|
|
| 77 |
* @throws XMLException Thrown if a required attribute is missing.
|
|
| 78 |
*/
|
|
| 79 | 16 |
public void validateElement() throws XMLException { |
| 80 |
// do the default validations from the super class
|
|
| 81 | 16 |
super.validateElement();
|
| 82 |
|
|
| 83 |
// reqd attribute: at least one of expected or expectedrefid
|
|
| 84 | 16 |
checkExpected(); |
| 85 | 15 |
checkActual(); |
| 86 |
} |
|
| 87 |
} |
|
| 88 |
|
|
||||||||||