import static org.junit.jupiter.api.Assertions.*;

import org.junit.jupiter.api.Test;
import org.omg.CORBA.Principal;

class EscozorTest {

	@Test
	void testEqualsObject() {
		int intensidad[]= {1,2,1,1,1};
		String[] sensacion= {"a","b","a","a","a"};
		int duracion[]= {1,2,1,1,1};
		boolean simetria[]= {false,false,true,true,true};
		boolean transitividad[]= {false,false,true};
		//for
		Escozor primero[]=new Escozor[intensidad.length];
		for (int i = 0; i < primero.length; i++) {
			primero[i]=new Escozor(intensidad[i], sensacion[i], duracion[i]);
		}
		assertFalse(primero[0].equals(null));
		for (int i = 0; i < primero.length; i++) {
			// reflexividad
			assertTrue(primero[i].equals(primero[i]));
		}
		for (int i = 0; i < primero.length-1; i++) {
			// simetria
			assertEquals(simetria[i],primero[i].equals(primero[i+1]));
			assertEquals(simetria[i],primero[i+1].equals(primero[i]));
		}
		for (int i = 0; i < primero.length-2; i++) {
			// transitividad
			assertEquals(transitividad[i],primero[i].equals(primero[i+1])&&primero[i+1].equals(primero[i+2])&&primero[i].equals(primero[i+2]));
			
		}
		// consistencia
			assertTrue(primero[0].equals(primero[2]));
			int duracion2 = primero[0].getDuracion();
			primero[0].setDuracion(++duracion2);
			assertFalse(primero[0].equals(primero[2]));
			primero[0].setDuracion(duracion2);
			assertTrue(primero[0].equals(primero[2]));
		}
		
}
