diff options
author | Matthias Baumgartner <dev@igsor.net> | 2023-07-26 12:48:54 +0200 |
---|---|---|
committer | Matthias Baumgartner <dev@igsor.net> | 2023-07-26 12:48:54 +0200 |
commit | d6a5c0f596a212f0e1d4e4b351b5b0e6857d74f7 (patch) | |
tree | 645c6fe6b120bb4759b7ac07b4799ffec3bfb4bf /test/extractor/image | |
parent | b1ee4452c0e4b820efe69e428e7eaa54cf87ae16 (diff) | |
download | bsie-d6a5c0f596a212f0e1d4e4b351b5b0e6857d74f7.tar.gz bsie-d6a5c0f596a212f0e1d4e4b351b5b0e6857d74f7.tar.bz2 bsie-d6a5c0f596a212f0e1d4e4b351b5b0e6857d74f7.zip |
refactored naming policy into uri matcher
Diffstat (limited to 'test/extractor/image')
-rw-r--r-- | test/extractor/image/face/test_detect.py | 8 | ||||
-rw-r--r-- | test/extractor/image/face/test_identify.py | 15 | ||||
-rw-r--r-- | test/extractor/image/test_colors_spatial.py | 5 | ||||
-rw-r--r-- | test/extractor/image/test_iptc.py | 21 | ||||
-rw-r--r-- | test/extractor/image/test_photometrics.py | 5 |
5 files changed, 31 insertions, 23 deletions
diff --git a/test/extractor/image/face/test_detect.py b/test/extractor/image/face/test_detect.py index 92375a2..89a3461 100644 --- a/test/extractor/image/face/test_detect.py +++ b/test/extractor/image/face/test_detect.py @@ -8,8 +8,9 @@ import unittest # bsie imports from bsie.extractor import base +from bsie.matcher import nodes from bsie.reader.face import FaceExtract -from bsie.utils import bsfs, node as _node, ns +from bsie.utils import bsfs, ns # objects to test from bsie.extractor.image.face.detect import FaceDetect, bsf @@ -31,10 +32,11 @@ class TestFaceDetect(unittest.TestCase): # setup rdr = FaceExtract() ext = FaceDetect() - subject = _node.Node(ns.bsfs.Entity) + subject = nodes.Entity(ucid='abc123') content = rdr(os.path.join(os.path.dirname(__file__), 'testface1.jpg')) principals = set(ext.principals) - face = _node.Node(ns.bsn.Face, ucid='2a7203c1515e0caa66a7461452c0b4552f1433a613cb3033e59ed2361790ad45') + face = nodes.Face( + ucid='2a7203c1515e0caa66a7461452c0b4552f1433a613cb3033e59ed2361790ad45') triples = list(ext.extract(subject, content, principals)) # principals is bse:face self.assertSetEqual(principals, {ext.schema.predicate(ns.bse.face)}) diff --git a/test/extractor/image/face/test_identify.py b/test/extractor/image/face/test_identify.py index dde41db..2d52353 100644 --- a/test/extractor/image/face/test_identify.py +++ b/test/extractor/image/face/test_identify.py @@ -10,8 +10,9 @@ import requests # bsie imports from bsie.extractor import base +from bsie.matcher import nodes from bsie.reader.face import FaceExtract -from bsie.utils import bsfs, node as _node, ns +from bsie.utils import bsfs, ns # objects to test from bsie.extractor.image.face.identify import FaceIdentify, bsf @@ -106,11 +107,12 @@ class TestFaceIdentify(unittest.TestCase): os.path.join(os.path.dirname(__file__), 'ref_embeds.npy'), os.path.join(os.path.dirname(__file__), 'ref_mapping.csv'), ) - subject = _node.Node(ns.bsfs.Entity) + subject = nodes.Entity(ucid='abc123') content = rdr(os.path.join(os.path.dirname(__file__), 'testface1.jpg')) principals = set(ext.principals) - face = _node.Node(ns.bsn.Face, ucid='2a7203c1515e0caa66a7461452c0b4552f1433a613cb3033e59ed2361790ad45') - person = _node.Node(ns.bsn.Person, uri='https://example.com/user/Angelina_Jolie') + face = nodes.Face( + ucid='2a7203c1515e0caa66a7461452c0b4552f1433a613cb3033e59ed2361790ad45') + person = nodes.Person(uri='https://example.com/user/Angelina_Jolie') triples = list(ext.extract(subject, content, principals)) # principls is bse:face, bsf:depicts self.assertSetEqual(set(ext.principals), { @@ -128,10 +130,11 @@ class TestFaceIdentify(unittest.TestCase): self.assertListEqual(list(ext.extract(subject, content, principals)), []) # identifies the correct person despite somewhat similar options content = rdr(os.path.join(os.path.dirname(__file__), 'testface3.jpg')) - face = _node.Node(ns.bsn.Face, ucid='f61fac01ef686ee05805afef1e7a10ba54c30dc1aa095d9e77d79ccdfeb40dc5') + face = nodes.Face( + ucid='f61fac01ef686ee05805afef1e7a10ba54c30dc1aa095d9e77d79ccdfeb40dc5') triples = list(ext.extract(subject, content, principals)) self.assertEqual(len(triples), 2) - person = _node.Node(ns.bsn.Person, uri='https://example.com/user/Paul_Rudd') + person = nodes.Person(uri='https://example.com/user/Paul_Rudd') self.assertIn((subject, ext.schema.predicate(ns.bse.face), face), triples) self.assertIn((face, ext.schema.predicate(bsf.depicts), person), triples) # no triples on principal mismatch diff --git a/test/extractor/image/test_colors_spatial.py b/test/extractor/image/test_colors_spatial.py index 902ab6d..1c87bb7 100644 --- a/test/extractor/image/test_colors_spatial.py +++ b/test/extractor/image/test_colors_spatial.py @@ -8,7 +8,8 @@ import PIL.Image # bsie imports from bsie.extractor import base -from bsie.utils import bsfs, ns, node as _node +from bsie.matcher import nodes +from bsie.utils import bsfs, ns # objects to test from bsie.extractor.image.colors_spatial import ColorsSpatial @@ -73,7 +74,7 @@ class TestColorsSpatial(unittest.TestCase): def test_extract(self): ext = ColorsSpatial(2,2,2) img = PIL.Image.open(os.path.join(os.path.dirname(__file__), 'testimage.jpg')) - node = _node.Node(ns.bsn.Entity, bsfs.URI('http://example.com/entity#1234')) + node = nodes.Entity(ucid='1234') principals = set(ext.principals) self.assertEqual(len(principals), 1) # valid invocation yields feature diff --git a/test/extractor/image/test_iptc.py b/test/extractor/image/test_iptc.py index 5fa763d..7efbdfe 100644 --- a/test/extractor/image/test_iptc.py +++ b/test/extractor/image/test_iptc.py @@ -4,7 +4,8 @@ import unittest # bsie imports from bsie.extractor import base -from bsie.utils import bsfs, node as _node, ns +from bsie.matcher import nodes +from bsie.utils import bsfs, ns # objects to test from bsie.extractor.image.iptc import Iptc @@ -36,29 +37,29 @@ class TestIptc(unittest.TestCase): def test_extract(self): ext = Iptc() - node = _node.Node(ns.bsfs.File, '') # Blank node + subject = nodes.Entity(ucid='abc123') content = { 'Iptc.Application2.Keywords': ['hello', 'world'], 'Iptc.Application2.RecordVersion': '4', } # target tags - t_hello = _node.Node(ns.bsn.Tag, label='hello') - t_world = _node.Node(ns.bsn.Tag, label='world') + t_hello = nodes.Tag(label='hello') + t_world = nodes.Tag(label='world') # invalid principals are ignored - self.assertSetEqual(set(ext.extract(node, content, {ns.bse.filename})), set()) + self.assertSetEqual(set(ext.extract(subject, content, {ns.bse.filename})), set()) # extract finds all relevant information - self.assertSetEqual(set(ext.extract(node, content, {ext.schema.predicate(ns.bse.tag)})), { - (node, ext.schema.predicate(ns.bse.tag), t_hello), - (node, ext.schema.predicate(ns.bse.tag), t_world), + self.assertSetEqual(set(ext.extract(subject, content, {ext.schema.predicate(ns.bse.tag)})), { + (subject, ext.schema.predicate(ns.bse.tag), t_hello), + (subject, ext.schema.predicate(ns.bse.tag), t_world), (t_hello, ext.schema.predicate(ns.bst.label), 'hello'), (t_world, ext.schema.predicate(ns.bst.label), 'world'), }) # empty content is acceptable - self.assertSetEqual(set(ext.extract(node, {}, set(ext.principals))), set()) + self.assertSetEqual(set(ext.extract(subject, {}, set(ext.principals))), set()) # no principals is acceptable - self.assertSetEqual(set(ext.extract(node, content, set())), set()) + self.assertSetEqual(set(ext.extract(subject, content, set())), set()) ## main ## diff --git a/test/extractor/image/test_photometrics.py b/test/extractor/image/test_photometrics.py index fb219e2..1316618 100644 --- a/test/extractor/image/test_photometrics.py +++ b/test/extractor/image/test_photometrics.py @@ -4,7 +4,8 @@ import unittest # bsie imports from bsie.extractor import base -from bsie.utils import bsfs, node as _node, ns +from bsie.matcher import nodes +from bsie.utils import bsfs, ns # objects to test from bsie.extractor.image.photometrics import Exif, _gps_to_dec @@ -55,7 +56,7 @@ class TestExif(unittest.TestCase): def test_extract(self): ext = Exif() - node = _node.Node(ns.bsfs.File, '') # Blank node + node = nodes.Entity(ucid='abc123') content = { 'Exif.Photo.ExposureTime': '10/600', 'Exif.Photo.FNumber': '48/10', |