1a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray/* 2a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * Copyright (C) 2014 The Android Open Source Project 3a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * 4a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * Licensed under the Apache License, Version 2.0 (the "License"); 5a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * you may not use this file except in compliance with the License. 6a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * You may obtain a copy of the License at 7a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * 8a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * http://www.apache.org/licenses/LICENSE-2.0 9a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * 10a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * Unless required by applicable law or agreed to in writing, software 11a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * distributed under the License is distributed on an "AS IS" BASIS, 12a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * See the License for the specific language governing permissions and 14a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * limitations under the License. 15a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray */ 16a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 17a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray/** 18a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray * Common superclass for test cases. 19a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray */ 20a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 21a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffrayimport java.util.Arrays; 22a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 23a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffraypublic abstract class TestCase { 24a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertSame(Object expected, Object value) { 25a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected != value) { 26a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError("Objects are not the same: expected " + 27a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray String.valueOf(expected) + ", got " + String.valueOf(value)); 28a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 29a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 30a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 31a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertNotSame(Object expected, Object value) { 32a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected == value) { 33a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError( 34a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray "Objects are the same: " + String.valueOf(expected)); 35a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 36a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 37a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 38a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals(String message, int expected, int actual) { 39a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected != actual) { 40a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(message); 41a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 42a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 43a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 44a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals(int expected, int actual) { 45a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected != actual) { 46a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError("Expected " + expected + " got " + actual); 47a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 48a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 49a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 50a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertTrue(String message, boolean condition) { 51a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (!condition) { 52a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(message); 53a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 54a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 55a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 56a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertTrue(boolean condition) { 57a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray assertTrue("Expected true", condition); 58a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 59a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 60a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertFalse(String message, boolean condition) { 61a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (condition) { 62a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(message); 63a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 64a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 65a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 66a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertFalse(boolean condition) { 67a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray assertFalse("Expected false", condition); 68a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 69a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 70a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals(Object expected, Object actual) { 71a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (!expected.equals(actual)) { 72a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray String msg = "Expected \"" + expected + "\" but got \"" + actual + "\""; 73a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(msg); 74a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 75a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 76a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 77a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertNotEquals(int expected, int actual) { 78a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected == actual) { 79a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError("Expected " + expected + " got " + actual); 80a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 81a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 82a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 83a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertNotEquals(Object expected, Object actual) { 84a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected.equals(actual)) { 85a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray String msg = "Objects are the same: " + String.valueOf(expected); 86a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(msg); 87a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 88a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 89a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 90a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static <T> void assertArrayEquals(T[] actual, T... expected) { 91a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray assertTrue(Arrays.equals(expected, actual)); 92a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 93a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 94a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals( 95a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray String message, Object expected, Object actual) { 96a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (!expected.equals(actual)) { 97a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(message); 98a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 99a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 100a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 101a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals( 102a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray String message, long expected, long actual) { 103a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected != actual) { 104a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(message); 105a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 106a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 107a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 108a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals(long expected, long actual) { 109a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected != actual) { 110a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError("Expected " + expected + " got " + actual); 111a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 112a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 113a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 114a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals( 115a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray String message, boolean expected, boolean actual) { 116a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected != actual) { 117a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(message); 118a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 119a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 120a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 121a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals(boolean expected, boolean actual) { 122a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected != actual) { 123a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError("Expected " + expected + " got " + actual); 124a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 125a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 126a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 127a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals( 128a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray String message, float expected, float actual) { 129a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected != actual) { 130a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(message); 131a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 132a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 133a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 134a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals(float expected, float actual) { 135a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected != actual) { 136a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError("Expected " + expected + " got " + actual); 137a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 138a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 139a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 140a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals(float expected, float actual, 141a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray float tolerance) { 142a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if ((actual < expected - tolerance) || (expected + tolerance < actual)) { 143a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError("Expected " + expected + " got " + actual + 144a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray " tolerance " + tolerance); 145a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 146a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 147a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 148a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals( 149a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray String message, double expected, double actual) { 150a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected != actual) { 151a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(message); 152a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 153a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 154a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 155a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals(double expected, double actual) { 156a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected != actual) { 157a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError("Expected " + expected + " got " + actual); 158a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 159a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 160a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 161a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertEquals(double expected, double actual, 162a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray double tolerance) { 163a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if ((actual < expected - tolerance) || (expected + tolerance < actual)) { 164a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError("Expected " + expected + " got " + actual + 165a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray " tolerance " + tolerance); 166a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 167a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 168a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 169a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertSame( 170a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray String message, Object expected, Object actual) { 171a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (expected != actual) { 172a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(message); 173a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 174a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 175a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 176a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertNull(String message, Object object) { 177a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (object != null) { 178a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(message); 179a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 180a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 181a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 182a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertNull(Object object) { 183a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray assertNull("Expected null", object); 184a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 185a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 186a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertNotNull(String message, Object object) { 187a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray if (object == null) { 188a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(message); 189a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 190a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 191a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 192a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void assertNotNull(Object object) { 193a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray assertNotNull("Expected non-null", object); 194a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 195a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray 196a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray public static void fail(String msg) { 197a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray throw new AssertionError(msg); 198a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray } 199a3d05a40de076aabf12ea284c67c99ff28b43dbfNicolas Geoffray} 200