From 1d6eb49b9d134fcde45a02f74b7f39f33a857096 Mon Sep 17 00:00:00 2001 From: tanyonghe Date: Mon, 19 Oct 2020 13:36:33 +0800 Subject: [PATCH 1/2] Add doctest and remove input() usage --- ciphers/base16.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/ciphers/base16.py b/ciphers/base16.py index 0210315d54e6..96a1f2f415ee 100644 --- a/ciphers/base16.py +++ b/ciphers/base16.py @@ -1,13 +1,21 @@ import base64 +import doctest -def main(): - inp = input("->") +def encode_to_b16(inp): + """ + Encodes a given utf-8 string into base-16. + >>> encode_to_b16('Hello World!') + b'48656C6C6F20576F726C6421' + >>> encode_to_b16('HELLO WORLD!') + b'48454C4C4F20574F524C4421' + >>> encode_to_b16('') + b'' + """ encoded = inp.encode("utf-8") # encoded the input (we need a bytes like object) b16encoded = base64.b16encode(encoded) # b16encoded the encoded string - print(b16encoded) - print(base64.b16decode(b16encoded).decode("utf-8")) # decoded it + return b16encoded if __name__ == "__main__": - main() + doctest.testmod() From a86e5b0ed464bb96829cc96595178cc8d8f9591b Mon Sep 17 00:00:00 2001 From: Dhruv Manilawala Date: Mon, 23 Nov 2020 12:57:06 +0530 Subject: [PATCH 2/2] Apply suggestions from code review --- ciphers/base16.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ciphers/base16.py b/ciphers/base16.py index 96a1f2f415ee..f27ea4628e54 100644 --- a/ciphers/base16.py +++ b/ciphers/base16.py @@ -1,8 +1,7 @@ import base64 -import doctest -def encode_to_b16(inp): +def encode_to_b16(inp: str) -> bytes: """ Encodes a given utf-8 string into base-16. >>> encode_to_b16('Hello World!') @@ -18,4 +17,6 @@ def encode_to_b16(inp): if __name__ == "__main__": + import doctest + doctest.testmod()