aboutsummaryrefslogtreecommitdiff
path: root/gson/src/test/java/com/google/gson/functional/ToNumberPolicyFunctionalTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'gson/src/test/java/com/google/gson/functional/ToNumberPolicyFunctionalTest.java')
-rw-r--r--gson/src/test/java/com/google/gson/functional/ToNumberPolicyFunctionalTest.java26
1 files changed, 18 insertions, 8 deletions
diff --git a/gson/src/test/java/com/google/gson/functional/ToNumberPolicyFunctionalTest.java b/gson/src/test/java/com/google/gson/functional/ToNumberPolicyFunctionalTest.java
index 3e261d56..1e772836 100644
--- a/gson/src/test/java/com/google/gson/functional/ToNumberPolicyFunctionalTest.java
+++ b/gson/src/test/java/com/google/gson/functional/ToNumberPolicyFunctionalTest.java
@@ -16,12 +16,9 @@
package com.google.gson.functional;
-import java.lang.reflect.Type;
-import java.math.BigDecimal;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.ToNumberPolicy;
@@ -29,9 +26,16 @@ import com.google.gson.ToNumberStrategy;
import com.google.gson.internal.LazilyParsedNumber;
import com.google.gson.reflect.TypeToken;
import com.google.gson.stream.JsonReader;
-import junit.framework.TestCase;
+import java.lang.reflect.Type;
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+import org.junit.Test;
-public class ToNumberPolicyFunctionalTest extends TestCase {
+public class ToNumberPolicyFunctionalTest {
+ @Test
public void testDefault() {
Gson gson = new Gson();
assertEquals(null, gson.fromJson("null", Object.class));
@@ -40,6 +44,7 @@ public class ToNumberPolicyFunctionalTest extends TestCase {
assertEquals(new LazilyParsedNumber("10"), gson.fromJson("10", Number.class));
}
+ @Test
public void testAsDoubles() {
Gson gson = new GsonBuilder()
.setObjectToNumberStrategy(ToNumberPolicy.DOUBLE)
@@ -51,6 +56,7 @@ public class ToNumberPolicyFunctionalTest extends TestCase {
assertEquals(10.0, gson.fromJson("10", Number.class));
}
+ @Test
public void testAsLazilyParsedNumbers() {
Gson gson = new GsonBuilder()
.setObjectToNumberStrategy(ToNumberPolicy.LAZILY_PARSED_NUMBER)
@@ -62,6 +68,7 @@ public class ToNumberPolicyFunctionalTest extends TestCase {
assertEquals(new LazilyParsedNumber("10"), gson.fromJson("10", Number.class));
}
+ @Test
public void testAsLongsOrDoubles() {
Gson gson = new GsonBuilder()
.setObjectToNumberStrategy(ToNumberPolicy.LONG_OR_DOUBLE)
@@ -75,6 +82,7 @@ public class ToNumberPolicyFunctionalTest extends TestCase {
assertEquals(10.0, gson.fromJson("10.0", Number.class));
}
+ @Test
public void testAsBigDecimals() {
Gson gson = new GsonBuilder()
.setObjectToNumberStrategy(ToNumberPolicy.BIG_DECIMAL)
@@ -90,6 +98,7 @@ public class ToNumberPolicyFunctionalTest extends TestCase {
assertEquals(new BigDecimal("1e400"), gson.fromJson("1e400", BigDecimal.class));
}
+ @Test
public void testAsListOfLongsOrDoubles() {
Gson gson = new GsonBuilder()
.setObjectToNumberStrategy(ToNumberPolicy.LONG_OR_DOUBLE)
@@ -107,6 +116,7 @@ public class ToNumberPolicyFunctionalTest extends TestCase {
assertEquals(expected, numbers);
}
+ @Test
public void testCustomStrategiesCannotAffectConcreteDeclaredNumbers() {
ToNumberStrategy fail = new ToNumberStrategy() {
@Override