mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-21 21:25:38 +00:00
bug5347: added failing test and fix for serialization/deserialization of null implied wind source
This commit is contained in:
+51
@@ -0,0 +1,51 @@
|
||||
package com.sap.sailing.server.gateway.serialization.test.racelog;
|
||||
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.orc.RaceLogORCImpliedWindSourceEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.server.gateway.deserialization.JsonDeserializationException;
|
||||
import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogORCImpliedWindSourceEventDeserializer;
|
||||
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.racelog.impl.ImpliedWindSourceSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.racelog.impl.RaceLogORCImpliedWindSourceEventSerializer;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
public class ORCSetImpliedWindSourceEventSerializerTest extends AbstractEventSerializerTest<RaceLogORCImpliedWindSourceEvent> {
|
||||
|
||||
private final long expectedStartTimeTimestamp = 2013;
|
||||
|
||||
@Override
|
||||
protected RaceLogORCImpliedWindSourceEvent createMockEvent() {
|
||||
TimePoint startTime = mock(TimePoint.class);
|
||||
when(startTime.asMillis()).thenReturn(expectedStartTimeTimestamp);
|
||||
RaceLogORCImpliedWindSourceEvent event = mock(RaceLogORCImpliedWindSourceEvent.class);
|
||||
when(event.getImpliedWindSource()).thenReturn(null);
|
||||
return event;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JsonSerializer<RaceLogEvent> createSerializer(JsonSerializer<Competitor> competitorSerializer) {
|
||||
return new RaceLogORCImpliedWindSourceEventSerializer(competitorSerializer);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNullImpliedWindSourceAttribute() {
|
||||
final JSONObject json = serializer.serialize(event);
|
||||
assertNull(((JSONObject) json.get(RaceLogORCImpliedWindSourceEventSerializer.ORC_IMPLIED_WIND_SOURCE))
|
||||
.get(ImpliedWindSourceSerializer.ORC_IMPLIED_WIND_SOURCE_TYPE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNullImpliedWindSourceDeserialization() throws JsonDeserializationException {
|
||||
final JSONObject json = serializer.serialize(event);
|
||||
final RaceLogEvent result = new RaceLogORCImpliedWindSourceEventDeserializer(null).deserialize(json);
|
||||
assertNull(((RaceLogORCImpliedWindSourceEvent) result).getImpliedWindSource());
|
||||
}
|
||||
}
|
||||
+8
@@ -10,6 +10,7 @@ import org.junit.Test;
|
||||
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor;
|
||||
import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl;
|
||||
import com.sap.sailing.domain.abstractlog.orc.impl.RaceLogORCImpliedWindSourceEventImpl;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.impl.RaceLogCourseDesignChangedEventImpl;
|
||||
import com.sap.sailing.domain.abstractlog.race.impl.RaceLogFinishPositioningConfirmedEventImpl;
|
||||
@@ -149,6 +150,13 @@ public class RaceLogEventSerializerTest {
|
||||
serializer.serialize(event);
|
||||
verify(raceStatusSerializer).serialize(event);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNullImpliedWindSourceSerializer() {
|
||||
RaceLogEvent event = new RaceLogORCImpliedWindSourceEventImpl(null, null, author, null, 0, null);
|
||||
serializer.serialize(event);
|
||||
verify(orcSetImpliedWindEventSerializer).serialize(event);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testChoosesPassChangedSerializer() {
|
||||
|
||||
-2
@@ -9,7 +9,6 @@ import com.sap.sailing.server.gateway.serialization.JsonSerializer;
|
||||
import com.sap.sailing.server.gateway.serialization.racelog.impl.RaceLogPassChangeEventSerializer;
|
||||
|
||||
public class RaceLogPassChangeEventSerializerTest extends AbstractEventSerializerTest<RaceLogPassChangeEvent> {
|
||||
|
||||
@Override
|
||||
protected RaceLogPassChangeEvent createMockEvent() {
|
||||
RaceLogPassChangeEvent event = mock(RaceLogPassChangeEvent.class);
|
||||
@@ -20,5 +19,4 @@ public class RaceLogPassChangeEventSerializerTest extends AbstractEventSerialize
|
||||
protected JsonSerializer<RaceLogEvent> createSerializer(JsonSerializer<Competitor> competitorSerializer) {
|
||||
return new RaceLogPassChangeEventSerializer(competitorSerializer);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user