From 2e8cd9dd48a7b788cb027246f947ef8ea8857d19 Mon Sep 17 00:00:00 2001 From: lafrite Date: Sun, 21 Jun 2015 16:59:16 +0200 Subject: [PATCH] create massive test for render --- test/mass_test.py | 4 ++++ test/test_render.py | 53 ++++++++++++++++++++++++++++++++++++++++++ test/trop_de_tests.rst | 16 ------------- 3 files changed, 57 insertions(+), 16 deletions(-) create mode 100644 test/mass_test.py delete mode 100644 test/trop_de_tests.rst diff --git a/test/mass_test.py b/test/mass_test.py new file mode 100644 index 0000000..021ff84 --- /dev/null +++ b/test/mass_test.py @@ -0,0 +1,4 @@ +POLY_ADD_VALID_RESULTS = ['- x - 2 - 4', '- x - 2 + 2 x - 4', '- x - 2 + 4 x - 4', '- x - 2 - 4 x - 2', '- x - 2 - 2', '- x - 2 + 2 x - 2', '- x - 2 + 4 x - 2', '- x - 2 - 4 x', '- x - 2 - 2 x', '- x - 2 + 2 x', '- x - 2 + 4 x', '- x - 2 - 4 x + 2', '- x - 2 - 2 x + 2', '- x - 2 + 2', '- x - 2 + 4 x + 2', '- x - 2 - 4 x + 4', '- x - 2 - 2 x + 4', '- x - 2 + 4', '- x - 2 + 2 x + 4', '- 2 - 2 x - 4', '- 2 + 2 x - 4', '- 2 + 4 x - 4', '- 2 - 4 x - 2', '- 2 - 2', '- 2 + 2 x - 2', '- 2 + 4 x - 2', '- 2 - 4 x', '- 2 - 2 x', '- 2 + 2 x', '- 2 + 4 x', '- 2 - 4 x + 2', '- 2 - 2 x + 2', '- 2 + 2', '- 2 + 4 x + 2', '- 2 - 4 x + 4', '- 2 - 2 x + 4', '- 2 + 4', '- 2 + 2 x + 4', 'x - 2 - 2 x - 4', 'x - 2 - 4', 'x - 2 + 4 x - 4', 'x - 2 - 4 x - 2', 'x - 2 - 2', 'x - 2 + 2 x - 2', 'x - 2 + 4 x - 2', 'x - 2 - 4 x', 'x - 2 - 2 x', 'x - 2 + 2 x', 'x - 2 + 4 x', 'x - 2 - 4 x + 2', 'x - 2 - 2 x + 2', 'x - 2 + 2', 'x - 2 + 4 x + 2', 'x - 2 - 4 x + 4', 'x - 2 - 2 x + 4', 'x - 2 + 4', 'x - 2 + 2 x + 4', '2 x - 2 - 2 x - 4', '2 x - 2 - 4', '2 x - 2 + 2 x - 4', '2 x - 2 - 4 x - 2', '2 x - 2 - 2', '2 x - 2 + 2 x - 2', '2 x - 2 + 4 x - 2', '2 x - 2 - 4 x', '2 x - 2 - 2 x', '2 x - 2 + 2 x', '2 x - 2 + 4 x', '2 x - 2 - 4 x + 2', '2 x - 2 - 2 x + 2', '2 x - 2 + 2', '2 x - 2 + 4 x + 2', '2 x - 2 - 4 x + 4', '2 x - 2 - 2 x + 4', '2 x - 2 + 4', '2 x - 2 + 2 x + 4', '- 2 x - 1 - 2 x - 4', '- 2 x - 1 - 4', '- 2 x - 1 + 2 x - 4', '- 2 x - 1 + 4 x - 4', '- 2 x - 1 - 2', '- 2 x - 1 + 2 x - 2', '- 2 x - 1 + 4 x - 2', '- 2 x - 1 - 4 x', '- 2 x - 1 - 2 x', '- 2 x - 1 + 2 x', '- 2 x - 1 + 4 x', '- 2 x - 1 - 4 x + 2', '- 2 x - 1 - 2 x + 2', '- 2 x - 1 + 2', '- 2 x - 1 + 4 x + 2', '- 2 x - 1 - 4 x + 4', '- 2 x - 1 - 2 x + 4', '- 2 x - 1 + 4', '- 2 x - 1 + 2 x + 4', '- 1 - 2 x - 4', '- 1 - 4', '- 1 + 2 x - 4', '- 1 + 4 x - 4', '- 1 - 4 x - 2', '- 1 + 2 x - 2', '- 1 + 4 x - 2', '- 1 - 4 x', '- 1 - 2 x', '- 1 + 2 x', '- 1 + 4 x', '- 1 - 4 x + 2', '- 1 - 2 x + 2', '- 1 + 2', '- 1 + 4 x + 2', '- 1 - 4 x + 4', '- 1 - 2 x + 4', '- 1 + 4', '- 1 + 2 x + 4', 'x - 1 - 2 x - 4', 'x - 1 - 4', 'x - 1 + 2 x - 4', 'x - 1 + 4 x - 4', 'x - 1 - 4 x - 2', 'x - 1 - 2', 'x - 1 + 4 x - 2', 'x - 1 - 4 x', 'x - 1 - 2 x', 'x - 1 + 2 x', 'x - 1 + 4 x', 'x - 1 - 4 x + 2', 'x - 1 - 2 x + 2', 'x - 1 + 2', 'x - 1 + 4 x + 2', 'x - 1 - 4 x + 4', 'x - 1 - 2 x + 4', 'x - 1 + 4', 'x - 1 + 2 x + 4', '2 x - 1 - 2 x - 4', '2 x - 1 - 4', '2 x - 1 + 2 x - 4', '2 x - 1 + 4 x - 4', '2 x - 1 - 4 x - 2', '2 x - 1 - 2', '2 x - 1 + 2 x - 2', '2 x - 1 - 4 x', '2 x - 1 - 2 x', '2 x - 1 + 2 x', '2 x - 1 + 4 x', '2 x - 1 - 4 x + 2', '2 x - 1 - 2 x + 2', '2 x - 1 + 2', '2 x - 1 + 4 x + 2', '2 x - 1 - 4 x + 4', '2 x - 1 - 2 x + 4', '2 x - 1 + 4', '2 x - 1 + 2 x + 4', '- 2 x - 2 x - 4', '- 2 x - 4', '- 2 x + 2 x - 4', '- 2 x + 4 x - 4', '- 2 x - 4 x - 2', '- 2 x - 2', '- 2 x + 2 x - 2', '- 2 x + 4 x - 2', '- 2 x - 2 x', '- 2 x + 2 x', '- 2 x + 4 x', '- 2 x - 4 x + 2', '- 2 x - 2 x + 2', '- 2 x + 2', '- 2 x + 4 x + 2', '- 2 x - 4 x + 4', '- 2 x - 2 x + 4', '- 2 x + 4', '- 2 x + 2 x + 4', '- x - 2 x - 4', '- x - 4', '- x + 2 x - 4', '- x + 4 x - 4', '- x - 4 x - 2', '- x - 2', '- x + 2 x - 2', '- x + 4 x - 2', '- x - 4 x', '- x + 2 x', '- x + 4 x', '- x - 4 x + 2', '- x - 2 x + 2', '- x + 2', '- x + 4 x + 2', '- x - 4 x + 4', '- x - 2 x + 4', '- x + 4', '- x + 2 x + 4', 'x - 2 x - 4', 'x - 4', 'x + 2 x - 4', 'x + 4 x - 4', 'x - 4 x - 2', 'x - 2', 'x + 2 x - 2', 'x + 4 x - 2', 'x - 4 x', 'x - 2 x', 'x + 4 x', 'x - 4 x + 2', 'x - 2 x + 2', 'x + 2', 'x + 4 x + 2', 'x - 4 x + 4', 'x - 2 x + 4', 'x + 4', 'x + 2 x + 4', '2 x - 2 x - 4', '2 x - 4', '2 x + 2 x - 4', '2 x + 4 x - 4', '2 x - 4 x - 2', '2 x - 2', '2 x + 2 x - 2', '2 x + 4 x - 2', '2 x - 4 x', '2 x - 2 x', '2 x + 2 x', '2 x - 4 x + 2', '2 x - 2 x + 2', '2 x + 2', '2 x + 4 x + 2', '2 x - 4 x + 4', '2 x - 2 x + 4', '2 x + 4', '2 x + 2 x + 4', '- 2 x + 1 - 2 x - 4', '- 2 x + 1 - 4', '- 2 x + 1 + 2 x - 4', '- 2 x + 1 + 4 x - 4', '- 2 x + 1 - 4 x - 2', '- 2 x + 1 - 2', '- 2 x + 1 + 2 x - 2', '- 2 x + 1 + 4 x - 2', '- 2 x + 1 - 4 x', '- 2 x + 1 - 2 x', '- 2 x + 1 + 2 x', '- 2 x + 1 + 4 x', '- 2 x + 1 - 2 x + 2', '- 2 x + 1 + 2', '- 2 x + 1 + 4 x + 2', '- 2 x + 1 - 4 x + 4', '- 2 x + 1 - 2 x + 4', '- 2 x + 1 + 4', '- 2 x + 1 + 2 x + 4', '- x + 1 - 2 x - 4', '- x + 1 - 4', '- x + 1 + 2 x - 4', '- x + 1 + 4 x - 4', '- x + 1 - 4 x - 2', '- x + 1 - 2', '- x + 1 + 2 x - 2', '- x + 1 + 4 x - 2', '- x + 1 - 4 x', '- x + 1 - 2 x', '- x + 1 + 2 x', '- x + 1 + 4 x', '- x + 1 - 4 x + 2', '- x + 1 + 2', '- x + 1 + 4 x + 2', '- x + 1 - 4 x + 4', '- x + 1 - 2 x + 4', '- x + 1 + 4', '- x + 1 + 2 x + 4', '1 - 2 x - 4', '1 - 4', '1 + 2 x - 4', '1 + 4 x - 4', '1 - 4 x - 2', '1 - 2', '1 + 2 x - 2', '1 + 4 x - 2', '1 - 4 x', '1 - 2 x', '1 + 2 x', '1 + 4 x', '1 - 4 x + 2', '1 - 2 x + 2', '1 + 4 x + 2', '1 - 4 x + 4', '1 - 2 x + 4', '1 + 4', '1 + 2 x + 4', '2 x + 1 - 2 x - 4', '2 x + 1 - 4', '2 x + 1 + 2 x - 4', '2 x + 1 + 4 x - 4', '2 x + 1 - 4 x - 2', '2 x + 1 - 2', '2 x + 1 + 2 x - 2', '2 x + 1 + 4 x - 2', '2 x + 1 - 4 x', '2 x + 1 - 2 x', '2 x + 1 + 2 x', '2 x + 1 + 4 x', '2 x + 1 - 4 x + 2', '2 x + 1 - 2 x + 2', '2 x + 1 + 2', '2 x + 1 - 4 x + 4', '2 x + 1 - 2 x + 4', '2 x + 1 + 4', '2 x + 1 + 2 x + 4', '- 2 x + 2 - 2 x - 4', '- 2 x + 2 - 4', '- 2 x + 2 + 2 x - 4', '- 2 x + 2 + 4 x - 4', '- 2 x + 2 - 4 x - 2', '- 2 x + 2 - 2', '- 2 x + 2 + 2 x - 2', '- 2 x + 2 + 4 x - 2', '- 2 x + 2 - 4 x', '- 2 x + 2 - 2 x', '- 2 x + 2 + 2 x', '- 2 x + 2 + 4 x', '- 2 x + 2 - 4 x + 2', '- 2 x + 2 - 2 x + 2', '- 2 x + 2 + 2', '- 2 x + 2 + 4 x + 2', '- 2 x + 2 - 2 x + 4', '- 2 x + 2 + 4', '- 2 x + 2 + 2 x + 4', '- x + 2 - 2 x - 4', '- x + 2 - 4', '- x + 2 + 2 x - 4', '- x + 2 + 4 x - 4', '- x + 2 - 4 x - 2', '- x + 2 - 2', '- x + 2 + 2 x - 2', '- x + 2 + 4 x - 2', '- x + 2 - 4 x', '- x + 2 - 2 x', '- x + 2 + 2 x', '- x + 2 + 4 x', '- x + 2 - 4 x + 2', '- x + 2 - 2 x + 2', '- x + 2 + 2', '- x + 2 + 4 x + 2', '- x + 2 - 4 x + 4', '- x + 2 + 4', '- x + 2 + 2 x + 4', '2 - 2 x - 4', '2 - 4', '2 + 2 x - 4', '2 + 4 x - 4', '2 - 4 x - 2', '2 - 2', '2 + 2 x - 2', '2 + 4 x - 2', '2 - 4 x', '2 - 2 x', '2 + 2 x', '2 + 4 x', '2 - 4 x + 2', '2 - 2 x + 2', '2 + 2', '2 + 4 x + 2', '2 - 4 x + 4', '2 - 2 x + 4', '2 + 2 x + 4', 'x + 2 - 2 x - 4', 'x + 2 - 4', 'x + 2 + 2 x - 4', 'x + 2 + 4 x - 4', 'x + 2 - 4 x - 2', 'x + 2 - 2', 'x + 2 + 2 x - 2', 'x + 2 + 4 x - 2', 'x + 2 - 4 x', 'x + 2 - 2 x', 'x + 2 + 2 x', 'x + 2 + 4 x', 'x + 2 - 4 x + 2', 'x + 2 - 2 x + 2', 'x + 2 + 2', 'x + 2 + 4 x + 2', 'x + 2 - 4 x + 4', 'x + 2 - 2 x + 4', 'x + 2 + 4'] +POLY_SUB_VALID_RESULTS = ['- x - 2 - ( - 4 )', '- x - 2 - ( 2 x - 4 )', '- x - 2 - ( 4 x - 4 )', '- x - 2 - ( - 4 x - 2 )', '- x - 2 - ( - 2 )', '- x - 2 - ( 2 x - 2 )', '- x - 2 - ( 4 x - 2 )', '- x - 2 - ( - 4 x )', '- x - 2 - ( - 2 x )', '- x - 2 - 2 x', '- x - 2 - 4 x', '- x - 2 - ( - 4 x + 2 )', '- x - 2 - ( - 2 x + 2 )', '- x - 2 - 2', '- x - 2 - ( 4 x + 2 )', '- x - 2 - ( - 4 x + 4 )', '- x - 2 - ( - 2 x + 4 )', '- x - 2 - 4', '- x - 2 - ( 2 x + 4 )', '- 2 - ( - 2 x - 4 )', '- 2 - ( 2 x - 4 )', '- 2 - ( 4 x - 4 )', '- 2 - ( - 4 x - 2 )', '- 2 - ( - 2 )', '- 2 - ( 2 x - 2 )', '- 2 - ( 4 x - 2 )', '- 2 - ( - 4 x )', '- 2 - ( - 2 x )', '- 2 - 2 x', '- 2 - 4 x', '- 2 - ( - 4 x + 2 )', '- 2 - ( - 2 x + 2 )', '- 2 - 2', '- 2 - ( 4 x + 2 )', '- 2 - ( - 4 x + 4 )', '- 2 - ( - 2 x + 4 )', '- 2 - 4', '- 2 - ( 2 x + 4 )', 'x - 2 - ( - 2 x - 4 )', 'x - 2 - ( - 4 )', 'x - 2 - ( 4 x - 4 )', 'x - 2 - ( - 4 x - 2 )', 'x - 2 - ( - 2 )', 'x - 2 - ( 2 x - 2 )', 'x - 2 - ( 4 x - 2 )', 'x - 2 - ( - 4 x )', 'x - 2 - ( - 2 x )', 'x - 2 - 2 x', 'x - 2 - 4 x', 'x - 2 - ( - 4 x + 2 )', 'x - 2 - ( - 2 x + 2 )', 'x - 2 - 2', 'x - 2 - ( 4 x + 2 )', 'x - 2 - ( - 4 x + 4 )', 'x - 2 - ( - 2 x + 4 )', 'x - 2 - 4', 'x - 2 - ( 2 x + 4 )', '2 x - 2 - ( - 2 x - 4 )', '2 x - 2 - ( - 4 )', '2 x - 2 - ( 2 x - 4 )', '2 x - 2 - ( - 4 x - 2 )', '2 x - 2 - ( - 2 )', '2 x - 2 - ( 2 x - 2 )', '2 x - 2 - ( 4 x - 2 )', '2 x - 2 - ( - 4 x )', '2 x - 2 - ( - 2 x )', '2 x - 2 - 2 x', '2 x - 2 - 4 x', '2 x - 2 - ( - 4 x + 2 )', '2 x - 2 - ( - 2 x + 2 )', '2 x - 2 - 2', '2 x - 2 - ( 4 x + 2 )', '2 x - 2 - ( - 4 x + 4 )', '2 x - 2 - ( - 2 x + 4 )', '2 x - 2 - 4', '2 x - 2 - ( 2 x + 4 )', '- 2 x - 1 - ( - 2 x - 4 )', '- 2 x - 1 - ( - 4 )', '- 2 x - 1 - ( 2 x - 4 )', '- 2 x - 1 - ( 4 x - 4 )', '- 2 x - 1 - ( - 2 )', '- 2 x - 1 - ( 2 x - 2 )', '- 2 x - 1 - ( 4 x - 2 )', '- 2 x - 1 - ( - 4 x )', '- 2 x - 1 - ( - 2 x )', '- 2 x - 1 - 2 x', '- 2 x - 1 - 4 x', '- 2 x - 1 - ( - 4 x + 2 )', '- 2 x - 1 - ( - 2 x + 2 )', '- 2 x - 1 - 2', '- 2 x - 1 - ( 4 x + 2 )', '- 2 x - 1 - ( - 4 x + 4 )', '- 2 x - 1 - ( - 2 x + 4 )', '- 2 x - 1 - 4', '- 2 x - 1 - ( 2 x + 4 )', '- 1 - ( - 2 x - 4 )', '- 1 - ( - 4 )', '- 1 - ( 2 x - 4 )', '- 1 - ( 4 x - 4 )', '- 1 - ( - 4 x - 2 )', '- 1 - ( 2 x - 2 )', '- 1 - ( 4 x - 2 )', '- 1 - ( - 4 x )', '- 1 - ( - 2 x )', '- 1 - 2 x', '- 1 - 4 x', '- 1 - ( - 4 x + 2 )', '- 1 - ( - 2 x + 2 )', '- 1 - 2', '- 1 - ( 4 x + 2 )', '- 1 - ( - 4 x + 4 )', '- 1 - ( - 2 x + 4 )', '- 1 - 4', '- 1 - ( 2 x + 4 )', 'x - 1 - ( - 2 x - 4 )', 'x - 1 - ( - 4 )', 'x - 1 - ( 2 x - 4 )', 'x - 1 - ( 4 x - 4 )', 'x - 1 - ( - 4 x - 2 )', 'x - 1 - ( - 2 )', 'x - 1 - ( 4 x - 2 )', 'x - 1 - ( - 4 x )', 'x - 1 - ( - 2 x )', 'x - 1 - 2 x', 'x - 1 - 4 x', 'x - 1 - ( - 4 x + 2 )', 'x - 1 - ( - 2 x + 2 )', 'x - 1 - 2', 'x - 1 - ( 4 x + 2 )', 'x - 1 - ( - 4 x + 4 )', 'x - 1 - ( - 2 x + 4 )', 'x - 1 - 4', 'x - 1 - ( 2 x + 4 )', '2 x - 1 - ( - 2 x - 4 )', '2 x - 1 - ( - 4 )', '2 x - 1 - ( 2 x - 4 )', '2 x - 1 - ( 4 x - 4 )', '2 x - 1 - ( - 4 x - 2 )', '2 x - 1 - ( - 2 )', '2 x - 1 - ( 2 x - 2 )', '2 x - 1 - ( - 4 x )', '2 x - 1 - ( - 2 x )', '2 x - 1 - 2 x', '2 x - 1 - 4 x', '2 x - 1 - ( - 4 x + 2 )', '2 x - 1 - ( - 2 x + 2 )', '2 x - 1 - 2', '2 x - 1 - ( 4 x + 2 )', '2 x - 1 - ( - 4 x + 4 )', '2 x - 1 - ( - 2 x + 4 )', '2 x - 1 - 4', '2 x - 1 - ( 2 x + 4 )', '- 2 x - ( - 2 x - 4 )', '- 2 x - ( - 4 )', '- 2 x - ( 2 x - 4 )', '- 2 x - ( 4 x - 4 )', '- 2 x - ( - 4 x - 2 )', '- 2 x - ( - 2 )', '- 2 x - ( 2 x - 2 )', '- 2 x - ( 4 x - 2 )', '- 2 x - ( - 2 x )', '- 2 x - 2 x', '- 2 x - 4 x', '- 2 x - ( - 4 x + 2 )', '- 2 x - ( - 2 x + 2 )', '- 2 x - 2', '- 2 x - ( 4 x + 2 )', '- 2 x - ( - 4 x + 4 )', '- 2 x - ( - 2 x + 4 )', '- 2 x - 4', '- 2 x - ( 2 x + 4 )', '- x - ( - 2 x - 4 )', '- x - ( - 4 )', '- x - ( 2 x - 4 )', '- x - ( 4 x - 4 )', '- x - ( - 4 x - 2 )', '- x - ( - 2 )', '- x - ( 2 x - 2 )', '- x - ( 4 x - 2 )', '- x - ( - 4 x )', '- x - 2 x', '- x - 4 x', '- x - ( - 4 x + 2 )', '- x - ( - 2 x + 2 )', '- x - 2', '- x - ( 4 x + 2 )', '- x - ( - 4 x + 4 )', '- x - ( - 2 x + 4 )', '- x - 4', '- x - ( 2 x + 4 )', 'x - ( - 2 x - 4 )', 'x - ( - 4 )', 'x - ( 2 x - 4 )', 'x - ( 4 x - 4 )', 'x - ( - 4 x - 2 )', 'x - ( - 2 )', 'x - ( 2 x - 2 )', 'x - ( 4 x - 2 )', 'x - ( - 4 x )', 'x - ( - 2 x )', 'x - 4 x', 'x - ( - 4 x + 2 )', 'x - ( - 2 x + 2 )', 'x - 2', 'x - ( 4 x + 2 )', 'x - ( - 4 x + 4 )', 'x - ( - 2 x + 4 )', 'x - 4', 'x - ( 2 x + 4 )', '2 x - ( - 2 x - 4 )', '2 x - ( - 4 )', '2 x - ( 2 x - 4 )', '2 x - ( 4 x - 4 )', '2 x - ( - 4 x - 2 )', '2 x - ( - 2 )', '2 x - ( 2 x - 2 )', '2 x - ( 4 x - 2 )', '2 x - ( - 4 x )', '2 x - ( - 2 x )', '2 x - 2 x', '2 x - ( - 4 x + 2 )', '2 x - ( - 2 x + 2 )', '2 x - 2', '2 x - ( 4 x + 2 )', '2 x - ( - 4 x + 4 )', '2 x - ( - 2 x + 4 )', '2 x - 4', '2 x - ( 2 x + 4 )', '- 2 x + 1 - ( - 2 x - 4 )', '- 2 x + 1 - ( - 4 )', '- 2 x + 1 - ( 2 x - 4 )', '- 2 x + 1 - ( 4 x - 4 )', '- 2 x + 1 - ( - 4 x - 2 )', '- 2 x + 1 - ( - 2 )', '- 2 x + 1 - ( 2 x - 2 )', '- 2 x + 1 - ( 4 x - 2 )', '- 2 x + 1 - ( - 4 x )', '- 2 x + 1 - ( - 2 x )', '- 2 x + 1 - 2 x', '- 2 x + 1 - 4 x', '- 2 x + 1 - ( - 2 x + 2 )', '- 2 x + 1 - 2', '- 2 x + 1 - ( 4 x + 2 )', '- 2 x + 1 - ( - 4 x + 4 )', '- 2 x + 1 - ( - 2 x + 4 )', '- 2 x + 1 - 4', '- 2 x + 1 - ( 2 x + 4 )', '- x + 1 - ( - 2 x - 4 )', '- x + 1 - ( - 4 )', '- x + 1 - ( 2 x - 4 )', '- x + 1 - ( 4 x - 4 )', '- x + 1 - ( - 4 x - 2 )', '- x + 1 - ( - 2 )', '- x + 1 - ( 2 x - 2 )', '- x + 1 - ( 4 x - 2 )', '- x + 1 - ( - 4 x )', '- x + 1 - ( - 2 x )', '- x + 1 - 2 x', '- x + 1 - 4 x', '- x + 1 - ( - 4 x + 2 )', '- x + 1 - 2', '- x + 1 - ( 4 x + 2 )', '- x + 1 - ( - 4 x + 4 )', '- x + 1 - ( - 2 x + 4 )', '- x + 1 - 4', '- x + 1 - ( 2 x + 4 )', '1 - ( - 2 x - 4 )', '1 - ( - 4 )', '1 - ( 2 x - 4 )', '1 - ( 4 x - 4 )', '1 - ( - 4 x - 2 )', '1 - ( - 2 )', '1 - ( 2 x - 2 )', '1 - ( 4 x - 2 )', '1 - ( - 4 x )', '1 - ( - 2 x )', '1 - 2 x', '1 - 4 x', '1 - ( - 4 x + 2 )', '1 - ( - 2 x + 2 )', '1 - ( 4 x + 2 )', '1 - ( - 4 x + 4 )', '1 - ( - 2 x + 4 )', '1 - 4', '1 - ( 2 x + 4 )', '2 x + 1 - ( - 2 x - 4 )', '2 x + 1 - ( - 4 )', '2 x + 1 - ( 2 x - 4 )', '2 x + 1 - ( 4 x - 4 )', '2 x + 1 - ( - 4 x - 2 )', '2 x + 1 - ( - 2 )', '2 x + 1 - ( 2 x - 2 )', '2 x + 1 - ( 4 x - 2 )', '2 x + 1 - ( - 4 x )', '2 x + 1 - ( - 2 x )', '2 x + 1 - 2 x', '2 x + 1 - 4 x', '2 x + 1 - ( - 4 x + 2 )', '2 x + 1 - ( - 2 x + 2 )', '2 x + 1 - 2', '2 x + 1 - ( - 4 x + 4 )', '2 x + 1 - ( - 2 x + 4 )', '2 x + 1 - 4', '2 x + 1 - ( 2 x + 4 )', '- 2 x + 2 - ( - 2 x - 4 )', '- 2 x + 2 - ( - 4 )', '- 2 x + 2 - ( 2 x - 4 )', '- 2 x + 2 - ( 4 x - 4 )', '- 2 x + 2 - ( - 4 x - 2 )', '- 2 x + 2 - ( - 2 )', '- 2 x + 2 - ( 2 x - 2 )', '- 2 x + 2 - ( 4 x - 2 )', '- 2 x + 2 - ( - 4 x )', '- 2 x + 2 - ( - 2 x )', '- 2 x + 2 - 2 x', '- 2 x + 2 - 4 x', '- 2 x + 2 - ( - 4 x + 2 )', '- 2 x + 2 - ( - 2 x + 2 )', '- 2 x + 2 - 2', '- 2 x + 2 - ( 4 x + 2 )', '- 2 x + 2 - ( - 2 x + 4 )', '- 2 x + 2 - 4', '- 2 x + 2 - ( 2 x + 4 )', '- x + 2 - ( - 2 x - 4 )', '- x + 2 - ( - 4 )', '- x + 2 - ( 2 x - 4 )', '- x + 2 - ( 4 x - 4 )', '- x + 2 - ( - 4 x - 2 )', '- x + 2 - ( - 2 )', '- x + 2 - ( 2 x - 2 )', '- x + 2 - ( 4 x - 2 )', '- x + 2 - ( - 4 x )', '- x + 2 - ( - 2 x )', '- x + 2 - 2 x', '- x + 2 - 4 x', '- x + 2 - ( - 4 x + 2 )', '- x + 2 - ( - 2 x + 2 )', '- x + 2 - 2', '- x + 2 - ( 4 x + 2 )', '- x + 2 - ( - 4 x + 4 )', '- x + 2 - 4', '- x + 2 - ( 2 x + 4 )', '2 - ( - 2 x - 4 )', '2 - ( - 4 )', '2 - ( 2 x - 4 )', '2 - ( 4 x - 4 )', '2 - ( - 4 x - 2 )', '2 - ( - 2 )', '2 - ( 2 x - 2 )', '2 - ( 4 x - 2 )', '2 - ( - 4 x )', '2 - ( - 2 x )', '2 - 2 x', '2 - 4 x', '2 - ( - 4 x + 2 )', '2 - ( - 2 x + 2 )', '2 - 2', '2 - ( 4 x + 2 )', '2 - ( - 4 x + 4 )', '2 - ( - 2 x + 4 )', '2 - ( 2 x + 4 )', 'x + 2 - ( - 2 x - 4 )', 'x + 2 - ( - 4 )', 'x + 2 - ( 2 x - 4 )', 'x + 2 - ( 4 x - 4 )', 'x + 2 - ( - 4 x - 2 )', 'x + 2 - ( - 2 )', 'x + 2 - ( 2 x - 2 )', 'x + 2 - ( 4 x - 2 )', 'x + 2 - ( - 4 x )', 'x + 2 - ( - 2 x )', 'x + 2 - 2 x', 'x + 2 - 4 x', 'x + 2 - ( - 4 x + 2 )', 'x + 2 - ( - 2 x + 2 )', 'x + 2 - 2', 'x + 2 - ( 4 x + 2 )', 'x + 2 - ( - 4 x + 4 )', 'x + 2 - ( - 2 x + 4 )', 'x + 2 - 4'] +TEX_POLY_MUL_VALID_RESULTS = ['( - x - 2 ) \\times ( - 4 )', '( - x - 2 ) ( 2 x - 4 )', '( - x - 2 ) ( 4 x - 4 )', '( - x - 2 ) ( - 4 x - 2 )', '( - x - 2 ) \\times ( - 2 )', '( - x - 2 ) ( 2 x - 2 )', '( - x - 2 ) ( 4 x - 2 )', '( - x - 2 ) \\times ( - 4 x )', '( - x - 2 ) \\times ( - 2 x )', '( - x - 2 ) \\times 2 x', '( - x - 2 ) \\times 4 x', '( - x - 2 ) ( - 4 x + 2 )', '( - x - 2 ) ( - 2 x + 2 )', '( - x - 2 ) \\times 2', '( - x - 2 ) ( 4 x + 2 )', '( - x - 2 ) ( - 4 x + 4 )', '( - x - 2 ) ( - 2 x + 4 )', '( - x - 2 ) \\times 4', '( - x - 2 ) ( 2 x + 4 )', '- 2 ( - 2 x - 4 )', '- 2 ( 2 x - 4 )', '- 2 ( 4 x - 4 )', '- 2 ( - 4 x - 2 )', '- 2 \\times ( - 2 )', '- 2 ( 2 x - 2 )', '- 2 ( 4 x - 2 )', '- 2 \\times ( - 4 x )', '- 2 \\times ( - 2 x )', '- 2 \\times 2 x', '- 2 \\times 4 x', '- 2 ( - 4 x + 2 )', '- 2 ( - 2 x + 2 )', '- 2 \\times 2', '- 2 ( 4 x + 2 )', '- 2 ( - 4 x + 4 )', '- 2 ( - 2 x + 4 )', '- 2 \\times 4', '- 2 ( 2 x + 4 )', '( x - 2 ) ( - 2 x - 4 )', '( x - 2 ) \\times ( - 4 )', '( x - 2 ) ( 4 x - 4 )', '( x - 2 ) ( - 4 x - 2 )', '( x - 2 ) \\times ( - 2 )', '( x - 2 ) ( 2 x - 2 )', '( x - 2 ) ( 4 x - 2 )', '( x - 2 ) \\times ( - 4 x )', '( x - 2 ) \\times ( - 2 x )', '( x - 2 ) \\times 2 x', '( x - 2 ) \\times 4 x', '( x - 2 ) ( - 4 x + 2 )', '( x - 2 ) ( - 2 x + 2 )', '( x - 2 ) \\times 2', '( x - 2 ) ( 4 x + 2 )', '( x - 2 ) ( - 4 x + 4 )', '( x - 2 ) ( - 2 x + 4 )', '( x - 2 ) \\times 4', '( x - 2 ) ( 2 x + 4 )', '( 2 x - 2 ) ( - 2 x - 4 )', '( 2 x - 2 ) \\times ( - 4 )', '( 2 x - 2 ) ( 2 x - 4 )', '( 2 x - 2 ) ( - 4 x - 2 )', '( 2 x - 2 ) \\times ( - 2 )', '( 2 x - 2 ) ( 2 x - 2 )', '( 2 x - 2 ) ( 4 x - 2 )', '( 2 x - 2 ) \\times ( - 4 x )', '( 2 x - 2 ) \\times ( - 2 x )', '( 2 x - 2 ) \\times 2 x', '( 2 x - 2 ) \\times 4 x', '( 2 x - 2 ) ( - 4 x + 2 )', '( 2 x - 2 ) ( - 2 x + 2 )', '( 2 x - 2 ) \\times 2', '( 2 x - 2 ) ( 4 x + 2 )', '( 2 x - 2 ) ( - 4 x + 4 )', '( 2 x - 2 ) ( - 2 x + 4 )', '( 2 x - 2 ) \\times 4', '( 2 x - 2 ) ( 2 x + 4 )', '( - 2 x - 1 ) ( - 2 x - 4 )', '( - 2 x - 1 ) \\times ( - 4 )', '( - 2 x - 1 ) ( 2 x - 4 )', '( - 2 x - 1 ) ( 4 x - 4 )', '( - 2 x - 1 ) \\times ( - 2 )', '( - 2 x - 1 ) ( 2 x - 2 )', '( - 2 x - 1 ) ( 4 x - 2 )', '( - 2 x - 1 ) \\times ( - 4 x )', '( - 2 x - 1 ) \\times ( - 2 x )', '( - 2 x - 1 ) \\times 2 x', '( - 2 x - 1 ) \\times 4 x', '( - 2 x - 1 ) ( - 4 x + 2 )', '( - 2 x - 1 ) ( - 2 x + 2 )', '( - 2 x - 1 ) \\times 2', '( - 2 x - 1 ) ( 4 x + 2 )', '( - 2 x - 1 ) ( - 4 x + 4 )', '( - 2 x - 1 ) ( - 2 x + 4 )', '( - 2 x - 1 ) \\times 4', '( - 2 x - 1 ) ( 2 x + 4 )', '- 1 ( - 2 x - 4 )', '- 1 \\times ( - 4 )', '- 1 ( 2 x - 4 )', '- 1 ( 4 x - 4 )', '- 1 ( - 4 x - 2 )', '- 1 ( 2 x - 2 )', '- 1 ( 4 x - 2 )', '- 1 \\times ( - 4 x )', '- 1 \\times ( - 2 x )', '- 1 \\times 2 x', '- 1 \\times 4 x', '- 1 ( - 4 x + 2 )', '- 1 ( - 2 x + 2 )', '- 1 \\times 2', '- 1 ( 4 x + 2 )', '- 1 ( - 4 x + 4 )', '- 1 ( - 2 x + 4 )', '- 1 \\times 4', '- 1 ( 2 x + 4 )', '( x - 1 ) ( - 2 x - 4 )', '( x - 1 ) \\times ( - 4 )', '( x - 1 ) ( 2 x - 4 )', '( x - 1 ) ( 4 x - 4 )', '( x - 1 ) ( - 4 x - 2 )', '( x - 1 ) \\times ( - 2 )', '( x - 1 ) ( 4 x - 2 )', '( x - 1 ) \\times ( - 4 x )', '( x - 1 ) \\times ( - 2 x )', '( x - 1 ) \\times 2 x', '( x - 1 ) \\times 4 x', '( x - 1 ) ( - 4 x + 2 )', '( x - 1 ) ( - 2 x + 2 )', '( x - 1 ) \\times 2', '( x - 1 ) ( 4 x + 2 )', '( x - 1 ) ( - 4 x + 4 )', '( x - 1 ) ( - 2 x + 4 )', '( x - 1 ) \\times 4', '( x - 1 ) ( 2 x + 4 )', '( 2 x - 1 ) ( - 2 x - 4 )', '( 2 x - 1 ) \\times ( - 4 )', '( 2 x - 1 ) ( 2 x - 4 )', '( 2 x - 1 ) ( 4 x - 4 )', '( 2 x - 1 ) ( - 4 x - 2 )', '( 2 x - 1 ) \\times ( - 2 )', '( 2 x - 1 ) ( 2 x - 2 )', '( 2 x - 1 ) \\times ( - 4 x )', '( 2 x - 1 ) \\times ( - 2 x )', '( 2 x - 1 ) \\times 2 x', '( 2 x - 1 ) \\times 4 x', '( 2 x - 1 ) ( - 4 x + 2 )', '( 2 x - 1 ) ( - 2 x + 2 )', '( 2 x - 1 ) \\times 2', '( 2 x - 1 ) ( 4 x + 2 )', '( 2 x - 1 ) ( - 4 x + 4 )', '( 2 x - 1 ) ( - 2 x + 4 )', '( 2 x - 1 ) \\times 4', '( 2 x - 1 ) ( 2 x + 4 )', '- 2 x ( - 2 x - 4 )', '- 2 x \\times ( - 4 )', '- 2 x ( 2 x - 4 )', '- 2 x ( 4 x - 4 )', '- 2 x ( - 4 x - 2 )', '- 2 x \\times ( - 2 )', '- 2 x ( 2 x - 2 )', '- 2 x ( 4 x - 2 )', '- 2 x \\times ( - 2 x )', '- 2 x \\times 2 x', '- 2 x \\times 4 x', '- 2 x ( - 4 x + 2 )', '- 2 x ( - 2 x + 2 )', '- 2 x \\times 2', '- 2 x ( 4 x + 2 )', '- 2 x ( - 4 x + 4 )', '- 2 x ( - 2 x + 4 )', '- 2 x \\times 4', '- 2 x ( 2 x + 4 )', '- x ( - 2 x - 4 )', '- x \\times ( - 4 )', '- x ( 2 x - 4 )', '- x ( 4 x - 4 )', '- x ( - 4 x - 2 )', '- x \\times ( - 2 )', '- x ( 2 x - 2 )', '- x ( 4 x - 2 )', '- x \\times ( - 4 x )', '- x \\times 2 x', '- x \\times 4 x', '- x ( - 4 x + 2 )', '- x ( - 2 x + 2 )', '- x \\times 2', '- x ( 4 x + 2 )', '- x ( - 4 x + 4 )', '- x ( - 2 x + 4 )', '- x \\times 4', '- x ( 2 x + 4 )', 'x ( - 2 x - 4 )', 'x \\times ( - 4 )', 'x ( 2 x - 4 )', 'x ( 4 x - 4 )', 'x ( - 4 x - 2 )', 'x \\times ( - 2 )', 'x ( 2 x - 2 )', 'x ( 4 x - 2 )', 'x \\times ( - 4 x )', 'x \\times ( - 2 x )', 'x \\times 4 x', 'x ( - 4 x + 2 )', 'x ( - 2 x + 2 )', 'x \\times 2', 'x ( 4 x + 2 )', 'x ( - 4 x + 4 )', 'x ( - 2 x + 4 )', 'x \\times 4', 'x ( 2 x + 4 )', '2 x ( - 2 x - 4 )', '2 x \\times ( - 4 )', '2 x ( 2 x - 4 )', '2 x ( 4 x - 4 )', '2 x ( - 4 x - 2 )', '2 x \\times ( - 2 )', '2 x ( 2 x - 2 )', '2 x ( 4 x - 2 )', '2 x \\times ( - 4 x )', '2 x \\times ( - 2 x )', '2 x \\times 2 x', '2 x ( - 4 x + 2 )', '2 x ( - 2 x + 2 )', '2 x \\times 2', '2 x ( 4 x + 2 )', '2 x ( - 4 x + 4 )', '2 x ( - 2 x + 4 )', '2 x \\times 4', '2 x ( 2 x + 4 )', '( - 2 x + 1 ) ( - 2 x - 4 )', '( - 2 x + 1 ) \\times ( - 4 )', '( - 2 x + 1 ) ( 2 x - 4 )', '( - 2 x + 1 ) ( 4 x - 4 )', '( - 2 x + 1 ) ( - 4 x - 2 )', '( - 2 x + 1 ) \\times ( - 2 )', '( - 2 x + 1 ) ( 2 x - 2 )', '( - 2 x + 1 ) ( 4 x - 2 )', '( - 2 x + 1 ) \\times ( - 4 x )', '( - 2 x + 1 ) \\times ( - 2 x )', '( - 2 x + 1 ) \\times 2 x', '( - 2 x + 1 ) \\times 4 x', '( - 2 x + 1 ) ( - 2 x + 2 )', '( - 2 x + 1 ) \\times 2', '( - 2 x + 1 ) ( 4 x + 2 )', '( - 2 x + 1 ) ( - 4 x + 4 )', '( - 2 x + 1 ) ( - 2 x + 4 )', '( - 2 x + 1 ) \\times 4', '( - 2 x + 1 ) ( 2 x + 4 )', '( - x + 1 ) ( - 2 x - 4 )', '( - x + 1 ) \\times ( - 4 )', '( - x + 1 ) ( 2 x - 4 )', '( - x + 1 ) ( 4 x - 4 )', '( - x + 1 ) ( - 4 x - 2 )', '( - x + 1 ) \\times ( - 2 )', '( - x + 1 ) ( 2 x - 2 )', '( - x + 1 ) ( 4 x - 2 )', '( - x + 1 ) \\times ( - 4 x )', '( - x + 1 ) \\times ( - 2 x )', '( - x + 1 ) \\times 2 x', '( - x + 1 ) \\times 4 x', '( - x + 1 ) ( - 4 x + 2 )', '( - x + 1 ) \\times 2', '( - x + 1 ) ( 4 x + 2 )', '( - x + 1 ) ( - 4 x + 4 )', '( - x + 1 ) ( - 2 x + 4 )', '( - x + 1 ) \\times 4', '( - x + 1 ) ( 2 x + 4 )', '1 ( - 2 x - 4 )', '1 \\times ( - 4 )', '1 ( 2 x - 4 )', '1 ( 4 x - 4 )', '1 ( - 4 x - 2 )', '1 \\times ( - 2 )', '1 ( 2 x - 2 )', '1 ( 4 x - 2 )', '1 \\times ( - 4 x )', '1 \\times ( - 2 x )', '1 \\times 2 x', '1 \\times 4 x', '1 ( - 4 x + 2 )', '1 ( - 2 x + 2 )', '1 ( 4 x + 2 )', '1 ( - 4 x + 4 )', '1 ( - 2 x + 4 )', '1 \\times 4', '1 ( 2 x + 4 )', '( 2 x + 1 ) ( - 2 x - 4 )', '( 2 x + 1 ) \\times ( - 4 )', '( 2 x + 1 ) ( 2 x - 4 )', '( 2 x + 1 ) ( 4 x - 4 )', '( 2 x + 1 ) ( - 4 x - 2 )', '( 2 x + 1 ) \\times ( - 2 )', '( 2 x + 1 ) ( 2 x - 2 )', '( 2 x + 1 ) ( 4 x - 2 )', '( 2 x + 1 ) \\times ( - 4 x )', '( 2 x + 1 ) \\times ( - 2 x )', '( 2 x + 1 ) \\times 2 x', '( 2 x + 1 ) \\times 4 x', '( 2 x + 1 ) ( - 4 x + 2 )', '( 2 x + 1 ) ( - 2 x + 2 )', '( 2 x + 1 ) \\times 2', '( 2 x + 1 ) ( - 4 x + 4 )', '( 2 x + 1 ) ( - 2 x + 4 )', '( 2 x + 1 ) \\times 4', '( 2 x + 1 ) ( 2 x + 4 )', '( - 2 x + 2 ) ( - 2 x - 4 )', '( - 2 x + 2 ) \\times ( - 4 )', '( - 2 x + 2 ) ( 2 x - 4 )', '( - 2 x + 2 ) ( 4 x - 4 )', '( - 2 x + 2 ) ( - 4 x - 2 )', '( - 2 x + 2 ) \\times ( - 2 )', '( - 2 x + 2 ) ( 2 x - 2 )', '( - 2 x + 2 ) ( 4 x - 2 )', '( - 2 x + 2 ) \\times ( - 4 x )', '( - 2 x + 2 ) \\times ( - 2 x )', '( - 2 x + 2 ) \\times 2 x', '( - 2 x + 2 ) \\times 4 x', '( - 2 x + 2 ) ( - 4 x + 2 )', '( - 2 x + 2 ) ( - 2 x + 2 )', '( - 2 x + 2 ) \\times 2', '( - 2 x + 2 ) ( 4 x + 2 )', '( - 2 x + 2 ) ( - 2 x + 4 )', '( - 2 x + 2 ) \\times 4', '( - 2 x + 2 ) ( 2 x + 4 )', '( - x + 2 ) ( - 2 x - 4 )', '( - x + 2 ) \\times ( - 4 )', '( - x + 2 ) ( 2 x - 4 )', '( - x + 2 ) ( 4 x - 4 )', '( - x + 2 ) ( - 4 x - 2 )', '( - x + 2 ) \\times ( - 2 )', '( - x + 2 ) ( 2 x - 2 )', '( - x + 2 ) ( 4 x - 2 )', '( - x + 2 ) \\times ( - 4 x )', '( - x + 2 ) \\times ( - 2 x )', '( - x + 2 ) \\times 2 x', '( - x + 2 ) \\times 4 x', '( - x + 2 ) ( - 4 x + 2 )', '( - x + 2 ) ( - 2 x + 2 )', '( - x + 2 ) \\times 2', '( - x + 2 ) ( 4 x + 2 )', '( - x + 2 ) ( - 4 x + 4 )', '( - x + 2 ) \\times 4', '( - x + 2 ) ( 2 x + 4 )', '2 ( - 2 x - 4 )', '2 \\times ( - 4 )', '2 ( 2 x - 4 )', '2 ( 4 x - 4 )', '2 ( - 4 x - 2 )', '2 \\times ( - 2 )', '2 ( 2 x - 2 )', '2 ( 4 x - 2 )', '2 \\times ( - 4 x )', '2 \\times ( - 2 x )', '2 \\times 2 x', '2 \\times 4 x', '2 ( - 4 x + 2 )', '2 ( - 2 x + 2 )', '2 \\times 2', '2 ( 4 x + 2 )', '2 ( - 4 x + 4 )', '2 ( - 2 x + 4 )', '2 ( 2 x + 4 )', '( x + 2 ) ( - 2 x - 4 )', '( x + 2 ) \\times ( - 4 )', '( x + 2 ) ( 2 x - 4 )', '( x + 2 ) ( 4 x - 4 )', '( x + 2 ) ( - 4 x - 2 )', '( x + 2 ) \\times ( - 2 )', '( x + 2 ) ( 2 x - 2 )', '( x + 2 ) ( 4 x - 2 )', '( x + 2 ) \\times ( - 4 x )', '( x + 2 ) \\times ( - 2 x )', '( x + 2 ) \\times 2 x', '( x + 2 ) \\times 4 x', '( x + 2 ) ( - 4 x + 2 )', '( x + 2 ) ( - 2 x + 2 )', '( x + 2 ) \\times 2', '( x + 2 ) ( 4 x + 2 )', '( x + 2 ) ( - 4 x + 4 )', '( x + 2 ) ( - 2 x + 4 )', '( x + 2 ) \\times 4'] +TXT_POLY_MUL_VALID_RESULTS = ['( - x - 2 ) * ( - 4 )', '( - x - 2 ) ( 2 x - 4 )', '( - x - 2 ) ( 4 x - 4 )', '( - x - 2 ) ( - 4 x - 2 )', '( - x - 2 ) * ( - 2 )', '( - x - 2 ) ( 2 x - 2 )', '( - x - 2 ) ( 4 x - 2 )', '( - x - 2 ) * ( - 4 x )', '( - x - 2 ) * ( - 2 x )', '( - x - 2 ) * 2 x', '( - x - 2 ) * 4 x', '( - x - 2 ) ( - 4 x + 2 )', '( - x - 2 ) ( - 2 x + 2 )', '( - x - 2 ) * 2', '( - x - 2 ) ( 4 x + 2 )', '( - x - 2 ) ( - 4 x + 4 )', '( - x - 2 ) ( - 2 x + 4 )', '( - x - 2 ) * 4', '( - x - 2 ) ( 2 x + 4 )', '- 2 ( - 2 x - 4 )', '- 2 ( 2 x - 4 )', '- 2 ( 4 x - 4 )', '- 2 ( - 4 x - 2 )', '- 2 * ( - 2 )', '- 2 ( 2 x - 2 )', '- 2 ( 4 x - 2 )', '- 2 * ( - 4 x )', '- 2 * ( - 2 x )', '- 2 * 2 x', '- 2 * 4 x', '- 2 ( - 4 x + 2 )', '- 2 ( - 2 x + 2 )', '- 2 * 2', '- 2 ( 4 x + 2 )', '- 2 ( - 4 x + 4 )', '- 2 ( - 2 x + 4 )', '- 2 * 4', '- 2 ( 2 x + 4 )', '( x - 2 ) ( - 2 x - 4 )', '( x - 2 ) * ( - 4 )', '( x - 2 ) ( 4 x - 4 )', '( x - 2 ) ( - 4 x - 2 )', '( x - 2 ) * ( - 2 )', '( x - 2 ) ( 2 x - 2 )', '( x - 2 ) ( 4 x - 2 )', '( x - 2 ) * ( - 4 x )', '( x - 2 ) * ( - 2 x )', '( x - 2 ) * 2 x', '( x - 2 ) * 4 x', '( x - 2 ) ( - 4 x + 2 )', '( x - 2 ) ( - 2 x + 2 )', '( x - 2 ) * 2', '( x - 2 ) ( 4 x + 2 )', '( x - 2 ) ( - 4 x + 4 )', '( x - 2 ) ( - 2 x + 4 )', '( x - 2 ) * 4', '( x - 2 ) ( 2 x + 4 )', '( 2 x - 2 ) ( - 2 x - 4 )', '( 2 x - 2 ) * ( - 4 )', '( 2 x - 2 ) ( 2 x - 4 )', '( 2 x - 2 ) ( - 4 x - 2 )', '( 2 x - 2 ) * ( - 2 )', '( 2 x - 2 ) ( 2 x - 2 )', '( 2 x - 2 ) ( 4 x - 2 )', '( 2 x - 2 ) * ( - 4 x )', '( 2 x - 2 ) * ( - 2 x )', '( 2 x - 2 ) * 2 x', '( 2 x - 2 ) * 4 x', '( 2 x - 2 ) ( - 4 x + 2 )', '( 2 x - 2 ) ( - 2 x + 2 )', '( 2 x - 2 ) * 2', '( 2 x - 2 ) ( 4 x + 2 )', '( 2 x - 2 ) ( - 4 x + 4 )', '( 2 x - 2 ) ( - 2 x + 4 )', '( 2 x - 2 ) * 4', '( 2 x - 2 ) ( 2 x + 4 )', '( - 2 x - 1 ) ( - 2 x - 4 )', '( - 2 x - 1 ) * ( - 4 )', '( - 2 x - 1 ) ( 2 x - 4 )', '( - 2 x - 1 ) ( 4 x - 4 )', '( - 2 x - 1 ) * ( - 2 )', '( - 2 x - 1 ) ( 2 x - 2 )', '( - 2 x - 1 ) ( 4 x - 2 )', '( - 2 x - 1 ) * ( - 4 x )', '( - 2 x - 1 ) * ( - 2 x )', '( - 2 x - 1 ) * 2 x', '( - 2 x - 1 ) * 4 x', '( - 2 x - 1 ) ( - 4 x + 2 )', '( - 2 x - 1 ) ( - 2 x + 2 )', '( - 2 x - 1 ) * 2', '( - 2 x - 1 ) ( 4 x + 2 )', '( - 2 x - 1 ) ( - 4 x + 4 )', '( - 2 x - 1 ) ( - 2 x + 4 )', '( - 2 x - 1 ) * 4', '( - 2 x - 1 ) ( 2 x + 4 )', '- 1 ( - 2 x - 4 )', '- 1 * ( - 4 )', '- 1 ( 2 x - 4 )', '- 1 ( 4 x - 4 )', '- 1 ( - 4 x - 2 )', '- 1 ( 2 x - 2 )', '- 1 ( 4 x - 2 )', '- 1 * ( - 4 x )', '- 1 * ( - 2 x )', '- 1 * 2 x', '- 1 * 4 x', '- 1 ( - 4 x + 2 )', '- 1 ( - 2 x + 2 )', '- 1 * 2', '- 1 ( 4 x + 2 )', '- 1 ( - 4 x + 4 )', '- 1 ( - 2 x + 4 )', '- 1 * 4', '- 1 ( 2 x + 4 )', '( x - 1 ) ( - 2 x - 4 )', '( x - 1 ) * ( - 4 )', '( x - 1 ) ( 2 x - 4 )', '( x - 1 ) ( 4 x - 4 )', '( x - 1 ) ( - 4 x - 2 )', '( x - 1 ) * ( - 2 )', '( x - 1 ) ( 4 x - 2 )', '( x - 1 ) * ( - 4 x )', '( x - 1 ) * ( - 2 x )', '( x - 1 ) * 2 x', '( x - 1 ) * 4 x', '( x - 1 ) ( - 4 x + 2 )', '( x - 1 ) ( - 2 x + 2 )', '( x - 1 ) * 2', '( x - 1 ) ( 4 x + 2 )', '( x - 1 ) ( - 4 x + 4 )', '( x - 1 ) ( - 2 x + 4 )', '( x - 1 ) * 4', '( x - 1 ) ( 2 x + 4 )', '( 2 x - 1 ) ( - 2 x - 4 )', '( 2 x - 1 ) * ( - 4 )', '( 2 x - 1 ) ( 2 x - 4 )', '( 2 x - 1 ) ( 4 x - 4 )', '( 2 x - 1 ) ( - 4 x - 2 )', '( 2 x - 1 ) * ( - 2 )', '( 2 x - 1 ) ( 2 x - 2 )', '( 2 x - 1 ) * ( - 4 x )', '( 2 x - 1 ) * ( - 2 x )', '( 2 x - 1 ) * 2 x', '( 2 x - 1 ) * 4 x', '( 2 x - 1 ) ( - 4 x + 2 )', '( 2 x - 1 ) ( - 2 x + 2 )', '( 2 x - 1 ) * 2', '( 2 x - 1 ) ( 4 x + 2 )', '( 2 x - 1 ) ( - 4 x + 4 )', '( 2 x - 1 ) ( - 2 x + 4 )', '( 2 x - 1 ) * 4', '( 2 x - 1 ) ( 2 x + 4 )', '- 2 x ( - 2 x - 4 )', '- 2 x * ( - 4 )', '- 2 x ( 2 x - 4 )', '- 2 x ( 4 x - 4 )', '- 2 x ( - 4 x - 2 )', '- 2 x * ( - 2 )', '- 2 x ( 2 x - 2 )', '- 2 x ( 4 x - 2 )', '- 2 x * ( - 2 x )', '- 2 x * 2 x', '- 2 x * 4 x', '- 2 x ( - 4 x + 2 )', '- 2 x ( - 2 x + 2 )', '- 2 x * 2', '- 2 x ( 4 x + 2 )', '- 2 x ( - 4 x + 4 )', '- 2 x ( - 2 x + 4 )', '- 2 x * 4', '- 2 x ( 2 x + 4 )', '- x ( - 2 x - 4 )', '- x * ( - 4 )', '- x ( 2 x - 4 )', '- x ( 4 x - 4 )', '- x ( - 4 x - 2 )', '- x * ( - 2 )', '- x ( 2 x - 2 )', '- x ( 4 x - 2 )', '- x * ( - 4 x )', '- x * 2 x', '- x * 4 x', '- x ( - 4 x + 2 )', '- x ( - 2 x + 2 )', '- x * 2', '- x ( 4 x + 2 )', '- x ( - 4 x + 4 )', '- x ( - 2 x + 4 )', '- x * 4', '- x ( 2 x + 4 )', 'x ( - 2 x - 4 )', 'x * ( - 4 )', 'x ( 2 x - 4 )', 'x ( 4 x - 4 )', 'x ( - 4 x - 2 )', 'x * ( - 2 )', 'x ( 2 x - 2 )', 'x ( 4 x - 2 )', 'x * ( - 4 x )', 'x * ( - 2 x )', 'x * 4 x', 'x ( - 4 x + 2 )', 'x ( - 2 x + 2 )', 'x * 2', 'x ( 4 x + 2 )', 'x ( - 4 x + 4 )', 'x ( - 2 x + 4 )', 'x * 4', 'x ( 2 x + 4 )', '2 x ( - 2 x - 4 )', '2 x * ( - 4 )', '2 x ( 2 x - 4 )', '2 x ( 4 x - 4 )', '2 x ( - 4 x - 2 )', '2 x * ( - 2 )', '2 x ( 2 x - 2 )', '2 x ( 4 x - 2 )', '2 x * ( - 4 x )', '2 x * ( - 2 x )', '2 x * 2 x', '2 x ( - 4 x + 2 )', '2 x ( - 2 x + 2 )', '2 x * 2', '2 x ( 4 x + 2 )', '2 x ( - 4 x + 4 )', '2 x ( - 2 x + 4 )', '2 x * 4', '2 x ( 2 x + 4 )', '( - 2 x + 1 ) ( - 2 x - 4 )', '( - 2 x + 1 ) * ( - 4 )', '( - 2 x + 1 ) ( 2 x - 4 )', '( - 2 x + 1 ) ( 4 x - 4 )', '( - 2 x + 1 ) ( - 4 x - 2 )', '( - 2 x + 1 ) * ( - 2 )', '( - 2 x + 1 ) ( 2 x - 2 )', '( - 2 x + 1 ) ( 4 x - 2 )', '( - 2 x + 1 ) * ( - 4 x )', '( - 2 x + 1 ) * ( - 2 x )', '( - 2 x + 1 ) * 2 x', '( - 2 x + 1 ) * 4 x', '( - 2 x + 1 ) ( - 2 x + 2 )', '( - 2 x + 1 ) * 2', '( - 2 x + 1 ) ( 4 x + 2 )', '( - 2 x + 1 ) ( - 4 x + 4 )', '( - 2 x + 1 ) ( - 2 x + 4 )', '( - 2 x + 1 ) * 4', '( - 2 x + 1 ) ( 2 x + 4 )', '( - x + 1 ) ( - 2 x - 4 )', '( - x + 1 ) * ( - 4 )', '( - x + 1 ) ( 2 x - 4 )', '( - x + 1 ) ( 4 x - 4 )', '( - x + 1 ) ( - 4 x - 2 )', '( - x + 1 ) * ( - 2 )', '( - x + 1 ) ( 2 x - 2 )', '( - x + 1 ) ( 4 x - 2 )', '( - x + 1 ) * ( - 4 x )', '( - x + 1 ) * ( - 2 x )', '( - x + 1 ) * 2 x', '( - x + 1 ) * 4 x', '( - x + 1 ) ( - 4 x + 2 )', '( - x + 1 ) * 2', '( - x + 1 ) ( 4 x + 2 )', '( - x + 1 ) ( - 4 x + 4 )', '( - x + 1 ) ( - 2 x + 4 )', '( - x + 1 ) * 4', '( - x + 1 ) ( 2 x + 4 )', '1 ( - 2 x - 4 )', '1 * ( - 4 )', '1 ( 2 x - 4 )', '1 ( 4 x - 4 )', '1 ( - 4 x - 2 )', '1 * ( - 2 )', '1 ( 2 x - 2 )', '1 ( 4 x - 2 )', '1 * ( - 4 x )', '1 * ( - 2 x )', '1 * 2 x', '1 * 4 x', '1 ( - 4 x + 2 )', '1 ( - 2 x + 2 )', '1 ( 4 x + 2 )', '1 ( - 4 x + 4 )', '1 ( - 2 x + 4 )', '1 * 4', '1 ( 2 x + 4 )', '( 2 x + 1 ) ( - 2 x - 4 )', '( 2 x + 1 ) * ( - 4 )', '( 2 x + 1 ) ( 2 x - 4 )', '( 2 x + 1 ) ( 4 x - 4 )', '( 2 x + 1 ) ( - 4 x - 2 )', '( 2 x + 1 ) * ( - 2 )', '( 2 x + 1 ) ( 2 x - 2 )', '( 2 x + 1 ) ( 4 x - 2 )', '( 2 x + 1 ) * ( - 4 x )', '( 2 x + 1 ) * ( - 2 x )', '( 2 x + 1 ) * 2 x', '( 2 x + 1 ) * 4 x', '( 2 x + 1 ) ( - 4 x + 2 )', '( 2 x + 1 ) ( - 2 x + 2 )', '( 2 x + 1 ) * 2', '( 2 x + 1 ) ( - 4 x + 4 )', '( 2 x + 1 ) ( - 2 x + 4 )', '( 2 x + 1 ) * 4', '( 2 x + 1 ) ( 2 x + 4 )', '( - 2 x + 2 ) ( - 2 x - 4 )', '( - 2 x + 2 ) * ( - 4 )', '( - 2 x + 2 ) ( 2 x - 4 )', '( - 2 x + 2 ) ( 4 x - 4 )', '( - 2 x + 2 ) ( - 4 x - 2 )', '( - 2 x + 2 ) * ( - 2 )', '( - 2 x + 2 ) ( 2 x - 2 )', '( - 2 x + 2 ) ( 4 x - 2 )', '( - 2 x + 2 ) * ( - 4 x )', '( - 2 x + 2 ) * ( - 2 x )', '( - 2 x + 2 ) * 2 x', '( - 2 x + 2 ) * 4 x', '( - 2 x + 2 ) ( - 4 x + 2 )', '( - 2 x + 2 ) ( - 2 x + 2 )', '( - 2 x + 2 ) * 2', '( - 2 x + 2 ) ( 4 x + 2 )', '( - 2 x + 2 ) ( - 2 x + 4 )', '( - 2 x + 2 ) * 4', '( - 2 x + 2 ) ( 2 x + 4 )', '( - x + 2 ) ( - 2 x - 4 )', '( - x + 2 ) * ( - 4 )', '( - x + 2 ) ( 2 x - 4 )', '( - x + 2 ) ( 4 x - 4 )', '( - x + 2 ) ( - 4 x - 2 )', '( - x + 2 ) * ( - 2 )', '( - x + 2 ) ( 2 x - 2 )', '( - x + 2 ) ( 4 x - 2 )', '( - x + 2 ) * ( - 4 x )', '( - x + 2 ) * ( - 2 x )', '( - x + 2 ) * 2 x', '( - x + 2 ) * 4 x', '( - x + 2 ) ( - 4 x + 2 )', '( - x + 2 ) ( - 2 x + 2 )', '( - x + 2 ) * 2', '( - x + 2 ) ( 4 x + 2 )', '( - x + 2 ) ( - 4 x + 4 )', '( - x + 2 ) * 4', '( - x + 2 ) ( 2 x + 4 )', '2 ( - 2 x - 4 )', '2 * ( - 4 )', '2 ( 2 x - 4 )', '2 ( 4 x - 4 )', '2 ( - 4 x - 2 )', '2 * ( - 2 )', '2 ( 2 x - 2 )', '2 ( 4 x - 2 )', '2 * ( - 4 x )', '2 * ( - 2 x )', '2 * 2 x', '2 * 4 x', '2 ( - 4 x + 2 )', '2 ( - 2 x + 2 )', '2 * 2', '2 ( 4 x + 2 )', '2 ( - 4 x + 4 )', '2 ( - 2 x + 4 )', '2 ( 2 x + 4 )', '( x + 2 ) ( - 2 x - 4 )', '( x + 2 ) * ( - 4 )', '( x + 2 ) ( 2 x - 4 )', '( x + 2 ) ( 4 x - 4 )', '( x + 2 ) ( - 4 x - 2 )', '( x + 2 ) * ( - 2 )', '( x + 2 ) ( 2 x - 2 )', '( x + 2 ) ( 4 x - 2 )', '( x + 2 ) * ( - 4 x )', '( x + 2 ) * ( - 2 x )', '( x + 2 ) * 2 x', '( x + 2 ) * 4 x', '( x + 2 ) ( - 4 x + 2 )', '( x + 2 ) ( - 2 x + 2 )', '( x + 2 ) * 2', '( x + 2 ) ( 4 x + 2 )', '( x + 2 ) ( - 4 x + 4 )', '( x + 2 ) ( - 2 x + 4 )', '( x + 2 ) * 4'] diff --git a/test/test_render.py b/test/test_render.py index 50394b5..8e16752 100644 --- a/test/test_render.py +++ b/test/test_render.py @@ -8,7 +8,23 @@ from pymath.render import tex, txt,p2i from pymath.fraction import Fraction from pymath.polynom import Polynom from pymath.operator import op +from pymath.expression import Expression +from itertools import permutations + + +def mass_poly_test(operation, rg= 5): + """ @todo + + :op: the operation + :rg: number of potential values for coefs + :returns: @todo + """ + coefs_p = [[(i-2),(j-2)] for i,j in permutations(range(rg),2)] + coefs_q = [[2*(i-2),2*(j-2)] for i,j in permutations(range(rg),2)] + l_p = [Polynom(i) for i in coefs_p] + l_q = [Polynom(i) for i in coefs_q] + return [Expression([l_p[i],l_q[j],op.get_op(operation)]) for i,j in permutations(range(len(coefs_p)),2)] class TestTexRender(unittest.TestCase): @@ -40,6 +56,24 @@ class TestTexRender(unittest.TestCase): rend = tex(e) self.assertEqual(rend, wanted_render[i]) + def test_mass_add(self): + permu = mass_poly_test("+",5) + from .mass_test import POLY_ADD_VALID_RESULTS + for (i,v) in enumerate(permu): + self.assertEqual(tex(v), POLY_ADD_VALID_RESULTS[i]) + + def test_mass_sub(self): + permu = mass_poly_test("-",5) + from .mass_test import POLY_SUB_VALID_RESULTS + for (i,v) in enumerate(permu): + self.assertEqual(tex(v), POLY_SUB_VALID_RESULTS[i]) + + def test_mass_mul(self): + permu = mass_poly_test("*",5) + from .mass_test import TEX_POLY_MUL_VALID_RESULTS + for (i,v) in enumerate(permu): + self.assertEqual(tex(v), TEX_POLY_MUL_VALID_RESULTS[i]) + def test_add_letter(self): exps = [[2, "a", op.add ], ["a", 3, op.add ], @@ -239,6 +273,24 @@ class TesttxtRender(unittest.TestCase): def test_slash(self): pass + def test_mass_add(self): + permu = mass_poly_test("+",5) + from .mass_test import POLY_ADD_VALID_RESULTS + for (i,v) in enumerate(permu): + self.assertEqual(txt(v), POLY_ADD_VALID_RESULTS[i]) + + def test_mass_sub(self): + permu = mass_poly_test("-",5) + from .mass_test import POLY_SUB_VALID_RESULTS + for (i,v) in enumerate(permu): + self.assertEqual(txt(v), POLY_SUB_VALID_RESULTS[i]) + + def test_mass_mul(self): + permu = mass_poly_test("*",5) + from .mass_test import TXT_POLY_MUL_VALID_RESULTS + for (i,v) in enumerate(permu): + self.assertEqual(txt(v), TXT_POLY_MUL_VALID_RESULTS[i]) + if __name__ == '__main__': unittest.main() @@ -250,6 +302,7 @@ if __name__ == '__main__': + # ----------------------------- # Reglages pour 'vim' # vim:set autoindent expandtab tabstop=4 shiftwidth=4: diff --git a/test/trop_de_tests.rst b/test/trop_de_tests.rst deleted file mode 100644 index 542b092..0000000 --- a/test/trop_de_tests.rst +++ /dev/null @@ -1,16 +0,0 @@ -Faire tous les cas de figures -============================= - -Tester toutes les multiplications possibles -------------------------------------------- - - .. code-block:: python - - >>> from itertools import permutations - >>> coefs_p = [[(i-2),(j-2)] for i,j in permutations(range(5),2)] - >>> coefs_q = [[2*(i-2),2*(j-2)] for i,j in permutations(range(5),2)] - >>> l_p = [Polynom(i) for i in coefs_p] - >>> l_q = [Polynom(i) for i in coefs_q] - >>> operations = [Expression([l_p[i],l_q[j],op.mul]) for i,j in permutations(range(len(coefs_p)),2)] - >>> for i in operations: - ... print(i)