You've already forked lidgren-network-gen3
mirror of
https://github.com/lidgren/lidgren-network-gen3.git
synced 2026-05-06 10:21:09 +09:00
71 lines
1.7 KiB
C#
71 lines
1.7 KiB
C#
using System;
|
|
using Lidgren.Network;
|
|
|
|
namespace UnitTests
|
|
{
|
|
public static class BitVectorTests
|
|
{
|
|
public static void Run()
|
|
{
|
|
NetBitVector v = new NetBitVector(256);
|
|
for (int i = 0; i < 256; i++)
|
|
{
|
|
v.Clear();
|
|
if (i > 42 && i < 65)
|
|
v = new NetBitVector(256);
|
|
|
|
if (!v.IsEmpty())
|
|
throw new NetException("bit vector fail 1");
|
|
|
|
v.Set(i, true);
|
|
|
|
if (v.Get(i) == false)
|
|
throw new NetException("bit vector fail 2");
|
|
|
|
if (v.IsEmpty())
|
|
throw new NetException("bit vector fail 3");
|
|
|
|
if (i != 79 && v.Get(79) == true)
|
|
throw new NetException("bit vector fail 4");
|
|
|
|
int f = v.GetFirstSetIndex();
|
|
if (f != i)
|
|
throw new NetException("bit vector fail 4");
|
|
}
|
|
|
|
/*
|
|
v = new NetBitVector(9);
|
|
v.Clear();
|
|
v.Set(3, true);
|
|
if (v.ToString() != "[000001000]")
|
|
throw new NetException("NetBitVector.RotateDown failed");
|
|
v.RotateDown();
|
|
if (v.Get(3) == true || v.Get(2) == false || v.Get(4) == true)
|
|
throw new NetException("NetBitVector.RotateDown failed 2");
|
|
if (v.ToString() != "[000000100]")
|
|
throw new NetException("NetBitVector.RotateDown failed 3");
|
|
|
|
v.Set(0, true);
|
|
v.RotateDown();
|
|
if (v.ToString() != "[100000010]")
|
|
throw new NetException("NetBitVector.RotateDown failed 4");
|
|
|
|
v = new NetBitVector(38);
|
|
v.Set(0, true);
|
|
v.Set(1, true);
|
|
v.Set(31, true);
|
|
|
|
if (v.ToString() != "[00000010000000000000000000000000000011]")
|
|
throw new NetException("NetBitVector.RotateDown failed 5");
|
|
|
|
v.RotateDown();
|
|
|
|
if (v.ToString() != "[10000001000000000000000000000000000001]")
|
|
throw new NetException("NetBitVector.RotateDown failed 5");
|
|
*/
|
|
|
|
Console.WriteLine("NetBitVector tests OK");
|
|
}
|
|
}
|
|
}
|