package tv.dyndns.kishibe.qmaclone.server;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import tv.dyndns.kishibe.qmaclone.client.packet.PacketChatMessage;
import tv.dyndns.kishibe.qmaclone.client.packet.PacketChatMessages;
import tv.dyndns.kishibe.qmaclone.server.testing.QMACloneTestEnv;
import com.google.guiceberry.junit4.GuiceBerryRule;
import com.google.inject.Inject;
@RunWith(JUnit4.class)
public class ChatManagerTest {
@Rule
public final GuiceBerryRule rule = new GuiceBerryRule(QMACloneTestEnv.class);
@Inject
private ChatManager manager;
@Test
public void testWriteRead() {
PacketChatMessage expected = new PacketChatMessage();
expected.body = "body";
expected.classLevel = 123;
expected.date = 123456789L;
expected.imageFileName = "image.jpg";
expected.name = "name";
expected.remoteAddress = "remote address";
expected.resId = 123;
expected.userCode = 12345678;
manager.write(expected, expected.remoteAddress);
PacketChatMessages list = manager.read(0);
PacketChatMessage actual = list.list.get(list.list.size() - 1);
assertEquals(expected.body, actual.body);
assertEquals(expected.classLevel, actual.classLevel);
assertEquals(expected.date, actual.date);
assertEquals(expected.imageFileName, actual.imageFileName);
assertEquals(expected.name, actual.name);
assertEquals(expected.remoteAddress, actual.remoteAddress);
assertEquals(expected.resId, actual.resId);
assertEquals(expected.userCode, actual.userCode);
}
@Test
public void testGetChatMessagesWebSocketSessions() {
assertNotNull(manager.getChatMessagesMessageSender());
}
// TODO(nodchip): Write tests for write().
}