def test_to_dict(self): dct = { 'name': 'a', 'doc': 'b', 'unit': 'mm', 'components': ['x', 'y', 'z'], 'sep': ' - ', 'category': 'category_1', 'tags': ['tag_1', 'tag_2'], 'identifier': 'test_var' } v = Variable(**dct) d = v.to_dict() self.assertDictEqual(d, dct)
def test_from_str(self): s = 'name=a;doc=b;unit=mm;components=[x,y,z];sep= - ;category=category_1;tags=[tag_1,tag_2];identifier=test_var' dct = { 'name': 'a', 'doc': 'b', 'unit': 'mm', 'components': ['x', 'y', 'z'], 'sep': ' - ', 'category': 'category_1', 'tags': ['tag_1', 'tag_2'], 'identifier': 'test_var' } v = Variable.from_str(s) v_check = Variable(**dct) self.assertEqual(v.to_str(), v_check.to_str())
def test_to_str(self): dct = { 'name': 'a', 'doc': 'b', 'unit': 'mm', 'components': ['x', 'y', 'z'], 'sep': ' - ', 'category': 'category_1', 'tags': ['tag_1', 'tag_2'], 'identifier': 'test_var' } v = Variable(**dct) s = v.to_str() expected = 'name=a;doc=b;unit=mm;components=[x,y,z];sep= - ;category=category_1;tags=[tag_1,tag_2];identifier=test_var' self.assertEqual(s, expected)
def test_translate_dlist_variables(self): dct = { 'a': Variable('one', 'blah', 'mm'), 'b': Variable('two', 'blah2', 's') } a = Aliases(dct) lst = [{'a': 3, 'b': 5}, {'a': 7, 'b': 8}] ret = a.translate(lst) expected = [{ 'one [mm]': 3, 'two [s]': 5 }, { 'one [mm]': 7, 'two [s]': 8 }] self.assertListEqual(ret, expected)
def test_components_key(self): name = 'a' doc = 'b' unit = 'mm' xyz = ['x', 'y', 'z'] sep = ' - ' v = Variable(name, doc, unit, components=xyz, sep=sep) self.assertEqual(v.key, 'a [mm]')
def test_init(self): name = 'a' doc = 'b' unit = 'c' v = Variable(name, doc, unit) self.assertEqual(v.name, name) self.assertEqual(v.doc, doc) self.assertEqual(v.unit, unit)
def test_components_keys(self): name = 'a' doc = 'b' unit = 'mm' xyz = ['x', 'y', 'z'] sep = ' - ' v = Variable(name, doc, unit, components=xyz, sep=sep) keys = ['a - x [mm]', 'a - y [mm]', 'a - z [mm]'] self.assertListEqual(v.subkeys, keys)
def test_new(self): s = Store() name = 'a' doc = 'b' unit = 'c' v = s.new(name, doc, unit) v_check = Variable(name, doc, unit) self.assertEqual(str(v_check), str(v)) self.assertTrue(v in s) self.assertEqual(str(s[v]), str(v))
def test_tabulate_translated(self): dct = { 'a': Variable('one', 'blah', 'mm'), 'b': Variable('two', 'blah2', 's'), 'c': Variable('three', 'blah2', 'N') } a = Aliases(dct) t = Tabulator() box = Box(get_lst()) index = ['a', 'b'] columns = ['c'] values = 'd' pt = t.tabulate(box=box, values=values, columns=columns, index=index, aliases=a) expected = 'three [N] 1 2\none [mm] two [s] \n1 1 11 14\n 2 13 12\n2 1 15 16\n 2 17 18' self.assertEqual(str(pt), expected)
def test_add_arr(self): b = Box() dct = get_dct() var = Variable('a', components=['x', 'y', 'z']) val = [[0, 1], [2, 3], [4, 5]] b.add(dct, var, val) self.assertEqual(len(b), 1) expected = { 'index': 0, 'independent': { 'a': 1, 'b': 2 }, 'dependent': { 'a': val } } self.assertEqual(b[0], expected)
def test_to_csv_variable(self): t = Tabulator() box = Box(get_lst()) v = Variable('d', 'A doc string') index = ['a', 'b'] columns = ['c'] values = v pt = t.tabulate(box=box, values=values, columns=columns, index=index) with tempfile.TemporaryDirectory() as tmpdirname: fname = os.path.join(tmpdirname, 'test.csv') to_csv(pt, fname, variable=v) with open(fname, 'r') as f: s = f.read() expected = '''d A doc string c,,1,2 a,b,,, 1,1,11,14 1,2,13,12 2,1,15,16 2,2,17,18 ''' self.assertEqual(s, expected)
def test_str(self): name = 'a' doc = 'b' unit = 'mm' v = Variable(name, doc, unit) self.assertEqual(str(v), 'a [mm]')