Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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;
            }
        }
Ejemplo n.º 5
0
 public void SetUp()
 {
     mUnderTest = new AdditiveCounter();
 }