From 35262dc51c258186ee171c2af36c0bbd35cf2f96 Mon Sep 17 00:00:00 2001 From: ETj Date: Wed, 22 Jun 2011 23:32:24 +0200 Subject: [PATCH] Added test for EntryKeyListEncoder. --- .../encoder/utils/EntryKeyListEncoder.java | 4 +- .../utils/EntryKeyListEncoderTest.java | 60 +++++++++++++++++++ 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 src/test/java/it/geosolutions/geoserver/rest/encoder/utils/EntryKeyListEncoderTest.java diff --git a/src/main/java/it/geosolutions/geoserver/rest/encoder/utils/EntryKeyListEncoder.java b/src/main/java/it/geosolutions/geoserver/rest/encoder/utils/EntryKeyListEncoder.java index 364f99e..e396e8a 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/encoder/utils/EntryKeyListEncoder.java +++ b/src/main/java/it/geosolutions/geoserver/rest/encoder/utils/EntryKeyListEncoder.java @@ -25,7 +25,7 @@ package it.geosolutions.geoserver.rest.encoder.utils; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; import org.jdom.Element; @@ -45,7 +45,7 @@ import org.jdom.Element; */ public class EntryKeyListEncoder { - private Map metadata = new HashMap(); + private Map metadata = new LinkedHashMap(); private final String listName; public EntryKeyListEncoder(String listName) { diff --git a/src/test/java/it/geosolutions/geoserver/rest/encoder/utils/EntryKeyListEncoderTest.java b/src/test/java/it/geosolutions/geoserver/rest/encoder/utils/EntryKeyListEncoderTest.java new file mode 100644 index 0000000..cbf66f9 --- /dev/null +++ b/src/test/java/it/geosolutions/geoserver/rest/encoder/utils/EntryKeyListEncoderTest.java @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2007 - 2011 GeoSolutions S.A.S. + * http://www.geo-solutions.it + * + * GPLv3 + Classpath exception + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package it.geosolutions.geoserver.rest.encoder.utils; + +import java.util.List; +import junit.framework.TestCase; +import org.jdom.Element; +import org.junit.Test; +import static org.junit.Assert.*; + +/** + * + * @author ETj (etj at geo-solutions.it) + */ +public class EntryKeyListEncoderTest extends TestCase { + + public EntryKeyListEncoderTest() { + } + + @Test + public void testAll() { + EntryKeyListEncoder ekle = new EntryKeyListEncoder("EKL"); + ekle.add("k1", "v1"); + ekle.add("k2", "v2"); + ekle.add("k3", "v3"); + + Element root = new Element("root"); + ekle.attachList(root); + + assertEquals(1, root.getChildren().size()); + assertNotNull(root.getChild("EKL")); + assertEquals(3, root.getChild("EKL").getChildren().size()); + assertEquals(3, root.getChild("EKL").getChildren("entry").size()); + + assertEquals("k1", ((Element)root.getChild("EKL").getChildren("entry").get(0)).getAttributeValue("key")); + assertEquals("k2", ((Element)root.getChild("EKL").getChildren("entry").get(1)).getAttributeValue("key")); + assertEquals("k3", ((Element)root.getChild("EKL").getChildren("entry").get(2)).getAttributeValue("key")); + + assertEquals("v1", ((Element)root.getChild("EKL").getChildren("entry").get(0)).getText()); + assertEquals("v2", ((Element)root.getChild("EKL").getChildren("entry").get(1)).getText()); + assertEquals("v3", ((Element)root.getChild("EKL").getChildren("entry").get(2)).getText()); + } +}