Я пытаюсь смоделировать этот «десериализатор кода активности» для покрытия кода, и, похоже, он не работает. Этот десериализатор вызывается в построителе GSON остального клиента
public class ActivityCodeDeserializer implements JsonDeserializer<ActivityCode> {
@Override
public ActivityCode deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
return ActivityCode.toSignerActivityCode(jsonElement.getAsInt());
}
}
Этот inturn вызывает enumкласс с кодами и кодом активности
public enum ActivityCode{
UNKNOWN(-1),
INITIATION_SENT(101),
RECEIVED(102),
private static Map<Integer, ActivityCode> values = new HashMap<>();
private int statusCode = -1;
static {
for (ActivityCode signerActivity : values()) {
values.put(signerActivity.value(), signerActivity);
}
}
ActivityCode(int status) {
this.statusCode = status;
}
public int value() {
return statusCode;
}
public static ActivityCode toSignerActivityCode(int statusCode) {
return values.containsKey(statusCode) ? values.get(statusCode) : UNKNOWN;
}
@Override
public String toString() {
return "Activity{" +
"statusCode=" + statusCode +
", name=" + name() +
'}';
}
}