private void btnDone_Click(object sender, EventArgs e) { for (int i = 0; i < 8; i++) { flags.SetBit(i, chkFlags[i].Checked); } inTransitionTime = byte.Parse(txtInTransitionTime.Text); status = DialogResult.OK; this.Close(); }
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)); }