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;
-		}
-	}
-
 }