示例#1
0
    def test_load_trees(self):
        iso = ISOCode.objects.create(iso_code='abc')
        lang = Language.objects.create(glotto_code='ubyk1235',
                                       name='Ubykh',
                                       iso_code=iso)
        lang.save()
        load_societies(csv_dict_reader(data_path('societies.csv')))
        society = Society.objects.create(ext_id='455',
                                         xd_id='xd455',
                                         name='test',
                                         language=lang)
        society.save()
        res = load_trees(data_path())
        self.assertEqual(res, 2)
        sequences = tree_names(data_path())
        #labels should be created for the 5 societies in the semitic tree in societies.csv, plus the test society above
        self.assertEqual(sequences, 6)

        tree = LanguageTree.objects.filter(
            name='Abkhaz-Adyge.glotto.trees').first()
        label = LanguageTreeLabels.objects.filter(label='ubyk1235').first()
        self.assertIn(label, tree.taxa.all())
        self.assertIn(society, label.societies.all())

        tree = LanguageTree.objects.filter(name='semitic.trees').first()
        labels = LanguageTreeLabels.objects.filter(label='Amharic').first()
        self.assertEqual(tree.taxa.count(), 25)
        self.assertEqual(labels.societies.count(), 3)
        self.assertEqual(
            labels.societies.all().order_by(
                '-languagetreelabelssequence__fixed_order').first().ext_id,
            'Ca7')
        # existing trees are not recreated:
        self.assertEqual(load_trees(data_path()), 0)
示例#2
0
 def test_load_trees(self):
     iso = ISOCode.objects.create(iso_code='abc')
     lang = Language.objects.create(glotto_code='ubyk1235', name='Ubykh', iso_code=iso)
     lang.save()
     load_societies(csv_dict_reader(data_path('societies.csv')))
     society = Society.objects.create(
         ext_id = '455',
         xd_id = 'xd455',
         name = 'test',
         language=lang
     )
     society.save()
     res = load_trees(data_path())
     self.assertEqual(res, 2)
     sequences = tree_names(data_path())
     #labels should be created for the 5 societies in the semitic tree in societies.csv, plus the test society above
     self.assertEqual(sequences, 6)
     
     tree = LanguageTree.objects.filter(name='Abkhaz-Adyge.glotto.trees').first()
     label = LanguageTreeLabels.objects.filter(label='ubyk1235').first()
     self.assertIn(label, tree.taxa.all())
     self.assertIn(society, label.societies.all())
     
     tree = LanguageTree.objects.filter(name='semitic.trees').first()
     labels = LanguageTreeLabels.objects.filter(label='Amharic').first()
     self.assertEqual(tree.taxa.count(), 25)
     self.assertEqual(labels.societies.count(), 3)
     self.assertEqual(labels.societies.all().order_by('-languagetreelabelssequence__fixed_order').first().ext_id, 'Ca7')
     # existing trees are not recreated:
     self.assertEqual(load_trees(data_path()), 0)
示例#3
0
 def test_environmental(self):
     from dplace_app.load.environmental import (
         load_environmental_var, load_environmental,
     )
     res = load_environmental([self.get_dict(Dataset='EA')])
     self.assertEqual(res, 0)
     res = load_environmental_var(csv_dict_reader(data_path('envvariables.csv')))
     self.assertEqual(res, 3)
     load_societies(csv_dict_reader(data_path('societies.csv')))
     res = load_environmental(csv_dict_reader(data_path('envdata.csv')))
     self.assertEqual(res, 2)
示例#4
0
 def test_environmental(self):
     from dplace_app.load.environmental import (
         load_environmental_var,
         load_environmental,
     )
     res = load_environmental([self.get_dict(Dataset='EA')])
     self.assertEqual(res, 0)
     res = load_environmental_var(
         csv_dict_reader(data_path('envvariables.csv')))
     self.assertEqual(res, 3)
     load_societies(csv_dict_reader(data_path('societies.csv')))
     res = load_environmental(csv_dict_reader(data_path('envdata.csv')))
     self.assertEqual(res, 2)
示例#5
0
    def setUp(self):
        sources._SOURCE_CACHE = {}
        load_regions(data_path('regions.geojson'))
        load_environmental_var(csv_dict_reader(data_path('envvariables.csv')))
        load_vars(csv_dict_reader(data_path('variables.csv')))
        source_ea = Source.objects.get(name='Ethnographic Atlas')
        load_codes(csv_dict_reader(data_path('codes.csv')))

        family1 = self.set(LanguageFamily, 1, name='family1')
        family2 = self.set(LanguageFamily, 2, name='family2')
        iso_code = self.set(ISOCode, 1, iso_code='abc')
        language1 = self.set(Language,
                             1,
                             name='language1',
                             family=family1,
                             glotto_code='aaaa1234',
                             iso_code=iso_code)
        language2 = self.set(Language,
                             2,
                             name='language2',
                             family=family2,
                             glotto_code='dddd1234')
        language3 = self.set(Language,
                             3,
                             name='language3',
                             family=family2,
                             glotto_code='cccc1234',
                             iso_code=iso_code)
        tree1 = self.set(
            LanguageTree,
            1,
            newick_string='((aaaa1234:1,abc:1,abun1254:1)abun1252:1);',
            name='tree',
            source=source_ea)
        tree2 = self.set(
            LanguageTree,
            2,
            newick_string='((aaaa1234:1,abc:1,abun1254:1)abun1252:1);',
            name='tree.glotto.trees',
            source=source_ea)

        label1 = self.set(LanguageTreeLabels,
                          1,
                          languageTree=tree1,
                          label='aaaa1234',
                          language=language1)
        label2 = self.set(LanguageTreeLabels,
                          2,
                          languageTree=tree1,
                          label='abun1254',
                          language=language2)
        label3 = self.set(LanguageTreeLabels,
                          3,
                          languageTree=tree2,
                          label='abun1252',
                          language=language3)
        tree1.taxa.add(label1)
        tree1.taxa.add(label2)
        tree2.taxa.add(label3)

        society1 = self.set(
            Society,
            1,
            ext_id='society1',
            xd_id='xd1',
            name='Söciety1',
            region=GeographicRegion.objects.get(region_nam='Region1'),
            source=source_ea,
            language=language1,
            focal_year='2016',
            alternate_names='Society 1')
        society2 = self.set(
            Society,
            2,
            ext_id='society2',
            xd_id='xd2',
            region=GeographicRegion.objects.get(region_nam='Region2'),
            name='Society2',
            source=source_ea,
            language=language2)
        # Society 3 has the same language characteristics as society 1
        # but different EA Vars
        self.set(Society,
                 3,
                 ext_id='society3',
                 xd_id='xd1',
                 region=GeographicRegion.objects.get(region_nam='Region1'),
                 name='Society3',
                 source=source_ea,
                 language=language3)

        sequenceLabel1 = self.set(LanguageTreeLabelsSequence,
                                  1,
                                  society=society1,
                                  labels=label1,
                                  fixed_order=0)
        sequenceLabel2 = self.set(LanguageTreeLabelsSequence,
                                  2,
                                  society=society1,
                                  labels=label2,
                                  fixed_order=0)
        sequenceLabel3 = self.set(LanguageTreeLabelsSequence,
                                  3,
                                  society=society2,
                                  labels=label3,
                                  fixed_order=0)
        sequenceLabel4 = self.set(LanguageTreeLabelsSequence,
                                  4,
                                  society=society2,
                                  labels=label3,
                                  fixed_order=1)

        load_data(csv_dict_reader(data_path('data.csv')))
        load_environmental(csv_dict_reader(data_path('envdata.csv')))
