示例#1
0
        public void ContainsOneOrMore()
        {
            var fmask1 = new FeatureMask(100);
            var fmask2 = new FeatureMask(100);

            Assert.IsFalse(fmask1.ContainsOneOrMore(fmask2));

            fmask1[45] = true;
            fmask2[75] = true;
            Assert.IsFalse(fmask1.ContainsOneOrMore(fmask2));

            fmask1[75] = true;
            fmask2[45] = true;
            Assert.IsTrue(fmask1.ContainsOneOrMore(fmask2));

            fmask1[45] = false;
            Assert.IsTrue(fmask1.ContainsOneOrMore(fmask2));

            fmask1.Clear();
            fmask2.Clear();
            Assert.IsFalse(fmask1.ContainsOneOrMore(fmask2));

            // Overlap by one bit.
            for (int i = 60; i <= 64; i++)
            {
                fmask1[i] = true;
            }

            for (int i = 64; i < 70; i++)
            {
                fmask2[i] = true;
            }

            Assert.IsTrue(fmask1.ContainsOneOrMore(fmask2));
        }
示例#2
0
        public void Clear()
        {
            var fmask = new FeatureMask(256);

            Assert.IsFalse(fmask.IsAnyBitSet);

            fmask[60]  = true;
            fmask[120] = true;
            fmask[200] = true;
            fmask[250] = true;
            Assert.IsTrue(fmask.IsAnyBitSet);
            Assert.IsFalse(fmask.IsEmpty);

            fmask.Clear();
            Assert.IsFalse(fmask.IsAnyBitSet);
            Assert.IsFalse(fmask.IsEmpty);
        }