@@ -0,0 +1,2448 @@
+package replicant.spy;%0A%0Aimport arez.Arez;%0Aimport java.util.HashMap;%0Aimport org.realityforge.guiceyloops.shared.ValueUtil;%0Aimport org.realityforge.replicant.client.transport.DataLoadStatus;%0Aimport org.testng.annotations.Test;%0Aimport replicant.AbstractReplicantTest;%0Aimport static org.testng.Assert.*;%0A%0Apublic class DataLoaderMessageProcessEventTest%0A  extends AbstractReplicantTest%0A%7B%0A  @Test%0A  public void basicOperation()%0A  %7B%0A    final int sequence = ValueUtil.randomInt();%0A    final String requestId = ValueUtil.randomString();%0A    final int channelAddCount = ValueUtil.getRandom().nextInt( 10 );%0A    final int channelUpdateCount = ValueUtil.getRandom().nextInt( 10 );%0A    final int channelRemoveCount = ValueUtil.getRandom().nextInt( 10 );%0A    final int entityUpdateCount = ValueUtil.getRandom().nextInt( 100 );%0A    final int entityRemoveCount = ValueUtil.getRandom().nextInt( 100 );%0A    final int entityLinkCount = ValueUtil.getRandom().nextInt( 10 );%0A    final DataLoadStatus dataLoadStatus =%0A      new DataLoadStatus( %22G%22,%0A                          sequence,%0A                          requestId,%0A                          channelAddCount,%0A                          channelUpdateCount,%0A                          channelRemoveCount,%0A                          entityUpdateCount,%0A                          entityRemoveCount,%0A                          entityLinkCount );%0A    final DataLoaderMessageProcessEvent event =%0A      new DataLoaderMessageProcessEvent( G.class, dataLoadStatus );%0A%0A    assertEquals( event.getSystemType(), G.class );%0A    assertEquals( event.getDataLoadStatus(), dataLoadStatus );%0A%0A    final HashMap%3CString, Object%3E data = new HashMap%3C%3E();%0A    Arez.context().safeAction( () -%3E event.toMap( data ) );%0A%0A    assertEquals( data.get( %22type%22 ), %22DataLoader.MessageProcess%22 );%0A    assertEquals( data.get( %22systemType%22 ), %22G%22 );%0A    assertEquals( data.get( %22sequence%22 ), sequence );%0A    assertEquals( data.get( %22requestId%22 ), requestId );%0A    assertEquals( data.get( %22channelAddCount%22 ), channelAddCount );%0A    assertEquals( data.get( %22channelUpdateCount%22 ), channelUpdateCount );%0A    assertEquals( data.get( %22channelRemoveCount%22 ), channelRemoveCount );%0A    assertEquals( data.get( %22entityUpdateCount%22 ), entityUpdateCount );%0A    assertEquals( data.get( %22entityRemoveCount%22 ), entityRemoveCount );%0A    assertEquals( data.get( %22entityLinkCount%22 ), entityLinkCount );%0A    assertEquals( data.size(), 10 );%0A  %7D%0A%0A  enum G%0A  %7B%0A    G1%0A  %7D%0A%7D%0A

Add test for MessageProcess spy event