Source code for ibeis.tests.test_ibs_encounters

#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
# TODO: ADD COPYRIGHT TAG
from __future__ import absolute_import, division, print_function
from six.moves import map
from ibeis import ibsfuncs
# Python
import multiprocessing
#import numpy as np
from uuid import UUID
# Tools
import utool
from ibeis.control.IBEISControl import IBEISController
print, print_, printDBG, rrr, profile = utool.inject(__name__, '[TEST_ENCOUNTERS]')


[docs]def TEST_ENCOUNTERS(ibs): print('[TEST_ENCOUNTERS]') assert isinstance(ibs, IBEISController), 'type enforment' # Delete all encounters _eid_list1 = ibs.get_valid_eids() ibs.delete_encounters(_eid_list1) _eid_list2 = ibs.get_valid_eids() assert len(_eid_list2) == 0, 'eids should have been deleted' # Recompute encounters ibs.compute_encounters() eid_list = sorted(ibs.get_valid_eids()) gids_list = ibs.get_encounter_gids(eid_list) aids_list = ibs.get_encounter_aids(eid_list) nids_list = ibs.get_encounter_nids(eid_list) enctext_list = ibs.get_encounter_text(eid_list) gid_uuids_list = list(map(list, ibsfuncs.unflat_map(ibs.get_image_uuids, gids_list))) annotation_uuids_list = list(map(list, ibsfuncs.unflat_map(ibs.get_annot_uuids, aids_list))) names_list = list(map(list, ibsfuncs.unflat_map(ibs.get_name_texts, nids_list))) #target_enctexts = ['E0_ENC(agg,sec_60,1)', 'E1_ENC(agg,sec_60,1)'] target_enctexts = [u'Encounter 0', u'Encounter 1'] target_gid_uuids = [[UUID('66ec193a-1619-b3b6-216d-1784b4833b61'), UUID('d8903434-942f-e0f5-d6c2-0dcbe3137bf7'), UUID('b73b72f4-4acb-c445-e72c-05ce02719d3d'), UUID('0cd05978-3d83-b2ee-2ac9-798dd571c3b3'), UUID('0a9bc03d-a75e-8d14-0153-e2949502aba7'), UUID('2deeff06-5546-c752-15dc-2bd0fdb1198a'), UUID('a9b70278-a936-c1dd-8a3b-bc1e9a998bf0')], [UUID('42fdad98-369a-2cbc-67b1-983d6d6a3a60'), UUID('c459d381-fd74-1d99-6215-e42e3f432ea9'), UUID('33fd9813-3a2b-774b-3fcc-4360d1ae151b'), UUID('97e8ea74-873f-2092-b372-f928a7be30fa'), UUID('588bc218-83a5-d400-21aa-d499832632b0'), UUID('163a890c-36f2-981e-3529-c552b6d668a3')], ] target_name_texts = [ ['easy', 'hard', 'jeff'], ['lena', 'occl', 'polar', 'zebra'], ] ibs.print_lblannot_table() ibs.print_egpairs_table() ibs.print_encounter_table() ibs.print_alr_table() gids_test_list = ibsfuncs.unflat_map(ibs.get_image_gids_from_uuid, gid_uuids_list) gids_target_list = ibsfuncs.unflat_map(ibs.get_image_gids_from_uuid, target_gid_uuids) try: print('0) gid_uuids_list = %s' % (utool.list_str(gids_test_list),)) print('0) target_gid_uuids = %s' % (utool.list_str(gids_target_list),)) print('') print('1) gid_uuids_list = %s' % (utool.list_str(gid_uuids_list),)) print('1) target_gid_uuids = %s' % (utool.list_str(target_gid_uuids),)) print('') print('2) enctext_list = %r' % (enctext_list,)) print('2) target_enctexts = %r' % (target_enctexts,)) print('') aids_test_list = ibsfuncs.unflat_map(ibs.get_image_aids, gids_test_list) aids_target_list = ibsfuncs.unflat_map(ibs.get_image_aids, gids_target_list) print('a) aids_test_list = %s' % (utool.list_str(aids_test_list),)) print('a) aids_target_list = %s' % (utool.list_str(aids_target_list),)) print('3a) aids_list = %s' % (utool.list_str(aids_list),)) print('3a) nids_list = %s' % (utool.list_str(nids_list),)) nids_listb = [ ibs.get_annot_name_rowids(aid_list) for aid_list in aids_list ] print('3a) nids_listb = %s' % (utool.list_str(nids_listb),)) print('3b) names_list = %s' % (utool.list_str(names_list),)) print('3b) target_name_texts = %s' % (utool.list_str(target_name_texts),)) print('') assert gids_test_list == gids_target_list, 'gids_test_list does not match gids_target_list' assert gid_uuids_list == target_gid_uuids, 'gid_uuids_list does not match target_gid_uuids' assert enctext_list == target_enctexts, 'enctext_list does not match target_enctexts' assert names_list == target_name_texts, 'names_list does not match target_name_texts' except AssertionError as ex: utool.printex(ex, 'failed test_encounter') raise gids_list2 = list(map(list, ibsfuncs.unflat_map(ibs.get_annot_gids, aids_list))) assert gids_list2 == list(map(list, gids_list)) return locals()
if __name__ == '__main__': multiprocessing.freeze_support() # For windows import ibeis main_locals = ibeis.main(defaultdb='testdb1', gui=False) ibs = main_locals['ibs'] test_locals = utool.run_test(TEST_ENCOUNTERS, ibs) execstr = utool.execstr_dict(test_locals, 'test_locals') exec(execstr)