import static org.junit.Assert.*; import org.junit.Test; import eis.iilang.Action; import eis.iilang.Function; import eis.iilang.Identifier; import eis.iilang.Numeral; import eis.iilang.ParameterList; import eis.iilang.Percept; public class LangEqualsTest { @Test public void test1() { Percept p1 = new Percept("blueBall"); Percept p2 = new Percept("blueBall"); Percept p3 = new Percept("redBall"); assertTrue( p1.equals(p2)); assertFalse( p2.equals(p3)); assertFalse( p1.equals("blueBall")); } @Test public void test2() { Percept p1 = new Percept("ball", new Identifier("blue")); Percept p2 = new Percept("ball", new Identifier("blue")); Percept p3 = new Percept("ball", new Identifier("red")); assertTrue( p1.equals(p2)); assertFalse( p2.equals(p3)); assertFalse( p1.equals("blueBall")); } @Test public void test3() { Percept p1 = new Percept("ball", new Identifier("blue"), new Identifier("rubber")); Percept p2 = new Percept("ball", new Identifier("blue"), new Identifier("rubber")); Percept p3 = new Percept("ball", new Identifier("red")); assertTrue( p1.equals(p2)); assertFalse( p2.equals(p3)); assertFalse( p1.equals("blueBall")); } @Test public void test4() { Action p1 = new Action("kickBall"); Action p2 = new Action("kickBall"); Action p3 = new Action("throBall"); assertTrue( p1.equals(p2)); assertFalse( p2.equals(p3)); assertFalse( p1.equals("throwBall")); } @Test public void test5() { Action p1 = new Action("kick", new Identifier("ball")); Action p2 = new Action("kick", new Identifier("ball")); Action p3 = new Action("throw", new Identifier("ball")); assertTrue( p1.equals(p2)); assertFalse( p2.equals(p3)); assertFalse( p1.equals("blueBall")); } @Test public void test6() { Function f1 = new Function("plus", new Function("minus", new Numeral(1), new Numeral(2)), new Numeral(3)); Function f2 = new Function("plus", new Function("minus", new Numeral(1), new Numeral(2)), new Numeral(3)); Function f3 = new Function("minus", new Function("plus", new Numeral(1), new Numeral(2)), new Numeral(3)); assertTrue( f1.equals(f2)); assertFalse( f2.equals(f3)); assertFalse( f1.equals("blueBall")); } @Test public void test7() { Identifier id1 = new Identifier("blue"); Identifier id2 = new Identifier("blue"); Identifier id3 = new Identifier("red"); assertTrue( id1.equals(id2)); assertFalse( id2.equals(id3)); assertFalse( id1.equals("blueBall")); } @Test public void test8() { ParameterList pl1 = new ParameterList(new Numeral(1) , new Numeral(2), new Numeral(3) ); ParameterList pl2 = new ParameterList(new Numeral(1) , new Numeral(2), new Numeral(3) ); ParameterList pl3 = new ParameterList(new Numeral(1) , new Numeral(3) ); assertTrue( pl1.equals(pl2)); assertFalse( pl2.equals(pl3)); assertFalse( pl1.equals("blueBall")); } }