public void Ext_ULongN_Get_Exc_LessThan2Bits_Loopback() { BVector d = new BVector(); d.Add((ulong?)0, 32); d.GetULongN(1); }
public void Ext_ULongN_Get_Exc_MoreThan32Bits_Loopback() { BVector d = new BVector(); d.Add((ulong?)0, 32); d.GetULongN(65); }
public void Ext_ULongN_AddGet_BitsMinMax_InOut() { int maxBits = 64; BVector d = new BVector(); ulong? value; ulong? val; ulong? expected; ulong? nullVal = (ulong?)null; const ulong maxVal = ulong.MaxValue; byte bits; // add min and max values for 2-32 bits for (int i = 0; i < (maxBits - 1); i++) { bits = (byte)(maxBits - i); value = maxVal >> i; // add max d.Add(value, bits); // add null d.Add(nullVal, bits); } // add min and max values for 2-32 bits seperated by 1 bit d.Add1(false); for (int i = 0; i < (maxBits - 1); i++) { bits = (byte)(maxBits - i); value = maxVal >> i; // add max d.Add(value, bits); d.Add1(false); // add null d.Add(nullVal, bits); d.Add1(false); } BVector d2 = new BVector(d.ToBytes()); // get min and max values for 2-32 bits for (int i = 0; i < (maxBits - 1); i++) { bits = (byte)(maxBits - i); // get max expected = maxVal >> i; val = d2.GetULongN(bits); Assert.AreEqual(expected, val); // get null expected = nullVal; val = d2.GetULongN(bits); Assert.AreEqual(expected, val); } // get min and max values for 2-32 bits seperated by 1 bit Assert.AreEqual(false, d2.Get1()); for (int i = 0; i < (maxBits - 1); i++) { bits = (byte)(maxBits - i); // get max expected = maxVal >> i; val = d2.GetULongN(bits); Assert.AreEqual(expected, val); Assert.AreEqual(false, d2.Get1()); // get null expected = nullVal; val = d2.GetULongN(bits); Assert.AreEqual(expected, val); Assert.AreEqual(false, d2.Get1()); } }