示例#6
0
    def setUp(self):
        sources._SOURCE_CACHE = {}
        load_regions(data_path('regions.geojson'))
        load_environmental_var(csv_dict_reader(data_path('envvariables.csv')))
        load_vars(csv_dict_reader(data_path('variables.csv')))
        source_ea = Source.objects.get(name='Ethnographic Atlas')
        load_codes(csv_dict_reader(data_path('codes.csv')))

        family1 = self.set(LanguageFamily, 1, name='family1')
        family2 = self.set(LanguageFamily, 2, name='family2')
        iso_code = self.set(ISOCode, 1, iso_code='abc')
        language1 = self.set(
            Language, 1,
            name='language1', family=family1, glotto_code='aaaa1234', iso_code=iso_code)
        language2 = self.set(
            Language, 2,
            name='language2', family=family2, glotto_code='dddd1234')
        language3 = self.set(
            Language, 3,
            name='language3', family=family2, glotto_code='cccc1234', iso_code=iso_code)    
        tree1 = self.set(
            LanguageTree, 1,
            newick_string='((aaaa1234:1,abc:1,abun1254:1)abun1252:1);',
            name='tree',
            source=source_ea)
        tree2 = self.set(
            LanguageTree, 2,
            newick_string='((aaaa1234:1,abc:1,abun1254:1)abun1252:1);',
            name='tree.glotto.trees',
            source=source_ea)

        label1 = self.set(
            LanguageTreeLabels, 1,
            languageTree=tree1, label='aaaa1234',
            language=language1
        )
        label2 = self.set(
            LanguageTreeLabels, 2, 
            languageTree=tree1, label='abun1254',
            language=language2
        )
        label3 = self.set(
            LanguageTreeLabels, 3,
            languageTree=tree2, label='abun1252',
            language=language3
        )
        tree1.taxa.add(label1)
        tree1.taxa.add(label2)
        tree2.taxa.add(label3)

        society1 = self.set(
            Society, 1,
            ext_id='society1',
            xd_id='xd1',
            name='Söciety1',
            region=GeographicRegion.objects.get(region_nam='Region1'),
            source=source_ea,
            language=language1,
            focal_year='2016',
            alternate_names='Society 1')
        society2 = self.set(
            Society, 2,
            ext_id='society2',
            xd_id='xd2',
            region=GeographicRegion.objects.get(region_nam='Region2'),
            name='Society2',
            source=source_ea,
            language=language2)
        # Society 3 has the same language characteristics as society 1
        # but different EA Vars
        self.set(
            Society, 3,
            ext_id='society3',
            xd_id='xd1',
            region=GeographicRegion.objects.get(region_nam='Region1'),
            name='Society3',
            source=source_ea,
            language=language3)

        sequenceLabel1 = self.set(
            LanguageTreeLabelsSequence, 1,
            society = society1, labels = label1,
            fixed_order=0
        )
        sequenceLabel2 = self.set(
            LanguageTreeLabelsSequence, 2,
            society = society1, labels = label2,
            fixed_order=0
        )
        sequenceLabel3 = self.set(
            LanguageTreeLabelsSequence, 3,
            society = society2, labels = label3,
            fixed_order=0
        )
        sequenceLabel4 = self.set(
            LanguageTreeLabelsSequence, 4,
            society = society2, labels = label3,
            fixed_order=1
        )

        load_data(csv_dict_reader(data_path('data.csv')))
        load_environmental(csv_dict_reader(data_path('envdata.csv')))
示例#7
0
 def test_load_regions(self):
     self.assertEqual(load_regions(data_path('regions.geojson')), 2)
     self.assertEqual(
         GeographicRegion.objects.filter(region_nam='Region1').count(), 1)
示例#8
0
 def test_load_society_locations(self):
     load_regions(data_path('regions.geojson'))
     load_societies(csv_dict_reader(data_path('societies.csv')))
     society_locations(csv_dict_reader(data_path('society_locations.csv')))
示例#9
0
 def test_load_codes(self):
     CulturalVariable.objects.create(label=var_number_to_label('EA', 1))
     load_codes(csv_dict_reader(data_path('code_descriptions.csv')))
示例#10
0
 def test_load_vars(self):
     res = load_vars(csv_dict_reader(data_path('variables.csv')))
     self.assertEqual(res, 2)
示例#11
0
 def test_load_references(self):
     res = load_references(csv_dict_reader(data_path('references.csv')))
     self.assertEqual(res, 2)
示例#12
0
 def test_load_regions(self):
     self.assertEqual(load_regions(data_path('regions.geojson')), 2)
     self.assertEqual(
         GeographicRegion.objects.filter(region_nam='Region1').count(), 1)
示例#13
0
 def test_load_society_locations(self):
     load_regions(data_path('regions.geojson'))
     load_societies(csv_dict_reader(data_path('societies.csv')))
     society_locations(csv_dict_reader(data_path('society_locations.csv')))
示例#14
0
 def test_load_codes(self):
     CulturalVariable.objects.create(label=var_number_to_label('EA', 1))
     load_codes(csv_dict_reader(data_path('code_descriptions.csv')))
示例#15
0
 def test_load_vars(self):
     res = load_vars(csv_dict_reader(data_path('variables.csv')))
     self.assertEqual(res, 2)
示例#16
0
 def test_load_references(self):
     res = load_references(csv_dict_reader(data_path('references.csv')))
     self.assertEqual(res, 2)