const int ExpectedPacketLengthA = Packet.headerSize; //Minimum packet data size Packet FakeDataPacketA() { var ackedBits = new AckBitArray(Packet.ackedBitsLength); //Salt is random return(new Packet(0, 0, ackedBits, PacketType.dataReliable, 12345)); }
Packet FakeDataPacketRandom(Random rand) { //Random messages var messages = new MessageExample[rand.Next(0, 30)]; for (int i = 0; i < messages.Length; i++) { messages[i] = new MessageExample(rand.Next(int.MinValue, int.MaxValue), RandomExtensions.RandomString(rand.Next(1, 25), rand)); } //Random Id ushort id = (ushort)rand.Next(0, ushort.MaxValue); ushort ackId = (ushort)rand.Next(0, ushort.MaxValue); //Random ackedBits var buffer = new byte[Packet.ackedBytesLength]; rand.NextBytes(buffer); var ackedBits = new AckBitArray(buffer); //Random ulong for salt var buf = new byte[8]; rand.NextBytes(buf); var salt = (ulong)BitConverter.ToInt64(buf, 0); return(new Packet(id, ackId, ackedBits, PacketType.dataUnreliable, salt, messages, byte.MaxValue)); }
public void LeftShiftTest() { AckBitArray a = new AckBitArray(2, 0xFA74); long validate = 0xA740; bool[] overflows = a << 4; Assert.IsTrue(a.ToLong() == validate); }
public void RightShiftTest() { AckBitArray a = new AckBitArray(2, 0xFA74); long validate = 0x0FA7; bool[] overflows = a >> 4; Assert.IsTrue(a.ToLong() == validate); }
public void Set_Bit_SetsCorrectBit() { AckBitArray a = new AckBitArray(2, 0xFF00); long validate = 0x7E38; a[3] = true; a[4] = true; a[5] = true; a[8] = false; a[15] = false; Assert.IsTrue(a == validate); }
Packet FakeDataPacketB() { //Engineered to take up all byte space List <Message> data = new List <Message>(); int lengthTotal = 0; MessageExample m = new MessageExample(0, "Test12"); //17 byte message for 17*59 = 1003 max size while (lengthTotal < PacketManager._maxPacketDataBytes) { data.Add(m); lengthTotal += m.Length; } var ackedBits = new AckBitArray(Packet.ackedBitsLength, 0xFFFFFFFFFFFFFFFF); return(new Packet(ushort.MaxValue, ushort.MaxValue, ackedBits, PacketType.dataUnreliable, ulong.MaxValue, data.ToArray(), byte.MaxValue)); }
public void Get_Bit_ReturnsCorrectBool() { AckBitArray a = new AckBitArray(2, 0x7E18); Assert.IsFalse(a[0]); Assert.IsFalse(a[1]); Assert.IsFalse(a[2]); Assert.IsTrue(a[3]); Assert.IsTrue(a[4]); Assert.IsFalse(a[5]); Assert.IsFalse(a[6]); Assert.IsFalse(a[7]); Assert.IsFalse(a[8]); Assert.IsTrue(a[9]); Assert.IsTrue(a[10]); Assert.IsTrue(a[11]); Assert.IsTrue(a[12]); Assert.IsTrue(a[13]); Assert.IsTrue(a[14]); Assert.IsFalse(a[15]); }
Packet FakeEmptyPacket(PacketType type) { var ackedBits = new AckBitArray(Packet.ackedBitsLength, 0xFFFFFFFFFFFFFFFF); return(new Packet(0, 0, ackedBits, type, 1)); }