AbstractEnumDeserializer.java

1
package pl.zankowski.iextrading4j.client.mapper;
2
3
import com.fasterxml.jackson.core.JsonParser;
4
import com.fasterxml.jackson.databind.DeserializationContext;
5
import com.fasterxml.jackson.databind.JsonDeserializer;
6
import com.google.common.collect.BiMap;
7
8
import java.io.IOException;
9
10
public abstract class AbstractEnumDeserializer<T> extends JsonDeserializer<T> {
11
12
    private final BiMap<String, T> MAPPER;
13
    private final T UNKNOWN;
14
15
    AbstractEnumDeserializer(final BiMap<String, T> MAPPER, T UNKNOWN) {
16
        this.MAPPER = MAPPER;
17
        this.UNKNOWN = UNKNOWN;
18
    }
19
20
    @Override
21
    public T deserialize(final JsonParser parser, final DeserializationContext ctxt) throws IOException {
22
        final String value = parser.getValueAsString();
23 1 1. deserialize : negated conditional → KILLED
        if (value == null) {
24 1 1. deserialize : replaced return value with null for pl/zankowski/iextrading4j/client/mapper/AbstractEnumDeserializer::deserialize → KILLED
            return UNKNOWN;
25
        }
26
27
        final T enumInstance = MAPPER.get(value);
28 1 1. deserialize : negated conditional → KILLED
        if (enumInstance == null) {
29 1 1. deserialize : replaced return value with null for pl/zankowski/iextrading4j/client/mapper/AbstractEnumDeserializer::deserialize → NO_COVERAGE
            return UNKNOWN;
30
        }
31 1 1. deserialize : replaced return value with null for pl/zankowski/iextrading4j/client/mapper/AbstractEnumDeserializer::deserialize → KILLED
        return enumInstance;
32
    }
33
}

Mutations

23

1.1
Location : deserialize
Killed by : pl.zankowski.iextrading4j.client.mapper.CryptoEventReasonDeserializerTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.mapper.CryptoEventReasonDeserializerTest]/[method:shouldCreateEnumBasedOnValue()]
negated conditional → KILLED

24

1.1
Location : deserialize
Killed by : pl.zankowski.iextrading4j.client.mapper.DividendTypeDeserializerTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.mapper.DividendTypeDeserializerTest]/[method:shouldReturnUnknownTypeIfValueIsNull()]
replaced return value with null for pl/zankowski/iextrading4j/client/mapper/AbstractEnumDeserializer::deserialize → KILLED

28

1.1
Location : deserialize
Killed by : pl.zankowski.iextrading4j.client.mapper.CryptoEventReasonDeserializerTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.mapper.CryptoEventReasonDeserializerTest]/[method:shouldCreateEnumBasedOnValue()]
negated conditional → KILLED

29

1.1
Location : deserialize
Killed by : none
replaced return value with null for pl/zankowski/iextrading4j/client/mapper/AbstractEnumDeserializer::deserialize → NO_COVERAGE

31

1.1
Location : deserialize
Killed by : pl.zankowski.iextrading4j.client.mapper.CryptoEventReasonDeserializerTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.mapper.CryptoEventReasonDeserializerTest]/[method:shouldCreateEnumBasedOnValue()]
replaced return value with null for pl/zankowski/iextrading4j/client/mapper/AbstractEnumDeserializer::deserialize → KILLED

Active mutators

Tests examined


Report generated by PIT 1.7.1