### Question:
AisPositionB implements AisPosition, HasCommunications { static Double extractLongitude(AisExtractor extractor) { int val = extractor.getSignedValue(57, 85); if (val == LONGITUDE_NOT_AVAILABLE) { return null; } else { Util.checkLong(val / 600000.0); return val / 600000.0; } } AisPositionB(String message, String source, int padBits);  AisPositionB(String message, int padBits);  AisPositionB(AisExtractorFactory factory, String message, String source, int padBits); @Override int getMessageId(); @Override int getRepeatIndicator(); @Override int getMmsi(); int getSpare(); @Override Double getSpeedOverGroundKnots(); @Override boolean isHighAccuracyPosition(); @Override Double getLongitude(); @Override Double getLatitude(); @Override Double getCourseOverGround(); @Override Integer getTrueHeading(); @Override int getTimeSecondsOnly(); int getSpare2(); boolean isSotdmaUnit(); boolean isEquippedWithIntegratedDisplayForMessages12And14(); boolean isEquippedWithDscFunction(); boolean canOperateOverWholeMarineBand(); boolean canManageFrequenciesViaMessage22(); boolean isStationOperatingInAssignedMode(); @Override boolean isUsingRAIM(); boolean isITDMACommunicationState(); @Override Communications getCommunications(); @Override String getSource(); @Override String toString();  }### Answer:
@Test public void testExtractLongitude() { AisExtractor ex = createMock(AisExtractor.class); expect(ex.getSignedValue(anyInt(), anyInt())).andReturn(108600000).atLeastOnce(); replay(ex); Double longitude = AisPositionB.extractLongitude(ex); assertEquals(null, longitude); }