aboutsummaryrefslogtreecommitdiffstats
path: root/test/extractor/image
diff options
context:
space:
mode:
authorMatthias Baumgartner <dev@igsor.net>2023-07-26 12:48:54 +0200
committerMatthias Baumgartner <dev@igsor.net>2023-07-26 12:48:54 +0200
commitd6a5c0f596a212f0e1d4e4b351b5b0e6857d74f7 (patch)
tree645c6fe6b120bb4759b7ac07b4799ffec3bfb4bf /test/extractor/image
parentb1ee4452c0e4b820efe69e428e7eaa54cf87ae16 (diff)
downloadbsie-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.py8
-rw-r--r--test/extractor/image/face/test_identify.py15
-rw-r--r--test/extractor/image/test_colors_spatial.py5
-rw-r--r--test/extractor/image/test_iptc.py21
-rw-r--r--test/extractor/image/test_photometrics.py5
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',