from huffman import Huffman
	Huff = Huffman()
	Huff.buildOwn = True
	print('Geben Sie einen Text zum codieren ein!');
	text = input('>> ');
	encoded = Huff.encode(text)
	print(encoded)
	print('Dekodiert:')
	print(Huff.decode(encoded))
	Huff.verbose()


######### AUFGABE 5.2 TESTS #########
if (which == "2"):
	from rle import RunLenghtEncoding
	rle = RunLenghtEncoding();

	print('Geben Sie einen Text zum codieren ein!');
	text = input('>> ');
	res = rle.encode(text)

	print("Der Komprimierte Text lautet:")
	print(res)
	print("Der Rück-Kodierte Text lautet:")
	print(rle.decode(res))
	rle.verbose()


######### AUFGABE 5.1 TESTS #########
if (which == "1"):
	from bintree import Node
	abort('Import-failure')


testcases = [
	'abcdefghijklmnopqrstuvwxyz',
	'äüöß',
	'!"§$%&/()=?=)(/&%$§"',
	'¡“¶¢[]|{}≠¿',
	'1234567890',
];

i = 0
for t in testcases:
	try:
		huff = Huffman()
		rl = RunLenghtEncoding()

		encoded = huff.encode(t)
		if (t != huff.decode(encoded)):
			raise Exception

		encoded = rl.encode(t)
		decoded = rl.decode(encoded)
		if (t != decoded):
			raise Exception
			
	except Exception as e:
		print("Testcase failed!")
		print("Input: "+str(t))
		print("Output: "+str(decoded))
		if (len(str(e)) > 0):