public class PersonenTest
{
	public static void main (String[]args)
	{		
		testEquals();
	}		
	static void testEquals()
	{	
			
			Angestellte a0 = new Angestellte("Hoffmann", "Albert", 543210, "Chemiker");
			Angestellte a1 = new Angestellte("Baader", "Andreas", 345678, "Physiker");
			
			Student s0 = new Student("Baader", "Andreas", "R1968AF", "Frankfurt");
			Student s1 = new Student("Baader", "Andreas", "R1968AF", "Frankfurt");
			Student s2 = new Student("Baader", "Andreas", "R1968AF", "Frankfurt");
			Student s3 = new Student("Ensslin", "Gudrun", "RAF1968", "Berlin");
			
			Person p0 = new Person("Cartman", "Eric");
			Person p1 = new Person("Baader", "Andreas");
			Person p2 = new Person(null,null);
			//Reflexivität testen
			System.out.println("Testfall Reflexivität:");
			System.out.println("a0 equals a0? ");
			System.out.println("a0 = "+a0);
			System.out.println("true expected"); 
			System.out.println(""+a0.equals(a0)+" result");
			System.out.println("-----------------------------------------------");
			
			//Symmetrie testen
			System.out.println("Testfall Symmetrie:");
			System.out.println("s0 equals s1? ");
			System.out.println("s0 = "+s0);
			System.out.println("s1 = "+s1);
			System.out.println("true expected"); 
			System.out.println(""+s0.equals(s1)+" result");
			System.out.println("");
			System.out.println("s1 equals s0? ");
			System.out.println("s1 = "+s1);
			System.out.println("s0 = "+s0);
			System.out.println("true expected"); 
			System.out.println(""+s1.equals(s0)+" result");
			System.out.println("");
			System.out.println("p1 equals s0? ");
			System.out.println("p1 = "+p1);
			System.out.println("s0 = "+s0);
			System.out.println("true expected"); 
			System.out.println(""+p1.equals(s0)+" result");
			System.out.println("");
			System.out.println("s0 equals p1? ");
			System.out.println("s0 = "+s0);
			System.out.println("p1 = "+p1);
			System.out.println("false expected"); 
			System.out.println(""+s0.equals(p1)+" result");
			System.out.println("-----------------------------------------------");
			
			//Transivität testen
			System.out.println("Testfall Transivität:");
			System.out.println("s0 equals s1? ");
			System.out.println("s0 = "+s0);
			System.out.println("s1 = "+s1);
			System.out.println("true expected"); 
			System.out.println(""+s0.equals(s1)+" result");
			System.out.println("");
			System.out.println("s1 equals s2? ");
			System.out.println("s1 = "+s1);
			System.out.println("s2 = "+s2);
			System.out.println("true expected"); 
			System.out.println(""+s1.equals(s2)+" result");
			System.out.println("");
			System.out.println("s0 equals s2? ");
			System.out.println("s0 = "+s0);
			System.out.println("s2 = "+s2);
			System.out.println("true expected"); 
			System.out.println(""+s0.equals(s2)+" result");
			System.out.println("");
			System.out.println("-----------------------------------------------");
						
			//Konsistenz testen
			System.out.println("Testfall Konsistenz:");
			for(int i=0;i<100;i++)
			{
				System.out.println("true expected"); 
				System.out.println(""+s1.equals(s2)+" result");
			}	
			System.out.println("-----------------------------------------------");
			
			// NULL Fälle
			System.out.println("Testfall null-Vergleich:");
			System.out.println("s0 equals NULL? ");
			System.out.println("s0 = "+s0);
			System.out.println("p2 = "+p2);
			System.out.println("false expected"); 
			System.out.println(""+s0.equals(p2)+" result");
			System.out.println("");
			System.out.println("p2 equals p0? ");
			System.out.println("p2 = "+p2);
			System.out.println("p0 = "+s0);
			System.out.println("false expected"); 
			System.out.println(""+p2.equals(p0)+" result");
			System.out.println("");
			
			
			
			
//			System.out.println("Pers[0] = stud[1]? "+person[0].equals(studenten[1]));
//			System.out.println("Stud[0] = pers[1](gleiche Namen)? "+studenten[0].equals(person[1]));
//			System.out.println("Pers[1] = stud[0](gleiche Namen)? "+person[1].equals(studenten[0]));
//			System.out.println("Ang[0] = stud[1]? "+angestellte[0].equals(studenten[1]));
//			System.out.println("stud[0] = ang[1]? "+studenten[1].equals(angestellte[0]));	
//			System.out.println("Ang[0] = pers[1]? "+angestellte[0].equals(person[1]));
//			System.out.println("pers[1] = ang[0]? "+person[1].equals(angestellte[0]));
	}	
}	