Source code for pySPACE.tests.unittests.data_types.test_feature_vector

#!/usr/bin/python

""" Unit tests for FeatureVector data type

:Author: Titiruck Nuntapramote (titiruck.nuntapramote@dfki.de)
:Created: 2011/04/23
"""


import unittest
if __name__ == '__main__':
    import sys
    import os
    # The root of the code
    file_path = os.path.dirname(os.path.abspath(__file__))
    sys.path.append(file_path[:file_path.rfind('pySPACE')-1])

from pySPACE.resources.data_types.feature_vector import FeatureVector
import numpy


[docs]class FeatureVectorTestCase(unittest.TestCase): """Test for FeatureVector data type"""
[docs] def setUp(self): """ Define some feature vectors""" # no tag self.f1 = FeatureVector([1,2,3,4,5,6],['a','b','c','d','e','f']) # no - self.f2 = FeatureVector([1,2,3,4,5,6],['a','b','c','d','e','f'], tag = 'Tag of f2') # no tag self.f3 = FeatureVector([1,2], ['a','b']) # no feature_names self.f4 = FeatureVector([1,2])
[docs] def test_get_feature_names(self): self.assertEqual(self.f1.feature_names, self.f1.get_feature_names()) self.assertEqual(self.f2.feature_names, self.f2.get_feature_names()) self.assertEqual(self.f3.feature_names, self.f3.get_feature_names()) self.assertEqual(self.f4.get_feature_names(), ["feature_0_0.000sec","feature_1_0.000sec"])
[docs] def test_set_feature_names(self): self.f1.set_feature_names(['m','n','o','p','q']) self.assertEqual(self.f1.feature_names, ['m','n','o','p','q']) self.f4.set_feature_names(['a','b']) self.assertEqual(self.f4.feature_names, ['a','b'])
[docs] def test_replace_data(self): data = FeatureVector.replace_data(self.f2,[10,20,30,40,50,60]) self.assertFalse((data.view(numpy.ndarray)-[10,20,30,40,50,60]).any()) self.assertEqual(data.feature_names, ['a','b','c','d','e','f']) self.assertEqual(data.tag, 'Tag of f2') data2 = FeatureVector.replace_data(self.f1, [4,5,6,7,8,9], feature_names=['m','n','o','p','q','r']) self.assertFalse((data2.view(numpy.ndarray)-[4,5,6,7,8,9]).any()) self.assertEqual(data2.feature_names, ['m','n','o','p','q','r']) self.assertEqual(data2.tag, None)
[docs] def test_equal_vectors(self): # this is a very simple test that is meant to check if the equality # between two FeatureVectors is correctly assessed self.assertEqual(self.f1, self.f2) self.assertEqual([[self.f1], [self.f2]], [[self.f2], [self.f1]]) self.assertEqual([self.f1, self.f2], [self.f2, self.f1])
if __name__ == '__main__': suite = unittest.TestLoader().loadTestsFromName('test_feature_vector') unittest.TextTestRunner(verbosity=2).run(suite)