@Test public void testGetName() { // fail("Not yet implemented"); Person p = new Person("Last", "First"); String name = p.getName(); assertEquals(name, "First Last"); }
@Test public void testGetPerson() { Book b1 = new Book("Learn SQL"); Person p1 = new Person("John Doe"); b1.setPerson(p1); Person testPerson = b1.getPerson(); assertEquals(p1, testPerson); assertEquals("John Doe", testPerson.getName()); }
@Test public void sortByExample3() { // We have the names of some people in the right order, but then we want to sort the actual // Person objects // into the same order. Providing a mapping function from the Person to his/her name is all we // need. final Person huey = new Person("huey"); final Person dewey = new Person("dewey"); final Person louie = new Person("louie"); List<String> example = asList("donald", huey.getName(), dewey.getName(), louie.getName()); assertEquals( asList(huey, dewey, louie), Algorithms.sortByExample( example, asList(dewey, louie, huey), new Function<Person, String>() { public String apply(Person p) { return p.getName(); } })); }
@Test public void multipleOperations_ShouldReturnWorkCorrectly() { boolean isAdded = persons.addPerson("*****@*****.**", "Pesho", 28, "Plovdiv"); assertTrue(isAdded); assertEquals(1, persons.size()); isAdded = persons.addPerson("*****@*****.**", "Pesho2", 222, "Plovdiv222"); assertFalse(isAdded); assertEquals(1, persons.size()); persons.addPerson("*****@*****.**", "Kiril", 22, "Plovdiv"); assertEquals(2, persons.size()); persons.addPerson("*****@*****.**", "Asen", 22, "Sofia"); assertEquals(3, persons.size()); Person person = persons.findPerson("non-existing person"); assertNull(person); person = persons.findPerson("*****@*****.**"); assertNotNull(person); assertEquals("*****@*****.**", person.getEmail()); assertEquals("Pesho", person.getName()); assertEquals(28, person.getAge()); assertEquals("Plovdiv", person.getTown()); List<Person> personsGmail = (List<Person>) persons.findPersons("gmail.com"); assertArrayEquals( new String[] {"*****@*****.**", "*****@*****.**"}, personsGmail.stream().map(p -> p.getEmail()).toArray()); List<Person> personsPeshoPlovdiv = (List<Person>) persons.findPersons("Pesho", "Plovdiv"); assertArrayEquals( new String[] {"*****@*****.**"}, personsPeshoPlovdiv.stream().map(p -> p.getEmail()).toArray()); List<Person> personsPeshoSofia = (List<Person>) persons.findPersons("Pesho", "Sofia"); assertEquals(0, personsPeshoSofia.size()); List<Person> personsKiroPlovdiv = (List<Person>) persons.findPersons("Kiro", "Plovdiv"); assertEquals(0, personsKiroPlovdiv.size()); List<Person> personsAge22To28 = (List<Person>) persons.findPersons(22, 28); assertArrayEquals( new String[] {"*****@*****.**", "*****@*****.**", "*****@*****.**"}, personsAge22To28.stream().map(p -> p.getEmail()).toArray()); List<Person> personsAge22To28Plovdiv = (List<Person>) persons.findPersons(22, 28, "Plovdiv"); assertArrayEquals( new String[] {"*****@*****.**", "*****@*****.**"}, personsAge22To28Plovdiv.stream().map(p -> p.getEmail()).toArray()); boolean isDeleted = persons.deletePerson("*****@*****.**"); assertTrue(isDeleted); isDeleted = persons.deletePerson("*****@*****.**"); assertFalse(isDeleted); person = persons.findPerson("*****@*****.**"); assertNull(person); personsGmail = (List<Person>) persons.findPersons("gmail.com"); assertArrayEquals( new String[] {"*****@*****.**"}, personsGmail.stream().map(p -> p.getEmail()).toArray()); personsPeshoPlovdiv = (List<Person>) persons.findPersons("Pesho", "Plovdiv"); assertArrayEquals( new String[] {}, personsPeshoPlovdiv.stream().map(p -> p.getEmail()).toArray()); personsPeshoSofia = (List<Person>) persons.findPersons("Pesho", "Sofia"); assertEquals(0, personsPeshoSofia.size()); personsKiroPlovdiv = (List<Person>) persons.findPersons("Kiro", "Plovdiv"); assertEquals(0, personsKiroPlovdiv.size()); personsAge22To28 = (List<Person>) persons.findPersons(22, 28); assertArrayEquals( new String[] {"*****@*****.**", "*****@*****.**"}, personsAge22To28.stream().map(p -> p.getEmail()).toArray()); personsAge22To28Plovdiv = (List<Person>) persons.findPersons(22, 28, "Plovdiv"); assertArrayEquals( new String[] {"*****@*****.**"}, personsAge22To28Plovdiv.stream().map(p -> p.getEmail()).toArray()); }