@Test
	public void testUpdatePassingInfo()
	{
		final Competitor competitor = getCompetitor();

		String[] tokens = {
			"$J", "1234BE", "01:12:47.872", "01:12:47.872"
		};

		PassingInfo message = new PassingInfo(tokens);

		competitor.addPropertyChangeListener(new PropertyChangeListener() {

			@Override
			public void propertyChange(PropertyChangeEvent evt)
			{
				if ("lastLap".equals(evt.getPropertyName())) {
					lastLapFired = true;
					assertEquals(new Duration("01:12:47.872"), evt.getNewValue());
					assertEquals(new Duration("01:12:47.872"), competitor.getLastLap());
				}

				if ("totalTime".equals(evt.getPropertyName())) {
					totalTimeFired = true;
					assertEquals(new Duration("01:12:47.872"), evt.getNewValue());
					assertEquals(new Duration("01:12:47.872"), competitor.getTotalTime());
				}
			}
		});

		Competitor.updateOrCreate(message);

		assertTrue(lastLapFired);
		assertTrue(totalTimeFired);
	}