public void TestSetTrueBitInArray()
        {
            const int arrayLength = 12;

            for (var i = 0; i < arrayLength; i++)
            {
                System.Diagnostics.Debug.WriteLine
                (
                    BitArrayUtils.SetTrueBitInArray(i, arrayLength).ToTabString()
                );
            }
        }
        public void TestAllBitSetsOfLength()
        {
            const int testLen = 8;

            foreach (var bitArray in BitArrayUtils.AllBitSetsOfLength(testLen))
            {
                System.Diagnostics.Debug.WriteLine(
                    bitArray.Aggregate
                    (
                        "",
                        (s, bv) => s + (string.IsNullOrEmpty(s) ? string.Empty : ", ") + bv)
                    );
            }
        }
Esempio n. 3
0
        public void TestBitArraySwitchSetFunctionsSwitchTheRightIndexes()
        {
            var keyCount          = 64;
            var bitArraySwitchSet = KeyPairSwitchSet.Make <bool[]>(keyCount);

            var keyPairs = KeyPairRepository.KeyPairsForKeyCount(keyCount).ToList();

            foreach (var keyPair in keyPairs)
            {
                var preSwitch  = BitArrayUtils.SetTrueBitInArray(keyPair.LowKey, keyCount);
                var postSwitch = BitArrayUtils.SetTrueBitInArray(keyPair.HiKey, keyCount);

                var switchResult = bitArraySwitchSet.SwitchFunction(keyPair)(preSwitch);
                Assert.IsTrue(switchResult.Item2);
                Assert.AreEqual(0, postSwitch.CompareDict(switchResult.Item1));

                Assert.IsNotNull(bitArraySwitchSet.SwitchFunction(keyPair));
            }
        }