Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def printStatementTest():
- printer = PrettyPrinter()
- printer.visit(Print(BinaryOperation(Number(-1), '/', Number(0))))
- def readStatementTest():
- printer = PrettyPrinter()
- printer.visit(Read("GHCi"))
- def conditionalTest():
- printer = PrettyPrinter()
- printer.visit(Conditional(Number(14),
- [Print(Number(4)), Read("GHCi")],
- [Read("GHCi")]))
- def funcDefTest():
- printer = PrettyPrinter()
- printer.visit(FunctionDefinition('main', Function(['argc', 'argv'], [])))
- def funcCallTest():
- printer = PrettyPrinter()
- printer.visit(FunctionCall(Reference('main'), [Number(1), Number(14)]))
- def tests():
- testWithCustomStdio(input='',
- expectedOutput='print ((-1)/(0));\n',
- func=printStatementTest)
- testWithCustomStdio(input='14',
- expectedOutput='read GHCi;\n',
- func=readStatementTest)
- testWithCustomStdio(input='14',
- expectedOutput='''if (14) {
- print 4;
- read GHCi;
- } else {
- read GHCi;
- };
- ''',
- func=conditionalTest)
- testWithCustomStdio(input='14',
- expectedOutput='''def main(argc,argv) {
- };
- ''',
- func=funcDefTest)
- testWithCustomStdio(input='',
- expectedOutput='main(1,14);\n',
- func=funcCallTest)
- if __name__ == '__main__':
- tests()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement