From f9842e638fc4c02d7936f8e210c09a9d7ac78718 Mon Sep 17 00:00:00 2001 From: KarlLundengaard Date: Tue, 11 Jun 2024 10:40:43 +0100 Subject: [PATCH 1/4] Added tests for some common set theory identities --- app/evaluation_tests.py | 48 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/app/evaluation_tests.py b/app/evaluation_tests.py index 92af7c8..dd105e7 100755 --- a/app/evaluation_tests.py +++ b/app/evaluation_tests.py @@ -33,6 +33,54 @@ def test_returns_is_correct_true_ascii(self): self.assertEqual(result.get("is_correct"), True) self.assertEqual(result.get("response_latex"), "A \\cap B") + def test_intersection_is_commutative(self): + """ + Since A n A' is equal to the empty set (by definition of complement) + for any set A, then B' u B should be considered equal to A n A' + """ + response, answer, params = "A n B", "B n A", Params() + + result = evaluation_function(response, answer, params) + + self.assertEqual(result.get("is_correct"), True) + self.assertEqual(result.get("response_latex"), "A \\cap B") + + def test_union_of_complement(self): + """ + Since A u A' is equal to the Universal set (by definition of complement) + for any set A, then B' u B should be considered equal to A u A' + """ + response, answer, params = "B' u B", "A u A'", Params() + + result = evaluation_function(response, answer, params) + + self.assertEqual(result.get("is_correct"), True) + self.assertEqual(result.get("response_latex"), "\overline{B} \\cup B") + + def test_de_Morgan(self): + """ + Testing de Morgan's well known laws + """ + response, answer, params = "(A u B)'", "A' n B'", Params() + result = evaluation_function(response, answer, params) + + self.assertEqual(result.get("is_correct"), True) + self.assertEqual(result.get("response_latex"), "\overline{\\left(A \\cup B\\right)}") + + response, answer, params = "(A n B)'", "A' u B'", Params() + result = evaluation_function(response, answer, params) + + self.assertEqual(result.get("is_correct"), True) + self.assertEqual(result.get("response_latex"), "\overline{\left(A \\cap B\\right)}") + + def test_intersection_of_complement(self): + response, answer, params = "B' n B", "A n A'", Params() + + result = evaluation_function(response, answer, params) + + self.assertEqual(result.get("is_correct"), True) + self.assertEqual(result.get("response_latex"), "\overline{B} \\cap B") + def test_returns_is_correct_true_latex(self): response, answer, params = "A \\cap B", "A n B", Params(is_latex=True) From b3e3940d19fa564d15b0a2fd470f93a2e479d89b Mon Sep 17 00:00:00 2001 From: Andreas Pfurtscheller <1051396+aplr@users.noreply.github.com> Date: Tue, 11 Jun 2024 13:42:42 +0200 Subject: [PATCH 2/4] Update evaluation_tests.py --- app/evaluation_tests.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/evaluation_tests.py b/app/evaluation_tests.py index dd105e7..402b4eb 100755 --- a/app/evaluation_tests.py +++ b/app/evaluation_tests.py @@ -55,7 +55,7 @@ def test_union_of_complement(self): result = evaluation_function(response, answer, params) self.assertEqual(result.get("is_correct"), True) - self.assertEqual(result.get("response_latex"), "\overline{B} \\cup B") + self.assertEqual(result.get("response_latex"), "\\overline{B} \\cup B") def test_de_Morgan(self): """ @@ -65,13 +65,13 @@ def test_de_Morgan(self): result = evaluation_function(response, answer, params) self.assertEqual(result.get("is_correct"), True) - self.assertEqual(result.get("response_latex"), "\overline{\\left(A \\cup B\\right)}") + self.assertEqual(result.get("response_latex"), "\\overline{\\left(A \\cup B\\right)}") response, answer, params = "(A n B)'", "A' u B'", Params() result = evaluation_function(response, answer, params) self.assertEqual(result.get("is_correct"), True) - self.assertEqual(result.get("response_latex"), "\overline{\left(A \\cap B\\right)}") + self.assertEqual(result.get("response_latex"), "\\overline{\left(A \\cap B\\right)}") def test_intersection_of_complement(self): response, answer, params = "B' n B", "A n A'", Params() @@ -79,7 +79,7 @@ def test_intersection_of_complement(self): result = evaluation_function(response, answer, params) self.assertEqual(result.get("is_correct"), True) - self.assertEqual(result.get("response_latex"), "\overline{B} \\cap B") + self.assertEqual(result.get("response_latex"), "\\overline{B} \\cap B") def test_returns_is_correct_true_latex(self): response, answer, params = "A \\cap B", "A n B", Params(is_latex=True) From acae1dbd7883059fe4c2c2554dd3007ad8205141 Mon Sep 17 00:00:00 2001 From: KarlLundengaard Date: Fri, 14 Jun 2024 13:37:31 +0100 Subject: [PATCH 3/4] Fixed incorrect test descriptions --- app/evaluation_tests.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/evaluation_tests.py b/app/evaluation_tests.py index dd105e7..a31ab92 100755 --- a/app/evaluation_tests.py +++ b/app/evaluation_tests.py @@ -34,10 +34,6 @@ def test_returns_is_correct_true_ascii(self): self.assertEqual(result.get("response_latex"), "A \\cap B") def test_intersection_is_commutative(self): - """ - Since A n A' is equal to the empty set (by definition of complement) - for any set A, then B' u B should be considered equal to A n A' - """ response, answer, params = "A n B", "B n A", Params() result = evaluation_function(response, answer, params) @@ -47,7 +43,7 @@ def test_intersection_is_commutative(self): def test_union_of_complement(self): """ - Since A u A' is equal to the Universal set (by definition of complement) + Since A u A' is equal to the universal set (by definition of complement) for any set A, then B' u B should be considered equal to A u A' """ response, answer, params = "B' u B", "A u A'", Params() @@ -74,6 +70,10 @@ def test_de_Morgan(self): self.assertEqual(result.get("response_latex"), "\overline{\left(A \\cap B\\right)}") def test_intersection_of_complement(self): + """ + Since A n A' is equal to the empty set (by definition of complement) + for any set A, then B' n B should be considered equal to A n A' + """ response, answer, params = "B' n B", "A n A'", Params() result = evaluation_function(response, answer, params) From 5f96920a3bbf08027313dd3c0942803771c6f9f2 Mon Sep 17 00:00:00 2001 From: KarlLundengaard Date: Fri, 14 Jun 2024 14:17:13 +0100 Subject: [PATCH 4/4] Fixed incorrect test description --- app/evaluation_tests.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/evaluation_tests.py b/app/evaluation_tests.py index a1a0541..f2781d3 100755 --- a/app/evaluation_tests.py +++ b/app/evaluation_tests.py @@ -35,10 +35,6 @@ def test_returns_is_correct_true_ascii(self): self.assertFalse(result.get("feedback")) def test_intersection_is_commutative(self): - """ - Since A n A' is equal to the empty set (by definition of complement) - for any set A, then B' u B should be considered equal to A n A' - """ response, answer, params = "A n B", "B n A", Params() result = evaluation_function(response, answer, params) @@ -78,6 +74,10 @@ def test_de_morgan(self): self.assertFalse(result.get("feedback")) def test_intersection_of_complement(self): + """ + Since A n A' is equal to the empty set (by definition of complement) + for any set A, then B' n B should be considered equal to A n A' + """ response, answer, params = "B' n B", "A n A'", Params() result = evaluation_function(response, answer, params)