public void ShouldReturnCorrectPositiveInteger()
                {
                    var a = new IterativeMultiplicationByRadixAlgorithm();

                    a.GetDigitCount(1).Should().Be(1);
                    a.GetDigitCount(9).Should().Be(1);
                    a.GetDigitCount(10).Should().Be(2);
                    a.GetDigitCount(99).Should().Be(2);
                    a.GetDigitCount(100).Should().Be(3);
                    a.GetDigitCount(999).Should().Be(3);
                    a.GetDigitCount(1000).Should().Be(4);
                    a.GetDigitCount(9999).Should().Be(4);
                    a.GetDigitCount(10000).Should().Be(5);
                    a.GetDigitCount(99999).Should().Be(5);
                    a.GetDigitCount(100000).Should().Be(6);
                    a.GetDigitCount(999999).Should().Be(6);
                    a.GetDigitCount(1000000).Should().Be(7);
                    a.GetDigitCount(9999999).Should().Be(7);
                    a.GetDigitCount(10000000).Should().Be(8);
                    a.GetDigitCount(99999999).Should().Be(8);
                    a.GetDigitCount(100000000).Should().Be(9);
                    a.GetDigitCount(999999999).Should().Be(9);
                    a.GetDigitCount(1000000000).Should().Be(10);
                    a.GetDigitCount(int.MaxValue).Should().Be(10);
                }
                public void ShouldReturnCorrectPositiveInteger()
                {
                    var a = new IterativeMultiplicationByRadixAlgorithm();

                    a.GetDigitCount(1, 8).Should().Be(1);
                    a.GetDigitCount(7, 8).Should().Be(1);
                    a.GetDigitCount(8, 8).Should().Be(2);
                    a.GetDigitCount(63, 8).Should().Be(2);
                    a.GetDigitCount(64, 8).Should().Be(3);
                    a.GetDigitCount(511, 8).Should().Be(3);
                    a.GetDigitCount(512, 8).Should().Be(4);
                    a.GetDigitCount(4095, 8).Should().Be(4);
                    a.GetDigitCount(4096, 8).Should().Be(5);
                    a.GetDigitCount(32767, 8).Should().Be(5);
                    a.GetDigitCount(32768, 8).Should().Be(6);
                    a.GetDigitCount(262143, 8).Should().Be(6);
                    a.GetDigitCount(262144, 8).Should().Be(7);
                    a.GetDigitCount(2097151, 8).Should().Be(7);
                    a.GetDigitCount(2097152, 8).Should().Be(8);
                    a.GetDigitCount(16777215, 8).Should().Be(8);
                    a.GetDigitCount(16777216, 8).Should().Be(9);
                    a.GetDigitCount(134217727, 8).Should().Be(9);
                    a.GetDigitCount(134217728, 8).Should().Be(10);
                    a.GetDigitCount(1073741823, 8).Should().Be(10);
                    a.GetDigitCount(1073741824, 8).Should().Be(11);
                    a.GetDigitCount(int.MaxValue, 8).Should().Be(11);
                }
                public void ShouldReturnCorrectPositiveInteger()
                {
                    var a = new IterativeMultiplicationByRadixAlgorithm();

                    a.GetDigitCount(1, 1).Should().Be(1);
                    a.GetDigitCount(2, 1).Should().Be(2);
                    a.GetDigitCount(6, 1).Should().Be(6);
                    a.GetDigitCount(30, 1).Should().Be(30);
                    a.GetDigitCount(210, 1).Should().Be(210);
                    a.GetDigitCount(2310, 1).Should().Be(2310);
                    a.GetDigitCount(30030, 1).Should().Be(30030);
                    a.GetDigitCount(510510, 1).Should().Be(510510);
                    a.GetDigitCount(9699690, 1).Should().Be(9699690);
                    a.GetDigitCount(223092870, 1).Should().Be(223092870);
                    a.GetDigitCount(int.MaxValue, 1).Should().Be(int.MaxValue);
                }
                public void ShouldReturnCorrectPositiveInteger()
                {
                    var a = new IterativeMultiplicationByRadixAlgorithm();

                    a.GetDigitCount(1, 42).Should().Be(1);
                    a.GetDigitCount(41, 42).Should().Be(1);
                    a.GetDigitCount(42, 42).Should().Be(2);
                    a.GetDigitCount(1763, 42).Should().Be(2);
                    a.GetDigitCount(1764, 42).Should().Be(3);
                    a.GetDigitCount(74087, 42).Should().Be(3);
                    a.GetDigitCount(74088, 42).Should().Be(4);
                    a.GetDigitCount(3111695, 42).Should().Be(4);
                    a.GetDigitCount(3111696, 42).Should().Be(5);
                    a.GetDigitCount(130691231, 42).Should().Be(5);
                    a.GetDigitCount(130691232, 42).Should().Be(6);
                    a.GetDigitCount(int.MaxValue, 42).Should().Be(6);
                }
                public void ShouldReturnCorrectPositiveInteger()
                {
                    var a = new IterativeMultiplicationByRadixAlgorithm();

                    a.GetDigitCount(1, 16).Should().Be(1);
                    a.GetDigitCount(15, 16).Should().Be(1);
                    a.GetDigitCount(16, 16).Should().Be(2);
                    a.GetDigitCount(255, 16).Should().Be(2);
                    a.GetDigitCount(256, 16).Should().Be(3);
                    a.GetDigitCount(4095, 16).Should().Be(3);
                    a.GetDigitCount(4096, 16).Should().Be(4);
                    a.GetDigitCount(65535, 16).Should().Be(4);
                    a.GetDigitCount(65536, 16).Should().Be(5);
                    a.GetDigitCount(1048575, 16).Should().Be(5);
                    a.GetDigitCount(1048576, 16).Should().Be(6);
                    a.GetDigitCount(16777215, 16).Should().Be(6);
                    a.GetDigitCount(16777216, 16).Should().Be(7);
                    a.GetDigitCount(268435455, 16).Should().Be(7);
                    a.GetDigitCount(268435456, 16).Should().Be(8);
                    a.GetDigitCount(int.MaxValue, 16).Should().Be(8);
                }
                public void ShouldReturnCorrectPositiveInteger()
                {
                    var a = new IterativeMultiplicationByRadixAlgorithm();

                    a.GetDigitCount(1, 2).Should().Be(1);
                    a.GetDigitCount(2, 2).Should().Be(2);
                    a.GetDigitCount(3, 2).Should().Be(2);
                    a.GetDigitCount(4, 2).Should().Be(3);
                    a.GetDigitCount(7, 2).Should().Be(3);
                    a.GetDigitCount(8, 2).Should().Be(4);
                    a.GetDigitCount(15, 2).Should().Be(4);
                    a.GetDigitCount(16, 2).Should().Be(5);
                    a.GetDigitCount(31, 2).Should().Be(5);
                    a.GetDigitCount(32, 2).Should().Be(6);
                    a.GetDigitCount(63, 2).Should().Be(6);
                    a.GetDigitCount(64, 2).Should().Be(7);
                    a.GetDigitCount(127, 2).Should().Be(7);
                    a.GetDigitCount(128, 2).Should().Be(8);
                    a.GetDigitCount(255, 2).Should().Be(8);
                    a.GetDigitCount(256, 2).Should().Be(9);
                    a.GetDigitCount(511, 2).Should().Be(9);
                    a.GetDigitCount(512, 2).Should().Be(10);
                    a.GetDigitCount(1023, 2).Should().Be(10);
                    a.GetDigitCount(1024, 2).Should().Be(11);
                    a.GetDigitCount(2047, 2).Should().Be(11);
                    a.GetDigitCount(2048, 2).Should().Be(12);
                    a.GetDigitCount(4095, 2).Should().Be(12);
                    a.GetDigitCount(4096, 2).Should().Be(13);
                    a.GetDigitCount(8191, 2).Should().Be(13);
                    a.GetDigitCount(8192, 2).Should().Be(14);
                    a.GetDigitCount(16383, 2).Should().Be(14);
                    a.GetDigitCount(16384, 2).Should().Be(15);
                    a.GetDigitCount(32767, 2).Should().Be(15);
                    a.GetDigitCount(32768, 2).Should().Be(16);
                    a.GetDigitCount(65535, 2).Should().Be(16);
                    a.GetDigitCount(65536, 2).Should().Be(17);
                    a.GetDigitCount(131071, 2).Should().Be(17);
                    a.GetDigitCount(131072, 2).Should().Be(18);
                    a.GetDigitCount(262143, 2).Should().Be(18);
                    a.GetDigitCount(262144, 2).Should().Be(19);
                    a.GetDigitCount(524287, 2).Should().Be(19);
                    a.GetDigitCount(524288, 2).Should().Be(20);
                    a.GetDigitCount(1048575, 2).Should().Be(20);
                    a.GetDigitCount(1048576, 2).Should().Be(21);
                    a.GetDigitCount(2097151, 2).Should().Be(21);
                    a.GetDigitCount(2097152, 2).Should().Be(22);
                    a.GetDigitCount(4194303, 2).Should().Be(22);
                    a.GetDigitCount(4194304, 2).Should().Be(23);
                    a.GetDigitCount(8388607, 2).Should().Be(23);
                    a.GetDigitCount(8388608, 2).Should().Be(24);
                    a.GetDigitCount(16777215, 2).Should().Be(24);
                    a.GetDigitCount(16777216, 2).Should().Be(25);
                    a.GetDigitCount(33554431, 2).Should().Be(25);
                    a.GetDigitCount(33554432, 2).Should().Be(26);
                    a.GetDigitCount(67108863, 2).Should().Be(26);
                    a.GetDigitCount(67108864, 2).Should().Be(27);
                    a.GetDigitCount(134217727, 2).Should().Be(27);
                    a.GetDigitCount(134217728, 2).Should().Be(28);
                    a.GetDigitCount(268435455, 2).Should().Be(28);
                    a.GetDigitCount(268435456, 2).Should().Be(29);
                    a.GetDigitCount(536870911, 2).Should().Be(29);
                    a.GetDigitCount(536870912, 2).Should().Be(30);
                    a.GetDigitCount(1073741823, 2).Should().Be(30);
                    a.GetDigitCount(1073741824, 2).Should().Be(31);
                    a.GetDigitCount(2147483647, 2).Should().Be(31);
                }