package com.jenjinstudios.world.client.message;
import com.jenjinstudios.core.io.Message;
import com.jenjinstudios.core.io.MessageRegistry;
import com.jenjinstudios.world.World;
import com.jenjinstudios.world.client.WorldClient;
import com.jenjinstudios.world.collections.WorldObjectList;
import org.testng.annotations.Test;
import static org.mockito.Mockito.*;
/**
* @author Caleb Brinkman
*/
public class ExecutableObjectVisibleMessageTest
{
@Test
public void testMessageExecution() throws Exception {
MessageRegistry messageRegistry = MessageRegistry.getInstance();
Message actorVisibleMessage = messageRegistry.createMessage("ObjectVisibleMessage");
actorVisibleMessage.setArgument("name", "a1b2c3d4e5f6890");
actorVisibleMessage.setArgument("id", 100);
actorVisibleMessage.setArgument("resourceID", 100);
actorVisibleMessage.setArgument("xCoordinate", 1.0);
actorVisibleMessage.setArgument("yCoordinate", 1.0);
WorldClient worldClient = mock(WorldClient.class);
World world = mock(World.class);
WorldObjectList worldObjectMap = mock(WorldObjectList.class);
when(world.getWorldObjects()).thenReturn(worldObjectMap);
when(worldClient.getWorld()).thenReturn(world);
ExecutableObjectVisibleMessage message = new ExecutableObjectVisibleMessage(worldClient, actorVisibleMessage);
message.runImmediate();
message.runDelayed();
verify(worldObjectMap).set(eq(100), any());
}
}