blob: cf009710778f707eaf9e3a1a79f7da18f1af146d [file] [log] [blame]
package org.codehaus.jackson.map.convert;
import java.util.*;
import static org.junit.Assert.*;
import org.codehaus.jackson.map.*;
public class TestStringConversions
extends org.codehaus.jackson.map.BaseMapTest
{
final ObjectMapper mapper = new ObjectMapper();
public void testSimple()
{
assertEquals(Boolean.TRUE, mapper.convertValue("true", Boolean.class));
assertEquals(Integer.valueOf(-3), mapper.convertValue(" -3 ", Integer.class));
assertEquals(Long.valueOf(77), mapper.convertValue("77", Long.class));
int[] ints = { 1, 2, 3 };
List<Integer> Ints = new ArrayList<Integer>();
Ints.add(1);
Ints.add(2);
Ints.add(3);
assertArrayEquals(ints, mapper.convertValue(Ints, int[].class));
}
public void testStringsToInts()
{
// let's verify our "neat trick" actually works...
assertArrayEquals(new int[] { 1, 2, 3, 4, -1, 0 },
mapper.convertValue("1 2 3 4 -1 0".split("\\s+"), int[].class));
}
/**
* @since 1.6
*/
public void testBytesToBase64AndBack() throws Exception
{
byte[] input = new byte[] { 1, 2, 3, 4, 5, 6, 7 };
String encoded = mapper.convertValue(input, String.class);
assertNotNull(encoded);
byte[] result = mapper.convertValue(encoded, byte[].class);
assertArrayEquals(input, result);
}
/**
* @since 1.7.3
*/
public void testBytestoCharArray() throws Exception
{
byte[] input = new byte[] { 1, 2, 3, 4, 5, 6, 7 };
// first, do baseline encoding
char[] expEncoded = mapper.convertValue(input, String.class).toCharArray();
// then compare
char[] actEncoded = mapper.convertValue(input, char[].class);
assertArrayEquals(expEncoded, actEncoded);
}
}