コード例 #1
0
    def test_methods(self):
        sellable = self.create_sellable(price=10)
        field = AccessorField('Test', None, 'base_price', Decimal)

        # The value is still 10
        self.assertEqual(field.get_value(sellable), 10)
        self.assertEqual(field.get_new_value(sellable), 10)
        self.assertFalse(field.is_changed(sellable))

        # Setting it to 10 again should not change anything
        field.set_new_value(sellable, 10)
        self.assertFalse(field.is_changed(sellable))

        # Lets update it to 15
        field.set_new_value(sellable, 15)

        # The current value of the object is still 10, but the new value is 15
        self.assertEqual(sellable.price, 10)
        self.assertEqual(field.get_value(sellable), 10)
        self.assertEqual(field.get_new_value(sellable), 15)
        self.assertTrue(field.is_changed(sellable))

        # Now lest save the value.
        field.save_value(sellable)
        self.assertEqual(sellable.price, 15)
コード例 #2
0
    def test_cell_data_func(self):
        field = AccessorField('Test', None, 'unit_index', Decimal)
        bool_field = AccessorField('Test', None, 'allow_fraction', bool)
        unit = self.create_sellable_unit()
        unit.unit_index = 10

        search = self._create_search([field, bool_field], [unit], spec=SellableUnit)
        col = search.columns[0]

        # Note that below we are testing the properties of the renderer, and not
        # really the value returned
        renderer = Gtk.CellRendererText()
        search._on_cell_data_func(col, renderer, unit, '10')
        self.assertFalse(renderer.get_property('weight-set'))

        field.set_new_value(unit, 15)
        search._on_cell_data_func(col, renderer, unit, '10')
        self.assertTrue(renderer.get_property('weight-set'))
        self.assertEqual(renderer.get_property('weight'), Pango.Weight.BOLD)

        # Boolean column
        bool_col = search.columns[1]
        renderer = Gtk.CellRendererToggle()
        search._on_cell_data_func(bool_col, renderer, unit, None)
        self.assertEqual(renderer.get_property('active'), True)
コード例 #3
0
    def test_methods(self):
        sellable = self.create_sellable(price=10)
        field = AccessorField('Test', None, 'base_price', Decimal)

        # The value is still 10
        self.assertEqual(field.get_value(sellable), 10)
        self.assertEqual(field.get_new_value(sellable), 10)
        self.assertFalse(field.is_changed(sellable))

        # Setting it to 10 again should not change anything
        field.set_new_value(sellable, 10)
        self.assertFalse(field.is_changed(sellable))

        # Lets update it to 15
        field.set_new_value(sellable, 15)

        # The current value of the object is still 10, but the new value is 15
        self.assertEqual(sellable.price, 10)
        self.assertEqual(field.get_value(sellable), 10)
        self.assertEqual(field.get_new_value(sellable), 15)
        self.assertTrue(field.is_changed(sellable))

        # Now lest save the value.
        field.save_value(sellable)
        self.assertEqual(sellable.price, 15)
コード例 #4
0
    def test_cell_data_func(self):
        field = AccessorField('Test', None, 'unit_index', Decimal)
        bool_field = AccessorField('Test', None, 'allow_fraction', bool)
        unit = self.create_sellable_unit()
        unit.unit_index = 10

        search = self._create_search([field, bool_field], [unit],
                                     spec=SellableUnit)
        col = search.columns[0]

        # Note that below we are testing the properties of the renderer, and not
        # really the value returned
        renderer = Gtk.CellRendererText()
        search._on_cell_data_func(col, renderer, unit, '10')
        self.assertFalse(renderer.get_property('weight-set'))

        field.set_new_value(unit, 15)
        search._on_cell_data_func(col, renderer, unit, '10')
        self.assertTrue(renderer.get_property('weight-set'))
        self.assertEqual(renderer.get_property('weight'), Pango.Weight.BOLD)

        # Boolean column
        bool_col = search.columns[1]
        renderer = Gtk.CellRendererToggle()
        search._on_cell_data_func(bool_col, renderer, unit, None)
        self.assertEqual(renderer.get_property('active'), True)
コード例 #5
0
    def test_accessor(self):
        sellable = self.create_sellable(price=10)
        sellable.product.ncm = u'123'
        field = AccessorField('Test', 'product', 'ncm', unicode)

        self.assertEqual(field.get_value(sellable), '123')
        field.set_new_value(sellable, u'456')
        field.save_value(sellable)

        self.assertEqual(sellable.product.ncm, '456')
コード例 #6
0
    def test_accessor(self):
        sellable = self.create_sellable(price=10)
        sellable.product.ncm = u'123'
        field = AccessorField('Test', 'product', 'ncm', str)

        self.assertEqual(field.get_value(sellable), '123')
        field.set_new_value(sellable, u'456')
        field.save_value(sellable)

        self.assertEqual(sellable.product.ncm, '456')
コード例 #7
0
    def test_cell_data_func(self):
        field = AccessorField('Test', None, 'base_price', Decimal)
        sellable = self.create_sellable(price=10)
        search = self._create_search([field], [sellable])
        col = search.columns[0]

        # Note that below we are testing the properties of the renderer, and not
        # really the value returned
        renderer = gtk.CellRendererText()
        search._on_cell_data_func(col, renderer, sellable, '10')
        self.assertFalse(renderer.get_property('weight-set'))

        field.set_new_value(sellable, 15)
        search._on_cell_data_func(col, renderer, sellable, '10')
        self.assertTrue(renderer.get_property('weight-set'))
        self.assertEqual(renderer.get_property('weight'), pango.WEIGHT_BOLD)