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();
        }
Exemple #2
0
        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));
        }