Skip to content

Commit c94ec60

Browse files
committed
Unit test refactoring: move failing #749 tests under failing; need further work to solve, not an easy fix
1 parent 6dce67b commit c94ec60

File tree

3 files changed

+52
-26
lines changed

3 files changed

+52
-26
lines changed

src/main/java/com/fasterxml/jackson/databind/ser/std/EnumSerializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public EnumSerializer(EnumValues v) {
6565

6666
public EnumSerializer(EnumValues v, Boolean serializeAsIndex)
6767
{
68-
super(Enum.class, false);
68+
super(v.getEnumClass(), false);
6969
_values = v;
7070
_serializeAsIndex = serializeAsIndex;
7171
}

src/test/java/com/fasterxml/jackson/databind/ser/TestEnumSerialization.java

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -376,31 +376,6 @@ public void testCustomEnumMapKeySerializer() throws Exception {
376376
String json = mapper.writeValueAsString(new MyBean661("abc"));
377377
assertEquals(aposToQuotes("{'X-FOO':'abc'}"), json);
378378
}
379-
380-
// [databind#749]
381-
382-
public void testEnumMapSerDefault() throws Exception {
383-
final ObjectMapper mapper = new ObjectMapper();
384-
EnumMap<LowerCaseEnum, String> m = new EnumMap<LowerCaseEnum, String>(LowerCaseEnum.class);
385-
m.put(LowerCaseEnum.A, "value");
386-
assertEquals("{\"A\":\"value\"}", mapper.writeValueAsString(m));
387-
}
388-
389-
public void testEnumMapSerDisableToString() throws Exception {
390-
final ObjectMapper mapper = new ObjectMapper();
391-
ObjectWriter w = mapper.writer().without(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
392-
EnumMap<LowerCaseEnum, String> m = new EnumMap<LowerCaseEnum, String>(LowerCaseEnum.class);
393-
m.put(LowerCaseEnum.A, "value");
394-
assertEquals("{\"A\":\"value\"}", w.writeValueAsString(m));
395-
}
396-
397-
public void testEnumMapSerEnableToString() throws Exception {
398-
final ObjectMapper mapper = new ObjectMapper();
399-
ObjectWriter w = mapper.writer().with(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
400-
EnumMap<LowerCaseEnum, String> m = new EnumMap<LowerCaseEnum, String>(LowerCaseEnum.class);
401-
m.put(LowerCaseEnum.A, "value");
402-
assertEquals("{\"a\":\"value\"}", w.writeValueAsString(m));
403-
}
404379
}
405380

406381
// [JACKSON-757], non-inner enum
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package com.fasterxml.jackson.failing;
2+
3+
import java.util.*;
4+
5+
import com.fasterxml.jackson.databind.*;
6+
7+
/**
8+
* Failing tests for [databind#749]: problems using (or not) of `toString()` for Enum keys
9+
* of EnumMap, EnumSet.
10+
*/
11+
public class EnumMap749Test
12+
extends BaseMapTest
13+
{
14+
protected static enum LC749Enum {
15+
A, B, C;
16+
private LC749Enum() { }
17+
@Override
18+
public String toString() { return name().toLowerCase(); }
19+
}
20+
21+
/*
22+
/**********************************************************
23+
/* Tests
24+
/**********************************************************
25+
*/
26+
27+
// [databind#749]
28+
29+
public void testEnumMapSerDefault() throws Exception {
30+
final ObjectMapper mapper = new ObjectMapper();
31+
EnumMap<LC749Enum, String> m = new EnumMap<LC749Enum, String>(LC749Enum.class);
32+
m.put(LC749Enum.A, "value");
33+
assertEquals("{\"A\":\"value\"}", mapper.writeValueAsString(m));
34+
}
35+
36+
public void testEnumMapSerDisableToString() throws Exception {
37+
final ObjectMapper mapper = new ObjectMapper();
38+
ObjectWriter w = mapper.writer().without(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
39+
EnumMap<LC749Enum, String> m = new EnumMap<LC749Enum, String>(LC749Enum.class);
40+
m.put(LC749Enum.A, "value");
41+
assertEquals("{\"A\":\"value\"}", w.writeValueAsString(m));
42+
}
43+
44+
public void testEnumMapSerEnableToString() throws Exception {
45+
final ObjectMapper mapper = new ObjectMapper();
46+
ObjectWriter w = mapper.writer().with(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
47+
EnumMap<LC749Enum, String> m = new EnumMap<LC749Enum, String>(LC749Enum.class);
48+
m.put(LC749Enum.A, "value");
49+
assertEquals("{\"a\":\"value\"}", w.writeValueAsString(m));
50+
}
51+
}

0 commit comments

Comments
 (0)