Raise an error if selecting column that exists more than once

This caused a pretty major bug for us

also, closes #108
This commit is contained in:
Daniel Schep
2017-12-07 11:47:52 -05:00
parent fcd41c36c9
commit 01d0132c1f
2 changed files with 8 additions and 0 deletions
+2
View File
@@ -52,6 +52,8 @@ class Record(object):
# Support for string-based lookup.
if key in self.keys():
i = self.keys().index(key)
if self.keys().count(key) > 1:
raise KeyError("Record contains multiple '{}' fields.".format(key))
return self.values()[i]
raise KeyError("Record contains no '{}' field.".format(key))
+6
View File
@@ -97,3 +97,9 @@ class TestRecord:
assert key in _dir
for key in dir(object):
assert key in _dir
def test_record_duplicate_column(self):
keys, values = ['id', 'name', 'email', 'email'], [1, '', '', '']
record = records.Record(keys, values)
with raises(KeyError):
record['email']