comparison numerics/data.py @ 23:87615a38190c

more stubbing
author Jeff Hammel <k0scist@gmail.com>
date Fri, 03 Oct 2014 17:59:28 -0700
parents 61ef3985ec5b
children 36e47061187f
comparison
equal deleted inserted replaced
22:61ef3985ec5b 23:87615a38190c
14 wrong number of columns: {given} given; {expected} expected 14 wrong number of columns: {given} given; {expected} expected
15 """ 15 """
16 def __init__(self, given, expected): 16 def __init__(self, given, expected):
17 self.given = given 17 self.given = given
18 self.expected = expected 18 self.expected = expected
19 Exception.__init__(self.__doc__.format(**self.__dict__)) 19 Exception.__init__(self.__doc__.format(**self.__dict__).strip())
20
21
22 class ColumnLengthException(ColumnNumberException):
23 """
24 wrong length of column: {given} given; {expected} expected
25 """
26 # XXX should share ABC, not inherit from ColumnNumberException
20 27
21 28
22 class Rows(object): 29 class Rows(object):
23 """ 30 """
24 row-based data 31 row-based data
54 column-oriented data 61 column-oriented data
55 """ 62 """
56 63
57 def __init__(self, *columns): 64 def __init__(self, *columns):
58 self.columns = OrderedDict() # this should be ordered 65 self.columns = OrderedDict() # this should be ordered
66 for name, values in columns:
67 self += (name, values)
68
69 def __iadd__(self, item):
70 column_name, values = item
71 assert column_name not in self.columns
72
73 return self