package com.cardshifter.server.messages;
import static org.junit.Assert.*;
import java.io.ByteArrayInputStream;
import java.util.Arrays;
import com.cardshifter.api.LogInterface;
import com.cardshifter.api.incoming.ServerQueryMessage;
import com.cardshifter.core.Log4jAdapter;
import net.zomis.cardshifter.ecs.usage.CardshifterIO;
import org.junit.Test;
import com.cardshifter.api.incoming.LoginMessage;
import com.cardshifter.api.messages.Message;
import com.cardshifter.api.serial.ByteTransformer;
public class ByteSerializeTest {
private final LogInterface logger = new Log4jAdapter();
@Test
public void testName() throws Exception {
ByteTransformer transformer = createTransformer();
byte[] result = transformer.transform(new LoginMessage("BUBU"));
System.out.println(Arrays.toString(result));
assertArrayEquals(new byte[]{ 0, 0, 0, 26, 0, 0, 0, 5, 0, 108, 0, 111, 0, 103, 0, 105, 0, 110, 0, 0, 0, 4, 0, 66, 0, 85, 0, 66, 0, 85 }, result);
Message message = transformer.readOnce(new ByteArrayInputStream(result));
assertTrue(message instanceof LoginMessage);
assertEquals("BUBU", ((LoginMessage) message).getUsername());
}
private ByteTransformer createTransformer() {
return CardshifterIO.createByteTransformer();
}
@Test
public void testEnum() throws Exception {
ByteTransformer transformer = createTransformer();
byte[] result = transformer.transform(new ServerQueryMessage(ServerQueryMessage.Request.USERS));
System.out.println(Arrays.toString(result));
// assertArrayEquals(new byte[]{ 0, 0, 0, 26, 0, 0, 0, 5, 0, 108, 0, 111, 0, 103, 0, 105, 0, 110, 0, 0, 0, 4, 0, 66, 0, 85, 0, 66, 0, 85 }, result);
Message message = transformer.readOnce(new ByteArrayInputStream(result));
assertTrue(message instanceof ServerQueryMessage);
assertEquals(ServerQueryMessage.Request.USERS, ((ServerQueryMessage) message).getRequest());
}
}