1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Copyright (c) 2001-2003 World Wide Web Consortium, 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (Massachusetts Institute of Technology, Institut National de 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Recherche en Informatique et en Automatique, Keio University). All 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Rights Reserved. This program is distributed under the W3C's Software 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Intellectual Property License. This program is distributed in the 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * hope that it will be useful, but WITHOUT ANY WARRANTY; without even 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * PURPOSE. 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See W3C License http://www.w3.org/Consortium/Legal/ for more details. 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage org.w3c.domts; 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.lang.reflect.Constructor; 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.lang.reflect.InvocationTargetException; 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.URI; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.URISyntaxException; 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.ArrayList; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Collection; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Iterator; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.List; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.logging.Logger; 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.xml.parsers.DocumentBuilder; 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase; 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.NamedNodeMap; 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.Node; 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.NodeList; 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class JUnitTestCaseAdapter extends TestCase implements DOMTestFramework { 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private DOMTestCase test; 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static DOMTestDocumentBuilderFactory defaultFactory = null; 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public JUnitTestCaseAdapter(DOMTestCase test) { 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super(test.getTargetURI()); 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project test.setFramework(this); 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project this.test = test; 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//BEGIN android-added 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public JUnitTestCaseAdapter() { 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private String errorMessage = null; 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private boolean failed = false; 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @Override 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void setName(String name) { 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super.setName(name); 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (test == null) { 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project URI uri = new URI(name); 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String path = uri.getPath(); 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project path = path.replaceAll("/", "."); 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Class<?> clazz = null; 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int pos = path.indexOf('.'); 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project while (pos != -1) { 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project clazz = Class.forName("org.w3c.domts." + path); 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project break; 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassNotFoundException e) { 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // do nothing 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project path = path.substring(pos + 1); 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (clazz == null) { 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = "class not found for test: " + name; 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project failed = true; 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return; 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (defaultFactory == null) { 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project defaultFactory = new JAXPDOMTestDocumentBuilderFactory(null, 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project JAXPDOMTestDocumentBuilderFactory.getConfiguration1()); 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Constructor<?> constructor = clazz.getConstructor(new Class<?>[] { 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project DOMTestDocumentBuilderFactory.class 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project }); 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project test = (DOMTestCase)constructor.newInstance(new Object[] { 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project defaultFactory 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project }); 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project test.setFramework(this); 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (URISyntaxException e) { 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project failed = true; 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = e.getMessage(); 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (errorMessage == null) { 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = "" + e.toString(); 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalAccessException e) { 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project failed = true; 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = e.getMessage(); 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (errorMessage == null) { 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = "" + e.toString(); 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (InstantiationException e) { 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project failed = true; 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = e.getMessage(); 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (errorMessage == null) { 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = "" + e.toString(); 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (DOMTestIncompatibleException e) { 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project failed = true; 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = e.getMessage(); 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (errorMessage == null) { 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = "" + e.toString(); 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (SecurityException e) { 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project failed = true; 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = e.getMessage(); 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (errorMessage == null) { 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = "" + e.toString(); 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NoSuchMethodException e) { 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project failed = true; 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = e.getMessage(); 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (errorMessage == null) { 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = "" + e.toString(); 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project failed = true; 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = e.getMessage(); 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (errorMessage == null) { 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = "" + e.toString(); 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (InvocationTargetException e) { 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project failed = true; 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Throwable t = e.getCause(); 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (t != null) { 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = t.getMessage(); 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (errorMessage == null) { 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = "" + t.toString(); 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } else { 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = e.getMessage(); 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (errorMessage == null) { 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project errorMessage = "" + e.toString(); 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project//END android-added 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void runTest() throws Throwable { 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //BEGIN android-added 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (failed) { 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (errorMessage != null) { 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail(errorMessage); 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } else { 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("init failed"); 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //END android-added 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project test.runTest(); 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int mutationCount = test.getMutationCount(); 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (mutationCount != 0) { 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Document loaded with willBeModified='false' was modified in course of test."); 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean hasFeature(DocumentBuilder docBuilder, 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String feature, 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String version) { 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return docBuilder.getDOMImplementation().hasFeature(feature,version); 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void wait(int millisecond) { 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void fail(DOMTestCase test, String assertID) { 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail(assertID); 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertTrue(DOMTestCase test, String assertID, boolean actual) { 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(assertID,actual); 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertFalse(DOMTestCase test, String assertID, boolean actual) { 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(actual) { 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID,String.valueOf(false), String.valueOf(actual)); 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertNull(DOMTestCase test, String assertID, Object actual) { 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(assertID,actual); 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertNotNull(DOMTestCase test, String assertID, Object actual) { 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(assertID,actual); 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertSame(DOMTestCase test, String assertID, Object expected, Object actual) { 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean same = (expected == actual); 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // if the not the same but both are not null 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // might still really be the same 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(!same) { 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(expected == null || actual == null || 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project !(expected instanceof Node) || !(actual instanceof Node)) { 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID,expected,actual); 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project else { 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // could do something with isSame 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID,expected,actual); 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertInstanceOf(DOMTestCase test, String assertID, Object obj, Class cls) { 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(assertID,cls.isInstance(obj)); 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertSize(DOMTestCase test, String assertID, int expectedSize, NodeList collection) { 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID,expectedSize, collection.getLength()); 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertSize(DOMTestCase test, String assertID, int expectedSize, NamedNodeMap collection) { 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID, expectedSize, collection.getLength()); 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertSize(DOMTestCase test, String assertID, int expectedSize, Collection collection) { 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID, expectedSize, collection.size()); 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertEqualsIgnoreCase(DOMTestCase test, String assertID, String expected, String actual) { 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!expected.equalsIgnoreCase(actual)) { 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID,expected, actual); 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertEqualsIgnoreCase(DOMTestCase test, String assertID, Collection expected, Collection actual) { 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int size = expected.size(); 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(assertID,expected); 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(assertID,actual); 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID,size, actual.size()); 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean equals = (expected != null && actual != null && size == actual.size()); 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(equals) { 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project List expectedArray = new ArrayList(expected); 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String expectedString; 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String actualString; 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Iterator actualIter = actual.iterator(); 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Iterator expectedIter; 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project while(actualIter.hasNext() && equals) { 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project actualString = (String) actualIter.next(); 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedIter = expectedArray.iterator(); 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project equals = false; 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project while(expectedIter.hasNext() && !equals) { 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedString = (String) expectedIter.next(); 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(actualString.equalsIgnoreCase(expectedString)) { 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project equals = true; 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedArray.remove(expectedString); 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(assertID,equals); 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertEqualsIgnoreCase(DOMTestCase test, String assertID, List expected, List actual) { 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int size = expected.size(); 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(assertID,expected); 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(assertID,actual); 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID,size, actual.size()); 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean equals = (expected != null && actual != null && size == actual.size()); 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(equals) { 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String expectedString; 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String actualString; 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for(int i = 0; i < size; i++) { 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedString = (String) expected.get(i); 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project actualString = (String) actual.get(i); 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(!expectedString.equalsIgnoreCase(actualString)) { 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID,expectedString,actualString); 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project break; 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertEquals(DOMTestCase test, String assertID, String expected, String actual) { 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID,expected,actual); 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertEquals(DOMTestCase test, String assertID, int expected, int actual) { 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID,expected,actual); 298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertEquals(DOMTestCase test, String assertID, boolean expected, boolean actual) { 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID,expected,actual); 302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertEquals(DOMTestCase test, String assertID, double expected, double actual) { 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID, expected, actual, 0.0); 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertEquals(DOMTestCase test, String assertID, Collection expected, Collection actual) { 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int size = expected.size(); 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(assertID,expected); 311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(assertID,actual); 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(assertID,size, actual.size()); 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean equals = (expected != null && actual != null && size == actual.size()); 314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(equals) { 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project List expectedArray = new ArrayList(expected); 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object expectedObj; 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object actualObj; 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Iterator actualIter = actual.iterator(); 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Iterator expectedIter; 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project while(actualIter.hasNext() && equals) { 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project actualObj = actualIter.next(); 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedIter = expectedArray.iterator(); 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project equals = false; 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project while(expectedIter.hasNext() && !equals) { 325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedObj = expectedIter.next(); 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(expectedObj == actualObj || expectedObj.equals(actualObj)) { 327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project equals = true; 328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedArray.remove(expectedObj); 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(assertID,equals); 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertNotEqualsIgnoreCase(DOMTestCase test, String assertID, String expected, String actual) { 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(expected.equalsIgnoreCase(actual)) { 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(assertID, !expected.equalsIgnoreCase(actual)); 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertNotEquals(DOMTestCase test, String assertID, String expected, String actual) { 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(assertID, !expected.equals(actual)); 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertNotEquals(DOMTestCase test, String assertID, int expected, int actual) { 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(assertID,expected !=actual); 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertNotEquals(DOMTestCase test, String assertID, boolean expected, boolean actual) { 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(assertID,expected !=actual); 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void assertNotEquals(DOMTestCase test, String assertID, double expected, double actual) { 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(expected == actual) { 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(assertID,expected != actual); 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean same(Object expected, Object actual) { 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean equals = (expected == actual); 364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(!equals && expected != null && expected instanceof Node && 365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project actual != null && actual instanceof Node) { 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // can use Node.isSame eventually 368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return equals; 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean equalsIgnoreCase(String expected, String actual) { 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return expected.equalsIgnoreCase(actual); 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean equalsIgnoreCase(Collection expected, Collection actual) { 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int size = expected.size(); 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean equals = (expected != null && actual != null && size == actual.size()); 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(equals) { 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project List expectedArray = new ArrayList(expected); 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String expectedString; 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String actualString; 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Iterator actualIter = actual.iterator(); 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Iterator expectedIter; 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project while(actualIter.hasNext() && equals) { 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project actualString = (String) actualIter.next(); 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedIter = expectedArray.iterator(); 388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project equals = false; 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project while(expectedIter.hasNext() && !equals) { 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedString = (String) expectedIter.next(); 391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(actualString.equalsIgnoreCase(expectedString)) { 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project equals = true; 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedArray.remove(expectedString); 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return equals; 399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean equalsIgnoreCase(List expected, List actual) { 402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int size = expected.size(); 403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean equals = (expected != null && actual != null && size == actual.size()); 404adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(equals) { 405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String expectedString; 406adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String actualString; 407adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for(int i = 0; i < size; i++) { 408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedString = (String) expected.get(i); 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project actualString = (String) actual.get(i); 410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(!expectedString.equalsIgnoreCase(actualString)) { 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project equals = false; 412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project break; 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 416adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return equals; 417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 419adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean equals(String expected, String actual) { 420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return expected.equals(actual); 421adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean equals(int expected, int actual) { 424adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return expected == actual; 425adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 427adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean equals(boolean expected, boolean actual) { 428adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return expected == actual; 429adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 431adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean equals(double expected, double actual) { 432adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return expected == actual; 433adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 434adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 435adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean equals(Collection expected, Collection actual) { 436adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int size = expected.size(); 437adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean equals = (expected != null && actual != null && size == actual.size()); 438adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(equals) { 439adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project List expectedArray = new ArrayList(expected); 440adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object expectedObj; 441adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object actualObj; 442adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Iterator actualIter = actual.iterator(); 443adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Iterator expectedIter; 444adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project while(actualIter.hasNext() && equals) { 445adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project actualObj = actualIter.next(); 446adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedIter = expectedArray.iterator(); 447adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project equals = false; 448adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project while(expectedIter.hasNext() && !equals) { 449adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedObj = expectedIter.next(); 450adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(expectedObj != actualObj && expectedObj.equals(actualObj)) { 451adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project equals = true; 452adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedArray.remove(expectedObj); 453adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 454adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 455adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 456adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 457adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return equals; 458adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 459adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 460adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean equals(List expected, List actual) { 461adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int size = expected.size(); 462adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project boolean equals = (expected != null && actual != null && size == actual.size()); 463adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(equals) { 464adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object expectedObj; 465adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object actualObj; 466adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for(int i = 0; i < size; i++) { 467adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project expectedObj = expected.get(i); 468adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project actualObj = actual.get(i); 469adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(!expectedObj.equals(actualObj)) { 470adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project equals = false; 471adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project break; 472adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 473adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 474adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 475adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return equals; 476adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 477adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 478adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int size(Collection collection) { 479adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return collection.size(); 480adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 481adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 482adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int size(NamedNodeMap collection) { 483adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return collection.getLength(); 484adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 485adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 486adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int size(NodeList collection) { 487adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return collection.getLength(); 488adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 489adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 490adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 491adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}