Maria@18: # -*- coding: utf-8 -*- Maria@18: """ Maria@18: Created on Fri Sep 1 19:11:52 2017 Maria@18: Maria@18: @author: mariapanteli Maria@18: """ Maria@18: Maria@18: import pytest Maria@18: Maria@18: import numpy as np Maria@18: Maria@18: import scripts.map_and_average as map_and_average Maria@18: Maria@18: Maria@18: def test_remove_inds(): Maria@18: labels = np.array(['a', 'a', 'b', 'unknown']) Maria@18: features = np.array([[0, 1], [0,2], [0, 3], [0, 4]]) Maria@18: audiolabels = np.array(['a', 'b', 'c', 'd']) Maria@18: features, labels, audiolabels = map_and_average.remove_inds(features, labels, audiolabels) Maria@18: assert len(features) == 3 and len(labels) == 3 and len(audiolabels) == 3 Maria@18: Maria@18: Maria@18: def test_remove_inds(): Maria@18: labels = np.array(['a', 'a', 'b', 'unknown']) Maria@18: features = np.array([[0, 1], [0,2], [0, 3], [0, 4]]) Maria@18: audiolabels = np.array(['a', 'b', 'c', 'd']) Maria@18: features, labels, audiolabels = map_and_average.remove_inds(features, labels, audiolabels) Maria@18: features_true = np.array([[0, 1], [0,2], [0, 3]]) Maria@18: assert np.array_equal(features, features_true) Maria@18: Maria@18: Maria@18: def test_averageframes(): Maria@18: classlabels = np.array(['a', 'a', 'b', 'b', 'b']) Maria@18: features = np.array([[0, 1], [0,2], [0, 1], [1, 1], [2, 1]]) Maria@18: audiolabels = np.array(['a', 'a', 'b', 'b', 'b']) Maria@18: feat, audio, labels = map_and_average.averageframes(features, audiolabels, classlabels) m@30: feat_true = np.array([[0, 1.5], [1, 1]]) m@62: assert np.array_equal(feat, feat_true) m@62: m@62: m@62: def test_limit_to_n_seconds(): m@62: X = np.random.randn(10, 3) m@62: Y = np.random.randn(10) m@62: Yaudio = np.concatenate([np.repeat('a', 7), np.repeat('b', 3)]) m@62: Xn, Yn, Yaudion = map_and_average.limit_to_n_seconds([X, Y, Yaudio], n_sec=3.0, win_sec=0.5) m@62: Yaudion_true = np.concatenate([np.repeat('a', 5), np.repeat('b', 3)]) m@62: assert np.array_equal(Yaudion_true, Yaudion) and len(Xn)==len(Yn) and len(Yn)==len(Yaudion)