Example #1
0
    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'))
Example #2
0
    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"))
Example #3
0
    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'))
Example #4
0
    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'))
Example #5
0
    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'))
Example #6
0
    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"))