@Test
  public void testEqualsDoubleFloat() {
    // Since Java and C are not able to compare
    // float and double values with absolute precision -> 1.3 != 1.3F
    assertFalse(cFunction.equals(1.3, 1.3F));

    assertTrue(cFunction.equals(1.5, 1.5F));
  }
 @Test
 public void testEqualsFloatLong() {
   assertTrue(cFunction.equals(1.0F, 1L));
   assertFalse(cFunction.equals(1.1F, 1L));
   // Since Java and C are not able to compare
   // float and double values with absolute precision -> 1.3F != 1.3
   assertFalse(cFunction.equals(1.3F, 1.3));
 }
 @Test
 public void testEqualsObjectObject() {
   Object obj1 = new Object();
   assertTrue(cFunction.equals(obj1, obj1));
   assertFalse(cFunction.equals(obj1, null));
   assertFalse(cFunction.equals(null, obj1));
   assertFalse(cFunction.equals(new Object(), new Object()));
 }
 @Test
 public void testEqualsEObjectEObject() {
   EObject obj1 = EcoreFactory.eINSTANCE.createEObject();
   assertTrue(cFunction.equals(obj1, obj1));
   assertFalse(cFunction.equals(obj1, null));
   assertFalse(cFunction.equals(null, obj1));
   assertTrue(
       cFunction.equals(
           EcoreFactory.eINSTANCE.createEObject(), EcoreFactory.eINSTANCE.createEObject()));
 }
 @Test
 public void testEqualsDoubleInteger() {
   assertTrue(cFunction.equals(1.0, 1));
   assertFalse(cFunction.equals(1.1, 1));
 }
 @Test
 public void testEqualsLongDouble() {
   assertTrue(cFunction.equals(1L, 1D));
   assertFalse(cFunction.equals(1L, 1.01D));
 }
 @Test
 public void testEqualsLongFloat() {
   assertTrue(cFunction.equals(1L, 1F));
   assertFalse(cFunction.equals(1L, 1.01F));
 }
 @Test
 public void testEqualsFloatInteger() {
   assertTrue(cFunction.equals(1.0F, 1));
   assertFalse(cFunction.equals(1.1F, 1));
 }
 @Test
 public void testEqualsIntegerDouble() {
   assertTrue(cFunction.equals(1, 1.0));
   assertFalse(cFunction.equals(1, 1.1));
 }
 @Test
 public void testEqualsIntegerFloat() {
   assertTrue(cFunction.equals(1, 1.0F));
   assertFalse(cFunction.equals(1, 1.1F));
 }
 @Test
 public void testEqualsLongLong() {
   assertTrue(cFunction.equals(10L, 10L));
   assertFalse(cFunction.equals(11L, 10L));
 }
 @Test
 public void testEqualsDoubleDouble() {
   assertTrue(cFunction.equals(1.5, 1.5));
   assertFalse(cFunction.equals(1.3, 1.31));
 }
 @Test
 public void testEqualsFloatFloat() {
   assertTrue(cFunction.equals(1.3F, 1.3F));
   assertFalse(cFunction.equals(1.31F, 1.3F));
 }
 @Test
 public void testEqualsStringString() {
   String test = "test";
   assertTrue(cFunction.equals(test, "test"));
   assertFalse(cFunction.equals(test, "test2"));
 }
 @Test
 public void testEqualsDoubleLong() {
   assertTrue(cFunction.equals(1.0, 1L));
   assertFalse(cFunction.equals(1.1, 1L));
 }
 @Test
 public void testEqualsIntegerLong() {
   assertTrue(cFunction.equals(1, 1L));
   assertFalse(cFunction.equals(1, 2L));
 }
 @Test
 public void testEqualsLongInteger() {
   assertTrue(cFunction.equals(1L, 1));
   assertFalse(cFunction.equals(1L, 2));
 }
 @Test
 public void testEqualsBooleanBoolean() {
   assertFalse(cFunction.equals(true, false));
   assertTrue(cFunction.equals(true, true));
 }