Java Assert Equal assertEquals(Object expected, Object actual)

Here you can find the source of assertEquals(Object expected, Object actual)

Description

assert Equals

License

Open Source License

Declaration

public static void assertEquals(Object expected, Object actual) 

Method Source Code

//package com.java2s;
/*// w  w w .j  a v  a  2 s.c  o m
 * Copyright (c) 2008-2018, Hazelcast, Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

public class Main {
    public static void assertEquals(Object expected, Object actual) {
        assertEquals(null, expected, actual);
    }

    public static void assertEquals(String message, Object expected, Object actual) {
        if (!equalsRegardingNull(expected, actual)) {
            failNotEquals(message, expected, actual);
        }
    }

    private static boolean equalsRegardingNull(Object expected, Object actual) {
        if (expected == null) {
            return actual == null;
        }
        return isEquals(expected, actual);
    }

    private static void failNotEquals(String message, Object expected, Object actual) {
        throw new AssertionError(format(message, expected, actual));
    }

    private static boolean isEquals(Object expected, Object actual) {
        return expected.equals(actual);
    }

    private static String format(String message, Object expected, Object actual) {
        String formatted = "";
        if (message != null && !message.equals("")) {
            formatted = message + " ";
        }
        String expectedString = String.valueOf(expected);
        String actualString = String.valueOf(actual);
        if (expectedString.equals(actualString)) {
            return formatted + "expected: " + formatClassAndValue(expected, expectedString) + " but was: "
                    + formatClassAndValue(actual, actualString);
        } else {
            return formatted + "expected:<" + expectedString + "> but was:<" + actualString + ">";
        }
    }

    private static String formatClassAndValue(Object value, String valueString) {
        String className = value == null ? "null" : value.getClass().getName();
        return className + "<" + valueString + ">";
    }
}

Related

  1. assertEquals(int a, int b)
  2. assertEquals(int i1, int i2)
  3. assertEquals(Integer a, Integer b)
  4. assertEquals(Object a, Object b, String msg)
  5. assertEquals(Object exp, Object actual)
  6. assertEquals(Object expected, Object actual)
  7. assertEquals(Object o1, Object o2)
  8. assertEquals(Object obj1, Object obj2, String errMsg)
  9. assertEquals(Object obj1, Object obj2, String message)