@@ -0,0 +1,1149 @@
+package replicant;%0A%0Aimport org.realityforge.guiceyloops.shared.ValueUtil;%0Aimport org.testng.annotations.Test;%0Aimport static org.testng.Assert.*;%0A%0Apublic class ChannelActionTest%0A  extends AbstractReplicantTest%0A%7B%0A  @Test%0A  public void construct()%0A  %7B%0A    final ChannelAction action = ChannelAction.create( 1, 2, ChannelAction.Action.ADD, null );%0A%0A    assertEquals( action.getChannelId(), 1 );%0A    assertEquals( action.hasSubChannelId(), true );%0A    assertEquals( action.getSubChannelId(), 2 );%0A    assertEquals( action.getAction(), ChannelAction.Action.ADD );%0A    assertEquals( action.getChannelFilter(), null );%0A  %7D%0A%0A  @SuppressWarnings( %22ResultOfMethodCallIgnored%22 )%0A  @Test%0A  public void construct_withoutSubchannelId()%0A  %7B%0A    final Object filter = ValueUtil.randomString();%0A    final ChannelAction action = ChannelAction.create( 1, ChannelAction.Action.REMOVE, filter );%0A%0A    assertEquals( action.getChannelId(), 1 );%0A    assertEquals( action.hasSubChannelId(), false );%0A    assertThrows( action::getSubChannelId );%0A    assertEquals( action.getAction(), ChannelAction.Action.REMOVE );%0A    assertEquals( action.getChannelFilter(), filter );%0A  %7D%0A%7D%0A

Add some minimal tests