Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions src/main/java/assertions/Person.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,15 @@ public String getFullName(){
public Period getAge(){
return Period.between(birthDate, LocalDate.now());
}

public Boolean isTeen(int years){
// Is teen if Age 12 <= && >=18
Period age = getAge();
years = age.getYears();
if (years >= 12 && years <= 18){
return true;
}
return false;

}
}
59 changes: 54 additions & 5 deletions src/test/java/assertions/PersonTest.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package assertions;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

import java.time.LocalDate;
import java.time.Period;

class PersonTest {

Expand All @@ -11,28 +13,75 @@ class PersonTest {
@Test
void getFullNameReturnsFirstnameSpaceLastname(){
// TODO implement
throw new IllegalArgumentException("you should implement code here");
// throw new IllegalArgumentException("you should implement code here");
Person pers1 = new Person("Tobias", "Meier", null);
Assertions.assertEquals("Tobias Meier",pers1.getFullName());

}

// TODO some more useful tests
@Test
void getFullNameCheckSpaceBetween(){
Person pers1 = new Person("Tobias", "Meier", null);
String fullName = pers1.getFullName();
Assertions.assertTrue(fullName.contains(" "), "True if space between firstname and lastname");
}

@Test
void isTeenAge18_12ReturnTrue(){
Person pers1 = new Person("", "", LocalDate.of(2003, 3,11));
Person pers2 = new Person("", "", LocalDate.of(2009, 3, 11));
Period age1 = pers1.getAge();
Period age2 = pers2.getAge();
int years1 = age1.getYears();
int years2 = age2.getYears();

Assertions.assertEquals(18, age1.getYears());
Assertions.assertEquals(12, age2.getYears());
Assertions.assertTrue(pers1.isTeen(years1),"Is teen = true");
Assertions.assertTrue(pers2.isTeen(years2),"Is teen = true");

}
@Test
void isNotTeenAge11_19ReturnFalse(){
Person pers1 = new Person("", "", LocalDate.of(2010, 3,11));
Person pers2 = new Person("", "", LocalDate.of(2002, 3, 11));
Period age1 = pers1.getAge();
Period age2 = pers2.getAge();
int years1 = age1.getYears();
int years2 = age2.getYears();

Assertions.assertEquals(11, age1.getYears());
Assertions.assertEquals(19, age2.getYears());
Assertions.assertFalse(pers1.isTeen(years1), "Not teen = false");
Assertions.assertFalse(pers2.isTeen(years2), "Not teen = false");
}


// --- getAge

@Test
void getAgeReturns10YearsIfBornIn2009() throws Exception {
void getAgeReturns10YearsIfBorn10YearsFromToday() throws Exception {
// TODO verbessern. Hinweis: Repeatable (wiederholbar) zu jeder Zeit.
Person p = new Person("", "", LocalDate.of(2009, 1, 1));
Person p = new Person("", "", LocalDate.now().minusYears(10));

throw new IllegalArgumentException("you should implement code here");
//throw new IllegalArgumentException("you should implement code here");
Period age = p.getAge();
Assertions.assertEquals(10,age.getYears());
Assertions.assertEquals(0, age.getMonths());
Assertions.assertEquals(0, age.getDays());
}

@Test
void getAgeReturns1DayIfYesterday() throws Exception {
Person p = new Person("", "", LocalDate.now().minusDays(1));

// TODO implement
throw new IllegalArgumentException("you should implement code here");
//throw new IllegalArgumentException("you should implement code here");
Period age = p.getAge();
Assertions.assertEquals(1,age.getDays());
Assertions.assertEquals(0, age.getMonths());
Assertions.assertEquals(0, age.getYears());
}

// TODO some more useful tests
Expand Down