Fix text justification and linked tests
[nikiroo-utils.git] / src / be / nikiroo / utils / test / TestCase.java
index 490edbb4ec9d47db7f2c24cf21630ac303dc7044..5cff3630a725aa1e5fb67301ff1518875589a96c 100644 (file)
@@ -1,5 +1,7 @@
 package be.nikiroo.utils.test;
 
+import java.util.List;
+
 /**
  * A {@link TestCase} that can be run with {@link TestLauncher}.
  * 
@@ -42,6 +44,7 @@ abstract public class TestCase {
         * @throws Exception
         *             in case of error
         */
+       @SuppressWarnings("unused")
        public void setUp() throws Exception {
        }
 
@@ -51,6 +54,7 @@ abstract public class TestCase {
         * @throws Exception
         *             in case of error
         */
+       @SuppressWarnings("unused")
        public void tearDown() throws Exception {
        }
 
@@ -138,7 +142,7 @@ abstract public class TestCase {
        }
 
        /**
-        * Check that 2 {@link Object}s are equals.
+        * Check that 2 longs are equals.
         * 
         * @param expected
         *            the expected value
@@ -149,11 +153,11 @@ abstract public class TestCase {
         *             in case they differ
         */
        public void assertEquals(long expected, long actual) throws AssertException {
-               assertEquals(new Long(expected), new Long(actual));
+               assertEquals(Long.valueOf(expected), Long.valueOf(actual));
        }
 
        /**
-        * Check that 2 {@link Object}s are equals.
+        * Check that 2 longs are equals.
         * 
         * @param errorMessage
         *            the error message to display if they differ
@@ -167,11 +171,11 @@ abstract public class TestCase {
         */
        public void assertEquals(String errorMessage, long expected, long actual)
                        throws AssertException {
-               assertEquals(errorMessage, new Long(expected), new Long(actual));
+               assertEquals(errorMessage, Long.valueOf(expected), Long.valueOf(actual));
        }
 
        /**
-        * Check that 2 {@link Object}s are equals.
+        * Check that 2 booleans are equals.
         * 
         * @param expected
         *            the expected value
@@ -183,11 +187,11 @@ abstract public class TestCase {
         */
        public void assertEquals(boolean expected, boolean actual)
                        throws AssertException {
-               assertEquals(new Boolean(expected), new Boolean(actual));
+               assertEquals(Boolean.valueOf(expected), Boolean.valueOf(actual));
        }
 
        /**
-        * Check that 2 {@link Object}s are equals.
+        * Check that 2 booleans are equals.
         * 
         * @param errorMessage
         *            the error message to display if they differ
@@ -201,11 +205,12 @@ abstract public class TestCase {
         */
        public void assertEquals(String errorMessage, boolean expected,
                        boolean actual) throws AssertException {
-               assertEquals(errorMessage, new Boolean(expected), new Boolean(actual));
+               assertEquals(errorMessage, Boolean.valueOf(expected),
+                               Boolean.valueOf(actual));
        }
 
        /**
-        * Check that 2 {@link Object}s are equals.
+        * Check that 2 doubles are equals.
         * 
         * @param expected
         *            the expected value
@@ -217,11 +222,11 @@ abstract public class TestCase {
         */
        public void assertEquals(double expected, double actual)
                        throws AssertException {
-               assertEquals(new Double(expected), new Double(actual));
+               assertEquals(Double.valueOf(expected), Double.valueOf(actual));
        }
 
        /**
-        * Check that 2 {@link Object}s are equals.
+        * Check that 2 doubles are equals.
         * 
         * @param errorMessage
         *            the error message to display if they differ
@@ -235,7 +240,34 @@ abstract public class TestCase {
         */
        public void assertEquals(String errorMessage, double expected, double actual)
                        throws AssertException {
-               assertEquals(errorMessage, new Double(expected), new Double(actual));
+               assertEquals(errorMessage, Double.valueOf(expected),
+                               Double.valueOf(actual));
+       }
+
+       /**
+        * Check that 2 {@link List}s are equals.
+        * 
+        * @param errorMessage
+        *            the error message to display if they differ
+        * @param expected
+        *            the expected value
+        * @param actual
+        *            the actual value
+        * 
+        * @throws AssertException
+        *             in case they differ
+        */
+       public void assertEquals(List<?> expected, List<?> actual)
+                       throws AssertException {
+
+               assertEquals("The 2 lists don't contain the same number of items",
+                               expected.size(), actual.size());
+
+               int size = expected.size();
+               for (int i = 0; i < size; i++) {
+                       assertEquals("Line " + i + " (0-based) is not correct",
+                                       expected.get(i), actual.get(i));
+               }
        }
 
        /**
@@ -253,8 +285,8 @@ abstract public class TestCase {
                        throws AssertException {
                if (actual == null) {
                        String defaultReason = String.format("" //
-                                       + "Assertion failed!\n" //
-                                       + "Object should have been NULL: [%s]", actual);
+                                       + "Assertion failed!%n" //
+                                       + "Object should not have been NULL");
 
                        if (errorMessage == null) {
                                throw new AssertException(defaultReason);
@@ -278,8 +310,8 @@ abstract public class TestCase {
         */
        public static String generateAssertMessage(Object expected, Object actual) {
                return String.format("" //
-                               + "Assertion failed!\n" //
-                               + "Expected value: [%s]\n" //
+                               + "Assertion failed!%n" //
+                               + "Expected value: [%s]%n" //
                                + "Actual value: [%s]", expected, actual);
        }
 }