// --------------------------------------------------- \\ // ------------------Form Methods--------------------- \\ // --------------------------------------------------- \\ private void FormAnimationFlags_Load(object sender, EventArgs e) { Setup(); txtInTransitionTime.Text = inTransitionTime.ToString(); for (int i = 0; i < 8; i++) { chkFlags[i].Checked = flags.GetBit(i); } }
public void Bitset_Test() { //位 7654 3210 //值 1001 1010 ulong value = 2147483802; //2147483802 10000000000000000000000010011010 Assert.AreEqual(false, Bitset.GetBit(value, 0)); Assert.AreEqual(true, Bitset.GetBit(value, 1)); Assert.AreEqual(true, Bitset.GetBit(value, 4)); Assert.AreEqual(true, Bitset.GetBit(value, 7)); //index out of range Assert.AreEqual(false, Bitset.GetBit(value, 63)); Assert.AreEqual(false, Bitset.GetBit(value, 64)); Assert.AreEqual(false, Bitset.GetBit(value, 255)); //set Bitset.SetBit(ref value, 5);// 2147483834 10000000000000000000000010111010 Assert.IsTrue(value == 2147483834); Assert.AreEqual(true, Bitset.GetBit(value, 5)); //clear Bitset.ClearBit(ref value, 5); Assert.IsTrue(value == 2147483802); Assert.AreEqual(false, Bitset.GetBit(value, 5)); //obj Bitset bb = new Bitset(2147483802); Assert.AreEqual(false, bb.GetBit(0)); Assert.AreEqual(true, bb.GetBit(1)); Assert.AreEqual(true, bb.GetBit(4)); Assert.AreEqual(true, bb.GetBit(7)); //index out of range Assert.AreEqual(false, bb.GetBit(63)); Assert.AreEqual(false, bb.GetBit(64)); Assert.AreEqual(false, bb.GetBit(255)); //set bb.SetBit(5);// 2147483834 10000000000000000000000010111010 Assert.IsTrue(bb.Value == 2147483834); Assert.AreEqual(true, bb.GetBit(5)); //clear bb.ClearBit(5); Assert.IsTrue(bb.Value == 2147483802); Assert.AreEqual(false, bb.GetBit(5)); }