예제 #1
0
    def test_check_digits_with_custom_alphabet_and_sign(
            self, number, base, expected):
        """
        Checks with custom alphabet and sign
        """
        alphabet = ("Z", "!", "T", "#", "F", "%", "S", "&", "E", "(", "0")

        converted = positional.encode(number,
                                      base,
                                      alphabet=alphabet,
                                      sign_literal="@")
        self.assertEqual(converted, expected)
        self.assertEqual(
            positional.decode(converted,
                              base,
                              alphabet=alphabet,
                              sign_literal="@"),
            number,
        )
예제 #2
0
 def test_check_wrong_argument_type(self, number, base):
     """
     Check converting with wrong base
     """
     with self.assertRaises(exceptions.WrongArgumentTypeError):
         positional.decode(number, base)
예제 #3
0
 def test_decode_numbers(self, number, base, expected):
     """
     Auto check of encoding and decoding
     """
     self.assertEqual(positional.decode(number, base), expected)
예제 #4
0
 def test_check_all_default_bases_positional(self, number, base):
     """
     Auto check of encoding and decoding
     """
     converted = positional.encode(number, base)
     self.assertEqual(positional.decode(converted, base), number)
예제 #5
0
 def test_wrong_alphabet(self):
     """
     Check negative case with invalid alphabet
     """
     with self.assertRaises(exceptions.WrongArgumentValueError):
         positional.decode(4, 2, alphabet=tuple("12344"))
예제 #6
0
def next(num):
    symbols = nsp.encode(num,systemBase)
    symbols += ''.join(['0' for i in range(symbolsCount - symbols.__len__())])
    return nsp.decode(''.join(sorted(symbols, reverse = True)), systemBase) - nsp.decode(''.join(sorted(symbols)), systemBase)