Skip to content

Commit

Permalink
Unit test refactoring: move failing #749 tests under failing; need fu…
Browse files Browse the repository at this point in the history
…rther work to solve, not an easy fix
  • Loading branch information
cowtowncoder committed Apr 8, 2015
1 parent 6dce67b commit c94ec60
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public EnumSerializer(EnumValues v) {

public EnumSerializer(EnumValues v, Boolean serializeAsIndex)
{
super(Enum.class, false);
super(v.getEnumClass(), false);
_values = v;
_serializeAsIndex = serializeAsIndex;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -376,31 +376,6 @@ public void testCustomEnumMapKeySerializer() throws Exception {
String json = mapper.writeValueAsString(new MyBean661("abc"));
assertEquals(aposToQuotes("{'X-FOO':'abc'}"), json);
}

// [databind#749]

public void testEnumMapSerDefault() throws Exception {
final ObjectMapper mapper = new ObjectMapper();
EnumMap<LowerCaseEnum, String> m = new EnumMap<LowerCaseEnum, String>(LowerCaseEnum.class);
m.put(LowerCaseEnum.A, "value");
assertEquals("{\"A\":\"value\"}", mapper.writeValueAsString(m));
}

public void testEnumMapSerDisableToString() throws Exception {
final ObjectMapper mapper = new ObjectMapper();
ObjectWriter w = mapper.writer().without(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
EnumMap<LowerCaseEnum, String> m = new EnumMap<LowerCaseEnum, String>(LowerCaseEnum.class);
m.put(LowerCaseEnum.A, "value");
assertEquals("{\"A\":\"value\"}", w.writeValueAsString(m));
}

public void testEnumMapSerEnableToString() throws Exception {
final ObjectMapper mapper = new ObjectMapper();
ObjectWriter w = mapper.writer().with(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
EnumMap<LowerCaseEnum, String> m = new EnumMap<LowerCaseEnum, String>(LowerCaseEnum.class);
m.put(LowerCaseEnum.A, "value");
assertEquals("{\"a\":\"value\"}", w.writeValueAsString(m));
}
}

// [JACKSON-757], non-inner enum
Expand Down
51 changes: 51 additions & 0 deletions src/test/java/com/fasterxml/jackson/failing/EnumMap749Test.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package com.fasterxml.jackson.failing;

import java.util.*;

import com.fasterxml.jackson.databind.*;

/**
* Failing tests for [databind#749]: problems using (or not) of `toString()` for Enum keys
* of EnumMap, EnumSet.
*/
public class EnumMap749Test
extends BaseMapTest
{
protected static enum LC749Enum {
A, B, C;
private LC749Enum() { }
@Override
public String toString() { return name().toLowerCase(); }
}

/*
/**********************************************************
/* Tests
/**********************************************************
*/

// [databind#749]

public void testEnumMapSerDefault() throws Exception {
final ObjectMapper mapper = new ObjectMapper();
EnumMap<LC749Enum, String> m = new EnumMap<LC749Enum, String>(LC749Enum.class);
m.put(LC749Enum.A, "value");
assertEquals("{\"A\":\"value\"}", mapper.writeValueAsString(m));
}

public void testEnumMapSerDisableToString() throws Exception {
final ObjectMapper mapper = new ObjectMapper();
ObjectWriter w = mapper.writer().without(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
EnumMap<LC749Enum, String> m = new EnumMap<LC749Enum, String>(LC749Enum.class);
m.put(LC749Enum.A, "value");
assertEquals("{\"A\":\"value\"}", w.writeValueAsString(m));
}

public void testEnumMapSerEnableToString() throws Exception {
final ObjectMapper mapper = new ObjectMapper();
ObjectWriter w = mapper.writer().with(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
EnumMap<LC749Enum, String> m = new EnumMap<LC749Enum, String>(LC749Enum.class);
m.put(LC749Enum.A, "value");
assertEquals("{\"a\":\"value\"}", w.writeValueAsString(m));
}
}

0 comments on commit c94ec60

Please sign in to comment.