From 443cc3b0fe4bd9ba6e631b3de9fd7328920ea976 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Sun, 21 May 2023 11:43:32 +0200 Subject: [PATCH] feat: merge laptop and pc changes --- examples/complicated/table1.pdf | Bin 0 -> 4532 bytes examples/complicated/table1.tex | 14 ++ examples/justLines/table.pdf | Bin 0 -> 2567 bytes examples/justLines/table.tex | 8 ++ examples/minimalWorking/table.pdf | Bin 0 -> 2082 bytes examples/minimalWorking/table.tex | 7 + .../test_tabular_required_parameters.py | 127 ++++++++++++++++++ 7 files changed, 156 insertions(+) create mode 100644 examples/complicated/table1.pdf create mode 100644 examples/complicated/table1.tex create mode 100644 examples/justLines/table.pdf create mode 100644 examples/justLines/table.tex create mode 100644 examples/minimalWorking/table.pdf create mode 100644 examples/minimalWorking/table.tex create mode 100644 program/tests/test_code/test_tabular_required_parameters.py diff --git a/examples/complicated/table1.pdf b/examples/complicated/table1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7c7c02011ab45c63f30abd53d32b7c58730c82bc GIT binary patch literal 4532 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 A7XSbN literal 0 HcmV?d00001 diff --git a/examples/minimalWorking/table.tex b/examples/minimalWorking/table.tex new file mode 100644 index 00000000..c92e959c --- /dev/null +++ b/examples/minimalWorking/table.tex @@ -0,0 +1,7 @@ +\documentclass{article} +\begin{document} + +\begin{tabular}{c} +\end{tabular} + +\end{document} \ No newline at end of file diff --git a/program/tests/test_code/test_tabular_required_parameters.py b/program/tests/test_code/test_tabular_required_parameters.py new file mode 100644 index 00000000..7a3dbe7b --- /dev/null +++ b/program/tests/test_code/test_tabular_required_parameters.py @@ -0,0 +1,127 @@ +""" + Tests tabular_parameters function +""" + +from code.main import tabular_required_parameters + +def given_empty_then_error(): + """ + Given: + When: N/A + Then: + """ + assert tabular_required_parameters("") == "Error!" + +def given_empty_brackets_then_error(): + """ + Given: {} + When: N/A + Then: + """ + assert tabular_required_parameters("{}") == "Error!" + +def given_just_line_then_error(): + """ + Given: {} + When: N/A + Then: + """ + assert tabular_required_parameters("{|}") == "Error!" + + +def given_just_lines_then_error(): + """ + Given: {} + When: N/A + Then: + """ + assert tabular_required_parameters("{|||||||}") == "Error!" + +def given_single_left_then_correct(): + """ + Given: {l} + When: N/A + Then: + """ + assert tabular_required_parameters("{l}") == ['l'] + +def given_single_center_then_correct(): + """ + Given: {c} + When: N/A + Then: + """ + assert tabular_required_parameters("{c}") == ['c'] + +def given_single_right_then_correct(): + """ + Given: {r} + When: N/A + Then: + """ + assert tabular_required_parameters("{r}") == ['r'] + +def given_empty_wrap_p_then_error(): + """ + Given: {r} + When: N/A + Then: + """ + assert tabular_required_parameters("{p}") == "Error!" + +def given_empty_wrap_m_then_error(): + """ + Given: {r} + When: N/A + Then: + """ + assert tabular_required_parameters("{m}") == "Error!" + +def given_empty_wrap_b_then_error(): + """ + Given: {r} + When: N/A + Then: + """ + assert tabular_required_parameters("{b}") == "Error!" + +def given_empty_wrap_p_brackets_then_error(): + """ + Given: {r} + When: N/A + Then: + """ + assert tabular_required_parameters("{p{}}") == "Error!" + +def given_empty_wrap_m_brackets_then_error(): + """ + Given: {r} + When: N/A + Then: + """ + assert tabular_required_parameters("{m{}}") == "Error!" + +def given_empty_wrap_b_brackets_then_error(): + """ + Given: {r} + When: N/A + Then: + """ + assert tabular_required_parameters("{b{}}") == "Error!" + + + +def test_tabular_required_parameters(): + given_empty_then_error() + given_empty_brackets_then_error() + given_just_line_then_error() + given_just_lines_then_error() + given_single_left_then_correct() + given_single_center_then_correct() + given_single_right_then_correct() + given_empty_wrap_p_then_error() + given_empty_wrap_m_then_error() + given_empty_wrap_b_then_error() + given_empty_wrap_p_brackets_then_error() + given_empty_wrap_m_brackets_then_error() + given_empty_wrap_b_brackets_then_error() \ No newline at end of file