public void testCurrentNumberalValue()
{
MixedRadixNumber mrn;
//
mrn = new MixedRadixNumber(0, new int[] { 3, 3, 2, 2 });
Assert.AreEqual(0, mrn.getCurrentNumeralValue(0));
Assert.AreEqual(0, mrn.getCurrentNumeralValue(1));
Assert.AreEqual(0, mrn.getCurrentNumeralValue(2));
Assert.AreEqual(0, mrn.getCurrentNumeralValue(3));
//
mrn = new MixedRadixNumber(35, new int[] { 3, 3, 2, 2 });
Assert.AreEqual(2, mrn.getCurrentNumeralValue(0));
Assert.AreEqual(2, mrn.getCurrentNumeralValue(1));
Assert.AreEqual(1, mrn.getCurrentNumeralValue(2));
Assert.AreEqual(1, mrn.getCurrentNumeralValue(3));
//
mrn = new MixedRadixNumber(25, new int[] { 3, 3, 2, 2 });
Assert.AreEqual(1, mrn.getCurrentNumeralValue(0));
Assert.AreEqual(2, mrn.getCurrentNumeralValue(1));
Assert.AreEqual(0, mrn.getCurrentNumeralValue(2));
Assert.AreEqual(1, mrn.getCurrentNumeralValue(3));
//
mrn = new MixedRadixNumber(17, new int[] { 3, 3, 2, 2 });
Assert.AreEqual(2, mrn.getCurrentNumeralValue(0));
Assert.AreEqual(2, mrn.getCurrentNumeralValue(1));
Assert.AreEqual(1, mrn.getCurrentNumeralValue(2));
Assert.AreEqual(0, mrn.getCurrentNumeralValue(3));
//
mrn = new MixedRadixNumber(8, new int[] { 3, 3, 2, 2 });
Assert.AreEqual(2, mrn.getCurrentNumeralValue(0));
Assert.AreEqual(2, mrn.getCurrentNumeralValue(1));
Assert.AreEqual(0, mrn.getCurrentNumeralValue(2));
Assert.AreEqual(0, mrn.getCurrentNumeralValue(3));
//
mrn = new MixedRadixNumber(359, new int[] { 3, 4, 5, 6 });
Assert.AreEqual(2, mrn.getCurrentNumeralValue(0));
Assert.AreEqual(3, mrn.getCurrentNumeralValue(1));
Assert.AreEqual(4, mrn.getCurrentNumeralValue(2));
Assert.AreEqual(5, mrn.getCurrentNumeralValue(3));
//
mrn = new MixedRadixNumber(359, new int[] { 6, 5, 4, 3 });
Assert.AreEqual(5, mrn.getCurrentNumeralValue(0));
Assert.AreEqual(4, mrn.getCurrentNumeralValue(1));
Assert.AreEqual(3, mrn.getCurrentNumeralValue(2));
Assert.AreEqual(2, mrn.getCurrentNumeralValue(3));
}
}