/*
* $Id$
*
* Copyright 2009 Glencoe Software, Inc. All rights reserved.
* Use is subject to license terms supplied in LICENSE.txt
*/
package ome.server.utests;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import ome.services.util.ServiceHandler;
import org.jmock.MockObjectTestCase;
import org.testng.annotations.Test;
public class ServiceHandlerUnitTest extends MockObjectTestCase {
@Test
public void testStringOutput() throws Exception {
String str;
// Plain
str = ServiceHandler.getResultsString(null, null);
assertEquals("null", str);
str = ServiceHandler.getResultsString(1L, null);
assertEquals("1", str);
// Arrays
str = ServiceHandler.getResultsString(new Object[]{null}, null);
assertEquals("[null]", str);
str = ServiceHandler.getResultsString(new Long[]{1L}, null);
assertEquals("[1]", str);
str = ServiceHandler.getResultsString(new Long[]{1L,1L,1L,1L}, null);
assertEquals("[1, 1, 1, ... 1 more]", str);
// Lists
str = ServiceHandler.getResultsString(Arrays.asList(1L), null);
assertEquals("(1)", str);
str = ServiceHandler.getResultsString(Arrays.asList(new Object[]{null}), null);
assertEquals("(null)", str);
// Sets
str = ServiceHandler.getResultsString(new HashSet<Long>(Arrays.asList(1L)), null);
assertEquals("(1)", str);
// Maps
HashMap<String, String> map = new HashMap<String, String>();
map.put("a","b");
str = ServiceHandler.getResultsString(map, null);
assertEquals("{a=b}", str);
// Arrays of arrays
Object[][] objs = new Object[3][];
objs[0] = new Object[]{1,2,3};
objs[1] = new Object[]{4,5,6};
objs[2] = new Object[]{7,8,9};
str = ServiceHandler.getResultsString(objs, null);
assertEquals("[[1, 2, 3], [4, 5, 6], [7, 8, 9]]", str);
}
@Test
public void testLongStringOutput() throws Exception {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 1000; i++) {
sb.append("0123456789");
}
String rv = ServiceHandler.getResultsString(sb.toString(), null);
assertEquals(sb.toString().substring(0, 100), rv);
rv = ServiceHandler.getResultsString(Arrays.asList(sb.toString()), null);
assertEquals("(" + sb.toString().substring(0, 100) + ")", rv);
}
}