1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
import unittest
import arff
class TestEncodeAttribute(unittest.TestCase):
def get_encoder(self):
decoder = arff.ArffEncoder()
return decoder
def test_attribute_name(self):
encoder = self.get_encoder()
fixture = (u'attribute name', 'REAL')
result = encoder._encode_attribute(*fixture)
expected = u'@ATTRIBUTE "attribute name" REAL'
self.assertEqual(result, expected)
def test_attribute_name_special(self):
encoder = self.get_encoder()
fixture = (u'%attributename', 'REAL')
result = encoder._encode_attribute(*fixture)
expected = u'@ATTRIBUTE "%attributename" REAL'
self.assertEqual(result, expected)
fixture = (u'attribute,name', 'REAL')
result = encoder._encode_attribute(*fixture)
expected = u'@ATTRIBUTE "attribute,name" REAL'
self.assertEqual(result, expected)
def test_attribute_real(self):
encoder = self.get_encoder()
fixture = (u'attribute-name', 'REAL')
result = encoder._encode_attribute(*fixture)
expected = u'@ATTRIBUTE attribute-name REAL'
self.assertEqual(result, expected)
def test_attribute_numeric(self):
encoder = self.get_encoder()
fixture = (u'attribute-name', 'NUMERIC')
result = encoder._encode_attribute(*fixture)
expected = u'@ATTRIBUTE attribute-name NUMERIC'
self.assertEqual(result, expected)
def test_attribute_integer(self):
encoder = self.get_encoder()
fixture = (u'attribute-name', 'INTEGER')
result = encoder._encode_attribute(*fixture)
expected = u'@ATTRIBUTE attribute-name INTEGER'
self.assertEqual(result, expected)
def test_attribute_string(self):
encoder = self.get_encoder()
fixture = (u'attribute-name', 'STRING')
result = encoder._encode_attribute(*fixture)
expected = u'@ATTRIBUTE attribute-name STRING'
self.assertEqual(result, expected)
def test_attribute_nominal(self):
encoder = self.get_encoder()
fixture = (u'attribute-name', ['a', 'b', 'c'])
result = encoder._encode_attribute(*fixture)
expected = u'@ATTRIBUTE attribute-name {a, b, c}'
self.assertEqual(result, expected)
def test_attribute_nominal_spaced(self):
encoder = self.get_encoder()
fixture = (u'attribute-name', ['with space', 'b', 'c'])
result = encoder._encode_attribute(*fixture)
expected = u'@ATTRIBUTE attribute-name {\'with space\', b, c}'
self.assertEqual(result, expected)
|