You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2016/04/24 21:57:34 UTC
[10/10] wicket git commit: Add tests for IModel's default methods
Add tests for IModel's default methods
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/bbe1ab60
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/bbe1ab60
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/bbe1ab60
Branch: refs/heads/master
Commit: bbe1ab60708e5c66a583ff43928dc04dcf34daba
Parents: a1af5f9
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sun Apr 24 21:56:59 2016 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sun Apr 24 21:56:59 2016 +0200
----------------------------------------------------------------------
.../java/org/apache/wicket/model/IModel.java | 4 +-
.../org/apache/wicket/model/IModelTest.java | 42 +++++++++++++++-----
.../org/apache/wicket/model/lambda/Address.java | 33 +++++++++++++++
.../org/apache/wicket/model/lambda/Person.java | 27 -------------
4 files changed, 68 insertions(+), 38 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/bbe1ab60/wicket-core/src/main/java/org/apache/wicket/model/IModel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/model/IModel.java b/wicket-core/src/main/java/org/apache/wicket/model/IModel.java
index 111ca62..b3c5c69 100644
--- a/wicket-core/src/main/java/org/apache/wicket/model/IModel.java
+++ b/wicket-core/src/main/java/org/apache/wicket/model/IModel.java
@@ -111,7 +111,7 @@ public interface IModel<T> extends IDetachable
}
/**
- * Returns a IModel applying the given mapper to the contained object, if it is not NULL.
+ * Returns a IModel applying the given mapper to the contained object, if it is not {@code null}.
*
* @param <R>
* the new type of the contained object
@@ -259,7 +259,7 @@ public interface IModel<T> extends IDetachable
/**
* Returns a IModel, returning either the contained object or the given default value, depending
- * on the nullness of the contained object.
+ * on the {@code null}ness of the contained object.
*
* @param other
* a default value
http://git-wip-us.apache.org/repos/asf/wicket/blob/bbe1ab60/wicket-core/src/test/java/org/apache/wicket/model/IModelTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/model/IModelTest.java b/wicket-core/src/test/java/org/apache/wicket/model/IModelTest.java
index ab342a9..bc86e6f 100644
--- a/wicket-core/src/test/java/org/apache/wicket/model/IModelTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/model/IModelTest.java
@@ -4,8 +4,10 @@ import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.nullValue;
+import org.apache.wicket.model.lambda.Address;
import org.apache.wicket.model.lambda.Person;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
/**
@@ -13,13 +15,25 @@ import org.junit.Test;
*/
public class IModelTest extends Assert
{
- @Test
- public void filterMatch()
+ private Person person;
+ private final String name = "John";
+ private final String street = "Strasse";
+
+ @Before
+ public void before()
{
- Person person = new Person();
- String name = "john";
+ person = new Person();
person.setName(name);
+ Address address = new Address();
+ person.setAddress(address);
+ address.setStreet(street);
+ address.setNumber(123);
+ }
+
+ @Test
+ public void filterMatch()
+ {
IModel<Person> johnModel = IModel.of(person)
.filter((p) -> p.getName().equals(name));
@@ -29,13 +43,23 @@ public class IModelTest extends Assert
@Test
public void filterNoMatch()
{
- Person person = new Person();
- String name = "john";
- person.setName(name);
-
IModel<Person> johnModel = IModel.of(person)
- .filter((p) -> p.getName().equals("jane"));
+ .filter((p) -> p.getName().equals("Jane"));
assertThat(johnModel.getObject(), is(nullValue()));
}
+
+ @Test
+ public void map()
+ {
+ IModel<String> personNameModel = IModel.of(person).map(Person::getName);
+ assertThat(personNameModel.getObject(), is(equalTo(name)));
+ }
+
+ @Test
+ public void map2()
+ {
+ IModel<String> streetModel = IModel.of(person).map(Person::getAddress).map(Address::getStreet);
+ assertThat(streetModel.getObject(), is(equalTo(street)));
+ }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/bbe1ab60/wicket-core/src/test/java/org/apache/wicket/model/lambda/Address.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/model/lambda/Address.java b/wicket-core/src/test/java/org/apache/wicket/model/lambda/Address.java
new file mode 100644
index 0000000..b5385b5
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/model/lambda/Address.java
@@ -0,0 +1,33 @@
+package org.apache.wicket.model.lambda;
+
+import java.io.Serializable;
+
+/**
+ * A test object for lambda related tests
+ */
+public class Address implements Serializable
+{
+ private String street;
+
+ private int number;
+
+ public String getStreet()
+ {
+ return street;
+ }
+
+ public void setStreet(String street)
+ {
+ this.street = street;
+ }
+
+ public int getNumber()
+ {
+ return number;
+ }
+
+ public void setNumber(int number)
+ {
+ this.number = number;
+ }
+}
http://git-wip-us.apache.org/repos/asf/wicket/blob/bbe1ab60/wicket-core/src/test/java/org/apache/wicket/model/lambda/Person.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/model/lambda/Person.java b/wicket-core/src/test/java/org/apache/wicket/model/lambda/Person.java
index 0134c46..175ac09 100644
--- a/wicket-core/src/test/java/org/apache/wicket/model/lambda/Person.java
+++ b/wicket-core/src/test/java/org/apache/wicket/model/lambda/Person.java
@@ -47,31 +47,4 @@ public class Person implements Serializable
this.address = address;
}
- public static class Address implements Serializable
- {
- private String street;
-
- private int number;
-
- public String getStreet()
- {
- return street;
- }
-
- public void setStreet(String street)
- {
- this.street = street;
- }
-
- public int getNumber()
- {
- return number;
- }
-
- public void setNumber(int number)
- {
- this.number = number;
- }
- }
-
}