def test_compute(self): tableset = TableSet(self.tables.values(), self.tables.keys()) new_tableset = tableset.compute([ (Formula(self.text_type, lambda r: '%(letter)s-%(number)i' % r), 'new_column') ]) new_table = new_tableset['table1'] self.assertEqual(len(new_table.rows), 3) self.assertEqual(len(new_table.columns), 3) self.assertSequenceEqual(new_table._column_types, (self.text_type, self.number_type, self.text_type,)) self.assertSequenceEqual(new_table._column_names, ('letter', 'number', 'new_column',)) self.assertSequenceEqual(new_table.rows[0], ('a', 1, 'a-1')) self.assertSequenceEqual(new_table.rows[1], ('a', 3, 'a-3')) self.assertSequenceEqual(new_table.rows[2], ('b', 2, 'b-2')) new_table = new_tableset['table2'] self.assertSequenceEqual(new_table.rows[0], ('b', 0, 'b-0')) self.assertSequenceEqual(new_table.rows[1], ('a', 2, 'a-2')) self.assertSequenceEqual(new_table.rows[2], ('c', 5, 'c-5')) new_table = new_tableset['table3'] self.assertSequenceEqual(new_table.rows[0], ('a', 1, 'a-1')) self.assertSequenceEqual(new_table.rows[1], ('a', 2, 'a-2')) self.assertSequenceEqual(new_table.rows[2], ('c', 3, 'c-3'))
def test_compute(self): tableset = TableSet(self.tables.values(), self.tables.keys()) new_tableset = tableset.compute( [(Formula(self.text_type, lambda r: "%(letter)s-%(number)i" % r), "new_column")] ) new_table = new_tableset["table1"] self.assertEqual(len(new_table.rows), 3) self.assertEqual(len(new_table.columns), 3) self.assertSequenceEqual(new_table._column_types, (self.text_type, self.number_type, self.text_type)) self.assertSequenceEqual(new_table._column_names, ("letter", "number", "new_column")) self.assertSequenceEqual(new_table.rows[0], ("a", 1, "a-1")) self.assertSequenceEqual(new_table.rows[1], ("a", 3, "a-3")) self.assertSequenceEqual(new_table.rows[2], ("b", 2, "b-2")) new_table = new_tableset["table2"] self.assertSequenceEqual(new_table.rows[0], ("b", 0, "b-0")) self.assertSequenceEqual(new_table.rows[1], ("a", 2, "a-2")) self.assertSequenceEqual(new_table.rows[2], ("c", 5, "c-5")) new_table = new_tableset["table3"] self.assertSequenceEqual(new_table.rows[0], ("a", 1, "a-1")) self.assertSequenceEqual(new_table.rows[1], ("a", 2, "a-2")) self.assertSequenceEqual(new_table.rows[2], ("c", 3, "c-3"))
def test_compute(self): tableset = TableSet(self.tables.values(), self.tables.keys()) new_tableset = tableset.compute([ ('new_column', Formula(self.text_type, lambda r: '%(letter)s-%(number)i' % r)) ]) new_table = new_tableset['table1'] self.assertColumnNames(new_table, ('letter', 'number', 'new_column',)) self.assertColumnTypes(new_table, (Text, Number, Text)) self.assertRows(new_table, [ ('a', 1, 'a-1'), ('a', 3, 'a-3'), ('b', 2, 'b-2') ]) new_table = new_tableset['table2'] self.assertRows(new_table, [ ('b', 0, 'b-0'), ('a', 2, 'a-2'), ('c', 5, 'c-5') ]) new_table = new_tableset['table3'] self.assertSequenceEqual(new_table.rows[0], ('a', 1, 'a-1')) self.assertSequenceEqual(new_table.rows[1], ('a', 2, 'a-2')) self.assertSequenceEqual(new_table.rows[2], ('c', 3, 'c-3'))
def test_compute(self): tableset = TableSet(self.tables.values(), self.tables.keys()) new_tableset = tableset.compute([ ('new_column', Formula(self.text_type, lambda r: '%(letter)s-%(number)i' % r)) ]) new_table = new_tableset['table1'] self.assertColumnNames(new_table, ('letter', 'number', 'new_column',)) self.assertColumnTypes(new_table, (Text, Number, Text)) self.assertRows(new_table, [ ('a', 1, 'a-1'), ('a', 3, 'a-3'), ('b', 2, 'b-2') ]) new_table = new_tableset['table2'] self.assertRows(new_table, [ ('b', 0, 'b-0'), ('a', 2, 'a-2'), ('c', 5, 'c-5') ]) new_table = new_tableset['table3'] self.assertSequenceEqual(new_table.rows[0], ('a', 1, 'a-1')) self.assertSequenceEqual(new_table.rows[1], ('a', 2, 'a-2')) self.assertSequenceEqual(new_table.rows[2], ('c', 3, 'c-3'))
def test_compute(self): tableset = TableSet(self.tables.values(), self.tables.keys()) new_tableset = tableset.compute([ (Formula(self.text_type, lambda r: '%(letter)s-%(number)i' % r), 'new_column') ]) new_table = new_tableset['table1'] self.assertEqual(len(new_table.rows), 3) self.assertEqual(len(new_table.columns), 3) self.assertSequenceEqual(new_table._column_types, (self.text_type, self.number_type, self.text_type,)) self.assertSequenceEqual(new_table._column_names, ('letter', 'number', 'new_column',)) self.assertSequenceEqual(new_table.rows[0], ('a', 1, 'a-1')) self.assertSequenceEqual(new_table.rows[1], ('a', 3, 'a-3')) self.assertSequenceEqual(new_table.rows[2], ('b', 2, 'b-2')) new_table = new_tableset['table2'] self.assertSequenceEqual(new_table.rows[0], ('b', 0, 'b-0')) self.assertSequenceEqual(new_table.rows[1], ('a', 2, 'a-2')) self.assertSequenceEqual(new_table.rows[2], ('c', 5, 'c-5')) new_table = new_tableset['table3'] self.assertSequenceEqual(new_table.rows[0], ('a', 1, 'a-1')) self.assertSequenceEqual(new_table.rows[1], ('a', 2, 'a-2')) self.assertSequenceEqual(new_table.rows[2], ('c', 3, 'c-3'))
def test_compute(self): tableset = TableSet(self.tables.values(), self.tables.keys()) new_tableset = tableset.compute( [("new_column", Formula(self.text_type, lambda r: "%(letter)s-%(number)i" % r))] ) new_table = new_tableset["table1"] self.assertColumnNames(new_table, ("letter", "number", "new_column")) self.assertColumnTypes(new_table, (Text, Number, Text)) self.assertRows(new_table, [("a", 1, "a-1"), ("a", 3, "a-3"), ("b", 2, "b-2")]) new_table = new_tableset["table2"] self.assertRows(new_table, [("b", 0, "b-0"), ("a", 2, "a-2"), ("c", 5, "c-5")]) new_table = new_tableset["table3"] self.assertSequenceEqual(new_table.rows[0], ("a", 1, "a-1")) self.assertSequenceEqual(new_table.rows[1], ("a", 2, "a-2")) self.assertSequenceEqual(new_table.rows[2], ("c", 3, "c-3"))