def test_zero(self):
        mock_listener = MockListener(self)
        invalid_counter = InvalidCounterListener()

        attitude_provider = AttitudeProvider()

        attitude_provider.registerListener(mock_listener)
        attitude_provider.registerListener(invalid_counter)

        # give the sensor time to collect values
        time.sleep(0.05)

        attitude_provider.update()

        self.assertEqual(mock_listener.numUpdates, 1)
        self.assertGreater(mock_listener.sumDeltas, 0.05)

        # give the sensor time to collect values
        time.sleep(0.05)

        attitude_provider.update()

        self.assertEqual(mock_listener.numUpdates, 2)
        self.assertGreater(mock_listener.sumDeltas, 0.1)

        # check that all data is present
        self.assertEqual(invalid_counter.accelInvalidCounter, 0)
        self.assertEqual(invalid_counter.gyroInvalidCounter, 0)
        self.assertEqual(invalid_counter.compassInvalidCounter, 0)
        self.assertEqual(invalid_counter.fusionPoseInvalidCounter, 0)