public void TooLargeValue() { var target = new ModuloArithmetic(3) { Value = 3 }; }
public override void Add(TElement element) { if (CurrentIndex.Next != TopIndex) { RemoveAfter(CurrentIndex.Next); } base.Add(element); CurrentIndex = BottomIndex; }
public void Increment() { var target = new ModuloArithmetic(3); Assert.AreEqual(1, (++target).Value); Assert.AreEqual(1, target.Value); Assert.AreEqual(1, (target++).Value); Assert.AreEqual(2, target.Value); target.MoveNext(); Assert.AreEqual(0, target.Value); }
public void Decrement() { var target = new ModuloArithmetic(4) { Value = 2 }; Assert.AreEqual(2, (target--).Value); Assert.AreEqual(0, (--target).Value); target.MovePrevious(); Assert.AreEqual(3, target.Value); }
public bool GoBackward() { if (!CanGoBackward) { return(false); } if (CurrentIndex == TopIndex) { CurrentIndex = CurrentIndex.InvalidItem; } else { CurrentIndex--; } return(true); }
public void Construct() { var target = new ModuloArithmetic(3); Assert.IsTrue(target.IsValid); Assert.AreEqual(3, target.Divisor); Assert.AreEqual(0, target.Value); Assert.AreEqual(new ModuloArithmetic(3), target); Assert.IsTrue(new ModuloArithmetic(5) == target); Assert.IsTrue(target == 0); Assert.IsTrue(0 == target); Assert.IsFalse(new ModuloArithmetic(3) != target); Assert.IsFalse(target != 0); Assert.IsFalse(0 != target); Assert.IsFalse(new ModuloArithmetic(6, false).IsValid); }
public override void Clear() { base.Clear(); CurrentIndex = CurrentIndex.InvalidItem; }
public void MinusValue() { var target = new ModuloArithmetic { Value = -1 }; }
public void InitializeWidthMinusValue() { var target = new ModuloArithmetic(-1); }
public void InitializeWidthZero() { var target = new ModuloArithmetic(0); }
public void InitializeWidthOne() { var target = new ModuloArithmetic(1); }
public void InvalidMinus() { var result = new ModuloArithmetic(3) - new ModuloArithmetic(4); }
public TElement this[ModuloArithmetic index] { get => elements[index.Value];