Mercurial > hg > numerics
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 |