aboutsummaryrefslogtreecommitdiff
path: root/gson/src/test/java/com/google/gson/functional/ExclusionStrategyFunctionalTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'gson/src/test/java/com/google/gson/functional/ExclusionStrategyFunctionalTest.java')
-rw-r--r--gson/src/test/java/com/google/gson/functional/ExclusionStrategyFunctionalTest.java24
1 files changed, 19 insertions, 5 deletions
diff --git a/gson/src/test/java/com/google/gson/functional/ExclusionStrategyFunctionalTest.java b/gson/src/test/java/com/google/gson/functional/ExclusionStrategyFunctionalTest.java
index 2eca8bb4..4091d26d 100644
--- a/gson/src/test/java/com/google/gson/functional/ExclusionStrategyFunctionalTest.java
+++ b/gson/src/test/java/com/google/gson/functional/ExclusionStrategyFunctionalTest.java
@@ -16,6 +16,11 @@
package com.google.gson.functional;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
import com.google.gson.ExclusionStrategy;
import com.google.gson.FieldAttributes;
import com.google.gson.Gson;
@@ -26,7 +31,8 @@ import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import junit.framework.TestCase;
+import org.junit.Before;
+import org.junit.Test;
/**
* Performs some functional tests when Gson is instantiated with some common user defined
@@ -35,7 +41,7 @@ import junit.framework.TestCase;
* @author Inderjeet Singh
* @author Joel Leitch
*/
-public class ExclusionStrategyFunctionalTest extends TestCase {
+public class ExclusionStrategyFunctionalTest {
private static final ExclusionStrategy EXCLUDE_SAMPLE_OBJECT_FOR_TEST = new ExclusionStrategy() {
@Override public boolean shouldSkipField(FieldAttributes f) {
return false;
@@ -47,12 +53,12 @@ public class ExclusionStrategyFunctionalTest extends TestCase {
private SampleObjectForTest src;
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+ @Before
+ public void setUp() throws Exception {
src = new SampleObjectForTest();
}
+ @Test
public void testExclusionStrategySerialization() throws Exception {
Gson gson = createGson(new MyExclusionStrategy(String.class), true);
String json = gson.toJson(src);
@@ -61,6 +67,7 @@ public class ExclusionStrategyFunctionalTest extends TestCase {
assertTrue(json.contains("\"longField\""));
}
+ @Test
public void testExclusionStrategySerializationDoesNotImpactDeserialization() {
String json = "{\"annotatedField\":1,\"stringField\":\"x\",\"longField\":2}";
Gson gson = createGson(new MyExclusionStrategy(String.class), true);
@@ -70,6 +77,7 @@ public class ExclusionStrategyFunctionalTest extends TestCase {
assertEquals(2, value.longField);
}
+ @Test
public void testExclusionStrategyDeserialization() throws Exception {
Gson gson = createGson(new MyExclusionStrategy(String.class), false);
JsonObject json = new JsonObject();
@@ -85,6 +93,7 @@ public class ExclusionStrategyFunctionalTest extends TestCase {
assertEquals(src.stringField, target.stringField);
}
+ @Test
public void testExclusionStrategySerializationDoesNotImpactSerialization() throws Exception {
Gson gson = createGson(new MyExclusionStrategy(String.class), false);
String json = gson.toJson(src);
@@ -93,6 +102,7 @@ public class ExclusionStrategyFunctionalTest extends TestCase {
assertTrue(json.contains("\"longField\""));
}
+ @Test
public void testExclusionStrategyWithMode() throws Exception {
SampleObjectForTest testObj = new SampleObjectForTest(
src.annotatedField + 5, src.stringField + "blah,blah",
@@ -112,6 +122,7 @@ public class ExclusionStrategyFunctionalTest extends TestCase {
assertEquals(src.stringField, target.stringField);
}
+ @Test
public void testExcludeTopLevelClassSerialization() {
Gson gson = new GsonBuilder()
.addSerializationExclusionStrategy(EXCLUDE_SAMPLE_OBJECT_FOR_TEST)
@@ -119,6 +130,7 @@ public class ExclusionStrategyFunctionalTest extends TestCase {
assertEquals("null", gson.toJson(new SampleObjectForTest(), SampleObjectForTest.class));
}
+ @Test
public void testExcludeTopLevelClassSerializationDoesNotImpactDeserialization() {
Gson gson = new GsonBuilder()
.addSerializationExclusionStrategy(EXCLUDE_SAMPLE_OBJECT_FOR_TEST)
@@ -130,6 +142,7 @@ public class ExclusionStrategyFunctionalTest extends TestCase {
assertEquals(2, value.longField);
}
+ @Test
public void testExcludeTopLevelClassDeserialization() {
Gson gson = new GsonBuilder()
.addDeserializationExclusionStrategy(EXCLUDE_SAMPLE_OBJECT_FOR_TEST)
@@ -139,6 +152,7 @@ public class ExclusionStrategyFunctionalTest extends TestCase {
assertNull(value);
}
+ @Test
public void testExcludeTopLevelClassDeserializationDoesNotImpactSerialization() {
Gson gson = new GsonBuilder()
.addDeserializationExclusionStrategy(EXCLUDE_SAMPLE_OBJECT_FOR_TEST)