BAEL-1580: Hamcrest number matchers. (#3749)
* BAEL-1580: Hamcrest number matchers. * BAEL-1580: Moving hamcrest test to module mockito.
This commit is contained in:
parent
5d66bb2945
commit
1bb98e491d
|
@ -0,0 +1,152 @@
|
||||||
|
package org.baeldung.hamcrest;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
import static org.hamcrest.MatcherAssert.assertThat;
|
||||||
|
import static org.hamcrest.Matchers.*;
|
||||||
|
import static org.hamcrest.Matchers.closeTo;
|
||||||
|
|
||||||
|
public class HamcrestNumberUnitTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenADouble_whenCloseTo_thenCorrect() {
|
||||||
|
double actual = 1.3;
|
||||||
|
double operand = 1;
|
||||||
|
double error = 0.5;
|
||||||
|
assertThat(actual, is(closeTo(operand, error)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenADouble_whenNotCloseTo_thenCorrect() {
|
||||||
|
double actual = 1.6;
|
||||||
|
double operand = 1;
|
||||||
|
double error = 0.5;
|
||||||
|
assertThat(actual, is(not(closeTo(operand, error))));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenABigDecimal_whenCloseTo_thenCorrect() {
|
||||||
|
BigDecimal actual = new BigDecimal("1.0003");
|
||||||
|
BigDecimal operand = new BigDecimal("1");
|
||||||
|
BigDecimal error = new BigDecimal("0.0005");
|
||||||
|
assertThat(actual, is(closeTo(operand, error)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenABigDecimal_whenNotCloseTo_thenCorrect() {
|
||||||
|
BigDecimal actual = new BigDecimal("1.0006");
|
||||||
|
BigDecimal operand = new BigDecimal("1");
|
||||||
|
BigDecimal error = new BigDecimal("0.0005");
|
||||||
|
assertThat(actual, is(not(closeTo(operand, error))));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void given7_whenGreaterThan5_thenCorrect() {
|
||||||
|
Integer seven = 7;
|
||||||
|
Integer five = 5;
|
||||||
|
assertThat(seven, is(greaterThan(five)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void given7_whenGreaterThanOrEqualTo5_thenCorrect() {
|
||||||
|
Integer seven = 7;
|
||||||
|
Integer five = 5;
|
||||||
|
assertThat(seven, is(greaterThanOrEqualTo(five)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void given5_whenGreaterThanOrEqualTo5_thenCorrect() {
|
||||||
|
Integer five = 5;
|
||||||
|
assertThat(five, is(greaterThanOrEqualTo(five)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void given3_whenLessThan5_thenCorrect() {
|
||||||
|
Integer three = 3;
|
||||||
|
Integer five = 5;
|
||||||
|
assertThat(three, is(lessThan(five)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void given3_whenLessThanOrEqualTo5_thenCorrect() {
|
||||||
|
Integer three = 3;
|
||||||
|
Integer five = 5;
|
||||||
|
assertThat(three, is(lessThanOrEqualTo(five)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void given5_whenLessThanOrEqualTo5_thenCorrect() {
|
||||||
|
Integer five = 5;
|
||||||
|
assertThat(five, is(lessThanOrEqualTo(five)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenBenjamin_whenGreaterThanAmanda_thenCorrect() {
|
||||||
|
String amanda = "Amanda";
|
||||||
|
String benjamin = "Benjamin";
|
||||||
|
assertThat(benjamin, is(greaterThan(amanda)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenAmanda_whenLessThanBenajmin_thenCorrect() {
|
||||||
|
String amanda = "Amanda";
|
||||||
|
String benjamin = "Benjamin";
|
||||||
|
assertThat(amanda, is(lessThan(benjamin)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenToday_whenGreaterThanYesterday_thenCorrect() {
|
||||||
|
LocalDate today = LocalDate.now();
|
||||||
|
LocalDate yesterday = today.minusDays(1);
|
||||||
|
assertThat(today, is(greaterThan(yesterday)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenToday_whenLessThanTomorrow_thenCorrect() {
|
||||||
|
LocalDate today = LocalDate.now();
|
||||||
|
LocalDate tomorrow = today.plusDays(1);
|
||||||
|
assertThat(today, is(lessThan(tomorrow)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenAmanda_whenOlderThanBenjamin_thenCorrect() {
|
||||||
|
Person amanda = new Person("Amanda", 20);
|
||||||
|
Person benjamin = new Person("Benjamin", 18);
|
||||||
|
assertThat(amanda, is(greaterThan(benjamin)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenBenjamin_whenYoungerThanAmanda_thenCorrect() {
|
||||||
|
Person amanda = new Person("Amanda", 20);
|
||||||
|
Person benjamin = new Person("Benjamin", 18);
|
||||||
|
assertThat(benjamin, is(lessThan(amanda)));
|
||||||
|
}
|
||||||
|
|
||||||
|
class Person implements Comparable<Person> {
|
||||||
|
String name;
|
||||||
|
int age;
|
||||||
|
|
||||||
|
public Person(String name, int age) {
|
||||||
|
this.name = name;
|
||||||
|
this.age = age;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getAge() {
|
||||||
|
return age;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(Person o) {
|
||||||
|
if (this.age == o.getAge()) return 0;
|
||||||
|
if (this.age > o.age) return 1;
|
||||||
|
else return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue