'If the current sentence does not contain any new fields for a
particular callback, that callback is not called; even if all
necessary information is still in the state from one or more
previous messages.'

def test_onlyFireWhenCurrentSentenceHasNewInformation(self):

    self.protocol.lineReceived(GPGGA)
    gpggaCallbacks = set(['positionReceived', 'positionErrorReceived', 'altitudeReceived'])
    self.assertEqual(set(self.receiver.called.keys()), gpggaCallbacks)
    self.receiver.clear()
    self.assertNotEqual(self.adapter._state, {})
    self.protocol.lineReceived(GPHDT)
    gphdtCallbacks = set(['headingReceived'])
    self.assertEqual(set(self.receiver.called.keys()), gphdtCallbacks)
