Kevin L
Initial commit
5fd3fc6
import unittest
import numpy as np
import pytest
from davisinteractive.storage import LocalStorage
class TestLocalStorage(unittest.TestCase):
def test_init(self):
storage = LocalStorage()
for c in storage.COLUMNS:
assert c in storage.report
def test_store_operation(self):
user_id = 'empty'
session_id = '12345'
sequence = 'test'
scribble_idx = 1
interaction = 1
timing = 10.34
objects_idx = [1, 2, 3]
frames = [0, 0, 0]
jaccard = [.2, .3, .4]
contour = [.8, .6, .4]
storage = LocalStorage()
with pytest.raises(ValueError):
storage.store_interactions_results(
user_id, session_id, sequence, scribble_idx, interaction,
timing, objects_idx, frames, [.1, .2, 1.0001], contour)
with pytest.raises(ValueError):
storage.store_interactions_results(
user_id, session_id, sequence, scribble_idx, interaction,
timing, objects_idx, frames, [-.1, .2, 1], contour)
with pytest.raises(ValueError):
storage.store_interactions_results(
user_id, session_id, sequence, scribble_idx, interaction,
timing, objects_idx, [1, 1], jaccard, contour)
with pytest.raises(ValueError):
storage.store_interactions_results(
user_id, session_id, sequence, scribble_idx, interaction,
timing, objects_idx, frames, jaccard, [-0.01, 1.0, .4])
assert storage.store_interactions_results(
user_id, session_id, sequence, scribble_idx, interaction, timing,
objects_idx, frames, [.1, .000, 1.000], contour)
with pytest.raises(RuntimeError):
storage.store_interactions_results(
user_id, session_id, sequence, scribble_idx, interaction,
timing, objects_idx, frames, jaccard, contour)
with pytest.raises(RuntimeError):
storage.store_interactions_results(
user_id, session_id, sequence, scribble_idx, interaction + 2,
timing, objects_idx, frames, jaccard, contour)
assert storage.store_interactions_results(
user_id, session_id, sequence, scribble_idx, interaction + 1,
timing, objects_idx, frames, jaccard, contour)
def test_annotated_frames(self):
session_id = 'unused'
sequence = 'bmx-trees'
scribble_idx = 1
storage = LocalStorage()
storage.store_annotated_frame(session_id, sequence, scribble_idx, 1,
False)
annotated_frames = storage.get_annotated_frames(session_id, sequence,
scribble_idx)
self.assertEqual(annotated_frames, (1,))
def test_annotated_frames_full(self):
session_id = 'unused'
sequence = 'bmx-trees'
scribble_idx = 1
nb_frames = 80
storage = LocalStorage()
for i in range(nb_frames):
storage.store_annotated_frame(session_id, sequence, scribble_idx, i,
False)
annotated_frames = storage.get_annotated_frames(session_id, sequence,
scribble_idx)
self.assertEqual(annotated_frames, tuple())