summaryrefslogtreecommitdiff
path: root/archaeological_context_records/tests.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-07-04 16:11:34 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-07-04 22:34:41 +0200
commit3c978a2d8a65ec06f6f0ccb910ca32d53cf5a8c2 (patch)
tree423c5e22b1aea6c68bbbdc6e1aaeb694fc47d039 /archaeological_context_records/tests.py
parent7076c0aa5fdbeeac32620b2cb354bc7c0a94c29e (diff)
downloadIshtar-3c978a2d8a65ec06f6f0ccb910ca32d53cf5a8c2.tar.bz2
Ishtar-3c978a2d8a65ec06f6f0ccb910ca32d53cf5a8c2.zip
Graphs: save results, options and tests
- can generate only above and only bellow - save dot files - option for no color for current - tests
Diffstat (limited to 'archaeological_context_records/tests.py')
-rw-r--r--archaeological_context_records/tests.py97
1 files changed, 97 insertions, 0 deletions
diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py
index 79d60bf09..a0a76ba78 100644
--- a/archaeological_context_records/tests.py
+++ b/archaeological_context_records/tests.py
@@ -37,6 +37,8 @@ from archaeological_operations.tests import OperationInitTest, \
from archaeological_operations import models as models_ope
from archaeological_context_records import models
+from ishtar_common.utils import generate_relation_graph
+
from ishtar_common.tests import WizardTest, WizardTestFormData as FormData, \
create_superuser, create_user, TestCase, AutocompleteTestBase, AcItem
@@ -865,3 +867,98 @@ class AutocompleteTest(AutocompleteTestBase, TestCase):
label=base_name
)
return item, None
+
+
+class GraphGenerationTest(ContextRecordInit, TestCase):
+ fixtures = CONTEXT_RECORD_TOWNS_FIXTURES
+
+ def setUp(self):
+ self.sym_rel_type, __ = models.RelationType.objects.get_or_create(
+ symmetrical=True, txt_idx='sym', logical_relation='equal')
+ self.rel_type_bellow, __ = models.RelationType.objects.get_or_create(
+ symmetrical=False, txt_idx='bellow', logical_relation='bellow')
+ self.rel_type_above, __ = models.RelationType.objects.get_or_create(
+ symmetrical=False, txt_idx='above', logical_relation='above')
+ self.create_context_record({"label": u"CR 1"})
+ self.create_context_record({"label": u"CR 2"})
+ self.create_context_record({"label": u"CR 3"})
+ self.create_context_record({"label": u"CR 4"})
+ self.create_context_record({"label": u"CR 1B"})
+ self.create_context_record({"label": u"CR 2B"})
+ self.create_context_record({"label": u"CR 3B"})
+
+ cr_1 = self.context_records[0]
+ self.cr_2 = cr_2 = self.context_records[1]
+ cr_3 = self.context_records[2]
+ cr_4 = self.context_records[3]
+ cr_1B = self.context_records[4]
+ cr_2B = self.context_records[5]
+ cr_3B = self.context_records[6]
+
+ models.RecordRelations.objects.create(
+ left_record=cr_2, right_record=cr_2B,
+ relation_type=self.sym_rel_type)
+
+ models.RecordRelations.objects.create(
+ left_record=cr_1, right_record=cr_2,
+ relation_type=self.rel_type_bellow)
+ models.RecordRelations.objects.create(
+ left_record=cr_3, right_record=cr_2,
+ relation_type=self.rel_type_above)
+ models.RecordRelations.objects.create(
+ left_record=cr_3, right_record=cr_4,
+ relation_type=self.rel_type_bellow)
+
+ models.RecordRelations.objects.create(
+ left_record=cr_1B, right_record=cr_2B,
+ relation_type=self.rel_type_bellow)
+ models.RecordRelations.objects.create(
+ left_record=cr_3B, right_record=cr_2B,
+ relation_type=self.rel_type_above)
+
+ def test_gen_relation_full(self):
+ generate_relation_graph(self.cr_2)
+ cr_2 = models.ContextRecord.objects.get(pk=self.cr_2.pk)
+ self.assertIsNotNone(cr_2.relation_image)
+ self.assertIsNotNone(cr_2.relation_bitmap_image)
+ self.assertIsNotNone(cr_2.relation_dot)
+ content = open(cr_2.relation_dot.path).read()
+ self.assertIn('"CR 1"', content)
+ self.assertIn('"CR 1B"', content)
+ self.assertIn('"CR 2B"', content)
+ self.assertIn('"CR 2",style=filled,fillcolor="#C6C0C0"', content)
+ self.assertIn('"CR 3"', content)
+ self.assertIn('"CR 3B"', content)
+ self.assertIn('"CR 4"', content)
+
+ def test_gen_relation_above(self):
+ generate_relation_graph(self.cr_2, render_above=False)
+ cr_2 = models.ContextRecord.objects.get(pk=self.cr_2.pk)
+ self.assertIsNotNone(cr_2.relation_image_above)
+ self.assertIsNotNone(cr_2.relation_bitmap_image_above)
+ self.assertIsNotNone(cr_2.relation_dot_above)
+ content = open(cr_2.relation_dot_above.path).read()
+ self.assertIn('"CR 1"', content)
+ self.assertIn('"CR 1B"', content)
+ self.assertIn('"CR 2B"', content)
+ self.assertIn('"CR 2",style=filled,fillcolor="#C6C0C0"', content)
+ self.assertNotIn('"CR 3B"', content)
+ self.assertNotIn('"CR 3"', content)
+ self.assertNotIn('"CR 4"', content)
+
+ def test_gen_relation_bellow(self):
+ generate_relation_graph(self.cr_2, render_bellow=False)
+ cr_2 = models.ContextRecord.objects.get(pk=self.cr_2.pk)
+ self.assertIsNotNone(cr_2.relation_image_bellow)
+ self.assertIsNotNone(cr_2.relation_bitmap_image_bellow)
+ self.assertIsNotNone(cr_2.relation_dot_bellow)
+ content = open(cr_2.relation_dot_bellow.path).read()
+ self.assertNotIn('"CR 1"', content)
+ self.assertNotIn('"CR 1B"', content)
+ self.assertIn('"CR 2B"', content)
+ self.assertIn('"CR 2",style=filled,fillcolor="#C6C0C0"', content)
+ self.assertIn('"CR 3"', content)
+ self.assertIn('"CR 3B"', content)
+ self.assertIn('"CR 4"', content)
+
+