From e44e01559efd0eecb002e4a74d2a02ec11f19212 Mon Sep 17 00:00:00 2001 From: Michael Nitschinger Date: Wed, 29 May 2013 12:31:50 +0200 Subject: [PATCH] verify that maps work as well. --- .../spring/core/CouchbaseTemplateTest.java | 37 +++++++++++++++---- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/src/test/java/com/couchbase/spring/core/CouchbaseTemplateTest.java b/src/test/java/com/couchbase/spring/core/CouchbaseTemplateTest.java index 71db4970..db6cec9f 100644 --- a/src/test/java/com/couchbase/spring/core/CouchbaseTemplateTest.java +++ b/src/test/java/com/couchbase/spring/core/CouchbaseTemplateTest.java @@ -36,10 +36,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.net.SocketAddress; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; +import java.util.*; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = TestApplicationConfig.class) @@ -129,23 +126,31 @@ public class CouchbaseTemplateTest { } @Test - public void storeLists() { + public void storeListsAndMaps() { String id ="persons:lots-of-names"; List names = new ArrayList(); names.add("Michael"); names.add("Thomas"); List votes = new LinkedList(); - ComplexPerson complex = new ComplexPerson(id, names, votes); + Map info1 = new HashMap(); + info1.put("foo", true); + info1.put("bar", false); + Map info2 = new HashMap(); + + ComplexPerson complex = new ComplexPerson(id, names, votes, info1, info2); template.save(complex); - String expected = "{\"votes\":[],\"firstnames\":[\"Michael\",\"Thomas\"]}"; + String expected = "{\"info1\":{\"foo\":true,\"bar\":false},\"votes\":[]," + + "\"firstnames\":[\"Michael\",\"Thomas\"],\"info2\":{}}"; assertEquals(expected, client.get(id)); ComplexPerson response = template.findById(id, ComplexPerson.class); assertEquals(names, response.getFirstnames()); assertEquals(votes, response.getVotes()); assertEquals(id, response.getId()); + assertEquals(info1, response.getInfo1()); + assertEquals(info2, response.getInfo2()); } /** @@ -186,11 +191,19 @@ public class CouchbaseTemplateTest { @Field private final List votes; + @Field + private final Map info1; + @Field + private final Map info2; + public ComplexPerson(String id, List firstnames, - List votes) { + List votes, Map info1, + Map info2) { this.id = id; this.firstnames = firstnames; this.votes = votes; + this.info1 = info1; + this.info2 = info2; } List getFirstnames() { @@ -201,6 +214,14 @@ public class CouchbaseTemplateTest { return votes; } + Map getInfo1() { + return info1; + } + + Map getInfo2() { + return info2; + } + String getId() { return id; }