def test_replace_where(): tbl1 = (('foo', 'bar'), ('a', 1), ('b', 2)) expect = (('foo', 'bar'), ('a', 1), ('b', 4)) actual = replace(tbl1, 'bar', 2, 4, where=lambda r: r.foo == 'b') ieq(expect, actual) ieq(expect, actual) actual = replace(tbl1, 'bar', 2, 4, where="{foo} == 'b'") ieq(expect, actual) ieq(expect, actual)
def test_replace_unhashable(): table1 = (('foo', 'bar'), ('a', ['b']), ('c', None)) expect = (('foo', 'bar'), ('a', ['b']), ('c', [])) actual = replace(table1, 'bar', None, []) ieq(expect, actual)