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) ); } }
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)); } }