1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Copyright (c) 2001-2004 World Wide Web Consortium, (Massachusetts Institute
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * of Technology, Institut National de Recherche en Informatique et en
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Automatique, Keio University). All Rights Reserved. This program is
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the W3C's Software Intellectual Property License. This
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * program is distributed in the hope that it will be useful, but WITHOUT ANY
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * FOR A PARTICULAR PURPOSE. See W3C License
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.w3.org/Consortium/Legal/ for more details.
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage org.w3c.domts;
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.lang.reflect.Constructor;
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.lang.reflect.InvocationTargetException;
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.lang.reflect.Method;
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.ArrayList;
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Collection;
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.List;
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Iterator;
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.NamedNodeMap;
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.NodeList;
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * This is an abstract base class for generated DOM tests
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic abstract class DOMTestCase
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    extends DOMTest {
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  private DOMTestFramework framework;
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * This constructor is for DOMTestCase's that make specific demands for
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * parser configuration. setFactory should be called before the end of the
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * tests constructor to set the factory.
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public DOMTestCase() {
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework = null;
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * This constructor is for DOMTestCase's that do not add any requirements
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * for parser configuration.
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param factory
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            document factory to be used by test, may not be null.
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public DOMTestCase(DOMTestDocumentBuilderFactory factory) {
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    super(factory);
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework = null;
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * This method is called by the main() for each test and locates the
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * appropriate test framework and runs the specified test
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param testClass
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            test class
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param args
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            arguments to test class
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public static void doMain(Class testClass, String[] args) {
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //   Attempt to load JUnitRunner
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    ClassLoader loader = ClassLoader.getSystemClassLoader();
67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    try {
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Class runnerClass = loader.loadClass("org.w3c.domts.JUnitRunner");
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Constructor runnerFactory =
70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project          runnerClass.getConstructor(new Class[] {Class.class});
71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //
72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //   create the JUnitRunner
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //
74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Object junitRun =
75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project          runnerFactory.newInstance(new Object[] {testClass});
76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //
77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //   find and call its execute method method
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //
79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Class argsClass = loader.loadClass("[Ljava.lang.String;");
80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Method execMethod =
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project          runnerClass.getMethod("execute", new Class[] {argsClass});
82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      execMethod.invoke(junitRun, new Object[] {args});
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    catch (InvocationTargetException ex) {
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      ex.getTargetException().printStackTrace();
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    catch (Exception ex) {
88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      System.out.println(
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project          "junit-run.jar and junit.jar \n must be in same directory or on classpath.");
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      ex.printStackTrace();
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Body of test
96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @throws Throwable
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  abstract public void runTest() throws Throwable;
100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Sets test framework to be used by test.
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param framework
105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void setFramework(DOMTestFramework framework) {
107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    this.framework = framework;
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Wait
112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param millisecond
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            milliseconds to wait
115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void wait(int millisecond) {
117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.wait(millisecond);
118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Fail test
122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void fail(String assertID) {
127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.fail(this, assertID);
128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that actual==true
132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertTrue(String assertID, boolean actual) {
139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertTrue(this, assertID, actual);
140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that actual==true
144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertTrue(String assertID, Object actual) {
151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertTrue(this, assertID, ( (Boolean) actual).booleanValue());
152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that actual==false
156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertFalse(String assertID, boolean actual) {
163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertFalse(this, assertID, actual);
164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that actual==false
168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertFalse(String assertID, Object actual) {
175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertFalse(
176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        this,
177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertID,
178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        ( (Boolean) actual).booleanValue());
179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that actual == null
183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertNull(String assertID, Object actual) {
190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertNull(this, assertID, actual);
191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that actual != null
195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertNotNull(String assertID, Object actual) {
202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertNotNull(this, assertID, actual);
203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that actual and expected are the same object
207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertSame(String assertID, Object expected, Object actual) {
214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertSame(this, assertID, expected, actual);
215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that obj is an instance of cls
219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param obj
223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            object
224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param cls
225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            class, may not be null.
226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertInstanceOf(String assertID, Class cls, Object obj) {
228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertInstanceOf(this, assertID, obj, cls);
229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that the length of the collection is the expected size.
233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expectedSize
237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected size
238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param collection
239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            collection
240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertSize(
242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      int expectedSize,
244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      NodeList collection) {
245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertSize(this, assertID, expectedSize, collection);
246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that the length of the collection is the expected size.
250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expectedSize
254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected size
255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param collection
256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            collection
257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertSize(
259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      int expectedSize,
261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      NamedNodeMap collection) {
262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertSize(this, assertID, expectedSize, collection);
263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that the length of the collection is the expected size.
267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expectedSize
271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected size
272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param collection
273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            collection
274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertSize(
276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      int expectedSize,
278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Collection collection) {
279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertSize(this, assertID, expectedSize, collection);
280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that expected.equalsIgnoreCase(actual) is true
284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertEqualsIgnoreCase(
293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String expected,
295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String actual) {
296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertEqualsIgnoreCase(this, assertID, expected, actual);
297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that each entry in actual is matched with an entry in expected
301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * that only differs by case. Order is not significant.
302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertEqualsIgnoreCase(
311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Collection expected,
313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Collection actual) {
314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertEqualsIgnoreCase(this, assertID, expected, actual);
315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that each entry in actual is matched with an entry in expected
319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * that only differs by case. Order is significant.
320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertEqualsIgnoreCase(
329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      List expected,
331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      List actual) {
332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertEqualsIgnoreCase(this, assertID, expected, actual);
333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that expected.equalsIgnoreCase(actual) is true
337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertEqualsAutoCase(
346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String context,
347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String expected,
349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String actual) {
350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String contentType = getContentType();
351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //
352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //   if the content type is HTML (not XHTML)
353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //
354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if ("text/html".equals(contentType)) {
355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //
356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //  if the context is attribute, then use case-insentive comparison
357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //
358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      if ("attribute".equals(context)) {
359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        framework.assertEqualsIgnoreCase(this, assertID, expected, actual);
360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      else {
362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        //
363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        //  otherwise should be compared against uppercased expectation
364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        framework.assertEquals(this, assertID, expected.toUpperCase(), actual);
365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    else {
368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      framework.assertEquals(this, assertID, expected, actual);
369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Creates an equivalent list where every member has
374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *     been uppercased
375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  private List toUpperCase(Collection expected) {
378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    List upperd = new ArrayList(expected.size());
379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    Iterator iter = expected.iterator();
380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    while (iter.hasNext()) {
381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      upperd.add(iter.next().toString().toUpperCase());
382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return upperd;
384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that each entry in actual is matched with an entry in expected
388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * that only differs by case. Order is not significant.
389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertEqualAutoCase(
398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String context,
399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Collection expected,
401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Collection actual) {
402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String contentType = getContentType();
403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if ("text/html".equals(contentType)) {
404adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      if ("attribute".equals(context)) {
405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEqualsIgnoreCase(assertID, expected, actual);
406adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
407adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      else {
408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        framework.assertEquals(this, assertID, toUpperCase(expected), actual);
409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    else {
413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      framework.assertEquals(this, assertID, expected, actual);
414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
416adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that each entry in actual is matched with an entry in expected
419adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * that only differs by case. Order is significant.
420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
421adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
424adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
425adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
427adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
428adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertEqualsAutoCase(
429adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String context,
430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
431adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      List expected,
432adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      List actual) {
433adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String contentType = getContentType();
434adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if ("text/html".equals(contentType)) {
435adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      if ("attribute".equals(context)) {
436adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEqualsIgnoreCase(assertID, expected, actual);
437adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
438adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      else {
439adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        framework.assertEquals(this, assertID, toUpperCase(expected), actual);
440adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
441adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
442adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
443adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    else {
444adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      framework.assertEquals(this, assertID, expected, actual);
445adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
446adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
447adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
448adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
449adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that expected.equals(actual) is true
450adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
451adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
452adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
453adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
454adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
455adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
456adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
457adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
458adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertEquals(String assertID, String expected, String actual) {
459adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertEquals(this, assertID, expected, actual);
460adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
461adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
462adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
463adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that values of expected and actual are equal.
464adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
465adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
466adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
467adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
468adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
469adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
470adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
471adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
472adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertEquals(String assertID, int expected, int actual) {
473adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertEquals(this, assertID, expected, actual);
474adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
475adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
476adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
477adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that values of expected and actual are equal.
478adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
479adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
480adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
481adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
482adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
483adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
484adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
485adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
486adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertEquals(String assertID, double expected, double actual) {
487adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertEquals(this, assertID, expected, actual);
488adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
489adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
490adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
491adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that values of expected and actual are equal.
492adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
493adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
494adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
495adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
496adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
497adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
498adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
499adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
500adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertEquals(
501adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
502adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      boolean expected,
503adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      boolean actual) {
504adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertEquals(this, assertID, expected, actual);
505adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
506adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
507adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
508adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that each entry in actual exactly matches with an entry in
509adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * expected. Order is not significant.
510adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
511adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
512adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
513adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
514adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
515adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
516adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
517adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
518adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertEquals(
519adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
520adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Collection expected,
521adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      NodeList actual) {
522adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    Collection actualList = new ArrayList();
523adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int actualLen = actual.getLength();
524adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    for (int i = 0; i < actualLen; i++) {
525adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      actualList.add(actual.item(i));
526adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
527adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertEquals(this, assertID, expected, actualList);
528adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
529adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
530adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
531adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that each entry in actual exactly matches with an entry in
532adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * expected. Order is not significant.
533adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
534adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
535adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
536adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
537adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
538adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
539adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
540adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
541adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertEquals(
542adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
543adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Collection expected,
544adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Collection actual) {
545adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertEquals(this, assertID, expected, actual);
546adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
547adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
548adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
549adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that expected.equalsIgnoreCase(actual) is false
550adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
551adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
552adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
553adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
554adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
555adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
556adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
557adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
558adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertNotEqualsIgnoreCase(
559adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
560adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String expected,
561adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String actual) {
562adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertNotEqualsIgnoreCase(this, assertID, expected, actual);
563adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
564adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
565adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
566adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that expected.equalsIgnoreCase(actual) is false
567adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
568adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
569adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
570adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
571adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
572adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
573adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
574adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
575adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertNotEqualsAutoCase(
576adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String context,
577adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
578adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String expected,
579adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String actual) {
580adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String contentType = getContentType();
581adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if ("text/html".equals(contentType)) {
582adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      if ("attribute".equals(context)) {
583adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        framework.assertNotEqualsIgnoreCase(this, assertID, expected, actual);
584adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
585adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      else {
586adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        framework.assertNotEquals(this, assertID, expected.toUpperCase(),
587adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                                  actual);
588adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
589adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
590adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertNotEquals(this, assertID, expected, actual);
591adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
592adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
593adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
594adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that values of expected and actual are not equal.
595adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
596adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
597adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
598adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
599adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
600adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
601adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
602adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
603adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertNotEquals(
604adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
605adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String expected,
606adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String actual) {
607adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertNotEquals(this, assertID, expected, actual);
608adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
609adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
610adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
611adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that values of expected and actual are not equal.
612adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
613adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
614adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
615adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
616adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
617adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
618adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
619adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
620adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertNotEquals(String assertID, int expected, int actual) {
621adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertNotEquals(this, assertID, expected, actual);
622adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
623adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
624adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
625adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts that values of expected and actual are not equal.
626adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
627adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
628adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
629adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
630adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual value
631adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
632adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected value, may not be null.
633adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
634adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertNotEquals(
635adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
636adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      double expected,
637adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      double actual) {
638adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    framework.assertNotEquals(this, assertID, expected, actual);
639adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
640adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
641adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
642adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Asserts aspects of a URI
643adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
644adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param assertID
645adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            identifier of assertion
646adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param scheme
647adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected scheme, for example, "file". If null, scheme is
648adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            ignored.
649adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param path
650adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected path, for example, "/DOM/Test". If null, path is
651adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            ignored.
652adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param host
653adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected host, for example, "www.w3.org". If null, host is
654adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            ignored.
655adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param file
656adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected file, for example, "staff.xml". If null, file is
657adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            ignored.
658adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param name
659adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected name, for example, "staff". If null, name is
660adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            ignored.
661adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param name
662adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            Expected name, for example, "staff". If null, name is
663adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            ignored.
664adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param isAbsolute
665adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            if Boolean.TRUE, URI must be absolute. Null indicates no
666adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            assertion.
667adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
668adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            URI to be tested.
669adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
670adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public void assertURIEquals(
671adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String assertID,
672adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String scheme,
673adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String path,
674adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String host,
675adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String file,
676adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String name,
677adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String query,
678adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String fragment,
679adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      Boolean isAbsolute,
680adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String actual) {
681adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //
682adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    //  URI must be non-null
683adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    assertNotNull(assertID, actual);
684adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
685adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String uri = actual;
686adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
687adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int lastPound = actual.lastIndexOf("#");
688adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String actualFragment = "";
689adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if (lastPound != -1) {
690adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //
691adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //   substring before pound
692adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //
693adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      uri = actual.substring(0, lastPound);
694adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      actualFragment = actual.substring(lastPound + 1);
695adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
696adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if (fragment != null) {
697adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertEquals(assertID, fragment, actualFragment);
698adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
699adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
700adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int lastQuestion = uri.lastIndexOf("?");
701adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String actualQuery = "";
702adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if (lastQuestion != -1) {
703adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //
704adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //   substring before pound
705adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //
706adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      uri = actual.substring(0, lastQuestion);
707adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      actualQuery = actual.substring(lastQuestion + 1);
708adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
709adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if (query != null) {
710adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertEquals(assertID, query, actualQuery);
711adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
712adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
713adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int firstColon = uri.indexOf(":");
714adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    int firstSlash = uri.indexOf("/");
715adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String actualPath = uri;
716adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String actualScheme = "";
717adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if (firstColon != -1 && firstColon < firstSlash) {
718adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      actualScheme = uri.substring(0, firstColon);
719adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      actualPath = uri.substring(firstColon + 1);
720adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
721adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
722adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if (scheme != null) {
723adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertEquals(assertID, scheme, actualScheme);
724adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
725adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
726adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if (path != null) {
727adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertEquals(assertID, path, actualPath);
728adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
729adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
730adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if (host != null) {
731adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String actualHost = "";
732adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      if (actualPath.startsWith("//")) {
733adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        int termSlash = actualPath.indexOf("/", 2);
734adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        actualHost = actualPath.substring(0, termSlash);
735adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
736adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertEquals(assertID, host, actualHost);
737adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
738adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
739adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    String actualFile = actualPath;
740adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if (file != null || name != null) {
741adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      int finalSlash = actualPath.lastIndexOf("/");
742adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      if (finalSlash != -1) {
743adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        actualFile = actualPath.substring(finalSlash + 1);
744adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
745adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      if (file != null) {
746adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals(assertID, file, actualFile);
747adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
748adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
749adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
750adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if (name != null) {
751adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      String actualName = actualFile;
752adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      int finalPeriod = actualFile.lastIndexOf(".");
753adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      if (finalPeriod != -1) {
754adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        actualName = actualFile.substring(0, finalPeriod);
755adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
756adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertEquals(assertID, name, actualName);
757adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
758adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
759adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if (isAbsolute != null) {
760adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //
761adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      //   Jar URL's will have any actual path like file:/c:/somedrive...
762adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      assertEquals(
763adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project          assertID,
764adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project          isAbsolute.booleanValue(),
765adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project          actualPath.startsWith("/") || actualPath.startsWith("file:/"));
766adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
767adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
768adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
769adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
770adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Compares the identity of actual and expected.
771adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
772adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
773adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected
774adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
775adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual
776adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return true if actual and expected are the same object.
777adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
778adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public boolean same(Object expected, Object actual) {
779adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.same(expected, actual);
780adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
781adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
782adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
783adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Compares the value of actual and expected ignoring case.
784adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
785adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
786adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected
787adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
788adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual
789adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return true if actual and expected are equal ignoring case.
790adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
791adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public boolean equalsIgnoreCase(String expected, String actual) {
792adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.equalsIgnoreCase(expected, actual);
793adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
794adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
795adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
796adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Compares the values in actual and expected ignoring case and order.
797adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
798adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
799adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected
800adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
801adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual
802adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return true if actual and expected are equal ignoring case.
803adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
804adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public boolean equalsIgnoreCase(Collection expected, Collection actual) {
805adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.equalsIgnoreCase(expected, actual);
806adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
807adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
808adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
809adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Compares the values in actual and expected ignoring case.
810adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
811adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
812adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected
813adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
814adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual
815adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return true if actual and expected are equal ignoring case.
816adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
817adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public boolean equalsIgnoreCase(List expected, List actual) {
818adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.equalsIgnoreCase(expected, actual);
819adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
820adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
821adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
822adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Compares the value of actual and expected ignoring case.
823adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
824adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
825adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected
826adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
827adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual
828adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return true if actual and expected are equal ignoring case.
829adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
830adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public boolean equalsAutoCase(String context, String expected, String actual) {
831adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if ("text/html".equals(getContentType())) {
832adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      if ("attribute".equals(context)) {
833adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        return framework.equalsIgnoreCase(expected, actual);
834adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
835adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      else {
836adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        return framework.equals(expected.toUpperCase(), actual);
837adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
838adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
839adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.equals(expected, actual);
840adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
841adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
842adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
843adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Compares the values in actual and expected ignoring case and order.
844adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
845adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
846adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected
847adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
848adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual
849adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return true if actual and expected are equal ignoring case.
850adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
851adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public boolean equalsAutoCase(String context, Collection expected,
852adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                                Collection actual) {
853adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if ("text/html".equals(getContentType())) {
854adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      if ("attribute".equals(context)) {
855adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        return framework.equalsIgnoreCase(expected, actual);
856adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
857adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      else {
858adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        return framework.equals(toUpperCase(expected), actual);
859adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
860adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
861adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.equals(expected, actual);
862adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
863adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
864adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
865adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Compares the values in actual and expected ignoring case.
866adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
867adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
868adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected
869adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
870adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual
871adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return true if actual and expected are equal ignoring case.
872adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
873adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public boolean equalsAutoCase(String context, List expected, List actual) {
874adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    if ("text/html".equals(getContentType())) {
875adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      if ("attribute".equals(context)) {
876adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        return framework.equalsIgnoreCase(expected, actual);
877adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
878adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      else {
879adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        return framework.equals(toUpperCase(expected), actual);
880adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project      }
881adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
882adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.equals(expected, actual);
883adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
884adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
885adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
886adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Compares the values of actual and expected.
887adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
888adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
889adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected
890adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
891adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual
892adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return true if actual and expected are equal.
893adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
894adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public boolean equals(String expected, String actual) {
895adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.equals(expected, actual);
896adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
897adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
898adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
899adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Compares the values of actual and expected.
900adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
901adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
902adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected
903adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
904adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual
905adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return true if actual and expected are equal.
906adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
907adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public boolean equals(int expected, int actual) {
908adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.equals(expected, actual);
909adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
910adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
911adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
912adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Compares the values of actual and expected.
913adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
914adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
915adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected
916adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
917adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual
918adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return true if actual and expected are equal.
919adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
920adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public boolean equals(double expected, double actual) {
921adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.equals(expected, actual);
922adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
923adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
924adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
925adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Compares the values in actual and expected ignoring order.
926adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
927adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
928adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected
929adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
930adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual
931adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return true if actual and expected are equal.
932adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
933adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public boolean equals(Collection expected, Collection actual) {
934adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.equals(expected, actual);
935adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
936adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
937adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
938adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Compares the values in actual and expected.
939adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
940adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param expected
941adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            expected
942adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param actual
943adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            actual
944adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return true if actual and expected are equal.
945adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
946adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public boolean equals(List expected, List actual) {
947adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.equals(expected, actual);
948adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
949adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
950adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
951adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Gets the size of the collection
952adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
953adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param collection
954adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            collection, may not be null.
955adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return size of collection
956adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
957adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public int size(Collection collection) {
958adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.size(collection);
959adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
960adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
961adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
962adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Gets the size of the collection
963adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
964adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param collection
965adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            collection, may not be null.
966adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return size of collection
967adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
968adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public int size(NamedNodeMap collection) {
969adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.size(collection);
970adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
971adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
972adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  /**
973adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * Gets the size of the collection
974adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *
975adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @param collection
976adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   *            collection, may not be null.
977adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   * @return size of collection
978adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project   */
979adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  public int size(NodeList collection) {
980adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    return framework.size(collection);
981adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project  }
982adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
983adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
984