public void SetUp() { mParenthesesCounter = new ParenthesesCounter(); mAdditiveCounter = new AdditiveCounter(); mTreeDepthCounter = new TreeDepthCounter(); mExpressionCounter = new ExpressionCounter(); mTreeDepthSetter = new TreeDepthSetter(); mUnderTest = new AggregateEvaluator(mParenthesesCounter, mAdditiveCounter, mTreeDepthCounter, mExpressionCounter, mTreeDepthSetter); }
public void ShouldAlwaysOfferExactly128Bits(string hex) { var firstValue = new BitString(hex); var subject = new AdditiveCounter(_aesEngine, firstValue); for (var i = 0; i < 1000; i++) { Assert.AreEqual(128, subject.GetNextIV().BitLength); } }
public void ShouldWrapTheCounterWhenAtMaxValue() { var initialValue = BitString.Ones(128); var subject = new AdditiveCounter(_aesEngine, initialValue); var firstResult = subject.GetNextIV(); var secondResult = subject.GetNextIV(); var thirdResult = subject.GetNextIV(); Assert.AreEqual(initialValue, firstResult); Assert.AreEqual(BitString.Zeroes(128), secondResult); Assert.AreEqual(BitString.ConcatenateBits(BitString.Zeroes(127), BitString.One()), thirdResult); }
public void ShouldIncreaseByOneEachCall() { var subject = new AdditiveCounter(_aesEngine, BitString.Zero()); var prevResult = subject.GetNextIV().ToPositiveBigInteger(); for (var i = 0; i < 1000; i++) { var curResult = subject.GetNextIV().ToPositiveBigInteger(); Assert.AreEqual(prevResult + 1, curResult); prevResult = curResult; } }
public void SetUp() { mUnderTest = new AdditiveCounter(); }