public void AddRangeTest_BitsArray() { var initialCount = 5; var rangeCount = 10; BitList target = new BitList(initialCount, true); var bitsArray = new ulong[] { 0 }; target.AddRange(bitsArray, rangeCount); var totalCount = initialCount + rangeCount; Assert.AreEqual(totalCount, target.Count); var i = 0; for (; i < initialCount; ++i) { var bit = target[i]; Assert.AreNotEqual(0, bit); } for (; i < totalCount; ++i) { var bit = target[i]; Assert.AreEqual(0, bit); } }
public void ShouldAddRangeBits() { var bits = new BitList(this.hexData); bits.AddRange(new List <bool>() { true, true, false }); Assert.That(bits.Count, Is.EqualTo(19)); }
/// <summary> /// Create a truth table of a given length /// e.g. if length == 2 the output would be as following /// | a | b | /// | 0 | 0 | /// | 0 | 1 | /// | 1 | 0 | /// | 1 | 1 | /// </summary> /// <param name="length"></param> /// <returns></returns> private IEnumerable <BitList> GenerateCombinations(int length) { var output = new List <BitList>(); var numberOfCombinations = (int)Math.Pow(2, length); for (var bitList = new BitList(); bitList < numberOfCombinations; bitList++) { if (bitList.Count != length) { var paddingNeeded = length - bitList.Count; bitList.AddRange(paddingNeeded.BitListOfLength()); } output.Add(bitList); } return(output); }
public void AddRangeTest_BitList() { var initialCount = 5; var rangeCount = 10; BitList target = new BitList(initialCount, true); BitList range = new BitList(rangeCount, false); var totalCount = initialCount + rangeCount; target.AddRange(range); Assert.AreEqual(totalCount, target.Count); var i = 0; for (; i < initialCount; ++i) { var bit = target[i]; Assert.AreNotEqual(0, bit); } for (; i < totalCount; ++i) { var bit = target[i]; Assert.AreEqual(0, bit); } }