示例#1
0
    def test_max_value(self):
        """Assert that the max_value is set correctly when setting the number
        of icons for the rating widget.
        """
        max_value = 10

        rating_widget = ratingWidget.RatingWidget(num_icons=max_value)

        self.assertEqual(rating_widget.max_value, max_value)
示例#2
0
    def test_value(self):
        """Assert that the value of the rating_widget is updated and retreivable.
        """
        rating_widget = ratingWidget.RatingWidget(num_icons=5)
        self.assertEqual(rating_widget.value, 0)

        test_icon = rating_widget.icons[2]
        rating_widget.set_icons_active(test_icon)
        self.assertEqual(rating_widget.value, test_icon.value)

        test_icon = rating_widget.icons[4]
        rating_widget.set_icons_active(test_icon)
        self.assertEqual(rating_widget.value, test_icon.value)
示例#3
0
    def test_active_icons_visible(self):
        """Assert that set_active_icons_visible correctly sets the visibility
        for active icons.
        """
        rating_widget = ratingWidget.RatingWidget(num_icons=5)

        limit = 3

        self._setup_icons_active(rating_widget, limit)

        # Set all active icons visible.
        rating_widget._set_active_icons_visible()

        # Assert all active icons are now visible.
        for count, icon in enumerate(rating_widget.icons):
            self.assertEqual(icon.visible, bool(count < limit))
示例#4
0
    def test_eventFilter(self):
        """Assert that the mouse leaving the widget triggers the icons
        to be set to their default state.
        """
        rating_widget = ratingWidget.RatingWidget(num_icons=5)

        limit = 3

        self._setup_icons_active(rating_widget, limit)

        # Trigger the event filter
        rating_widget.eventFilter(rating_widget,
                                  QtCore.QEvent(QtCore.QEvent.Leave))

        # Assert all active icons are now visible.
        for count, icon in enumerate(rating_widget.icons):
            self.assertEqual(icon.visible, bool(count < limit))
示例#5
0
    def test_set_icons_visible(self):
        """Assert that set_icons_visible correctly sets visibility up to
        a specified icon.
        """
        rating_widget = ratingWidget.RatingWidget(num_icons=5)

        # Assert all icons are initially not visible.
        # Could be it's own test, but helps assert there is a change in visibility state.
        for icon in rating_widget.icons:
            self.assertFalse(icon.visible)

        test_icon = rating_widget.icons[2]
        rating_widget._set_icons_visible(test_icon)

        # Assert all icons with a value less than or equal to the chosen icon,
        # are visible.
        for icon in rating_widget.icons:
            self.assertEqual(icon.visible, (icon.value <= test_icon.value))
示例#6
0
    def test_set_icons_active(self):
        """Assert that set_icons_active correctly sets icons active up to
        a specified icon.
        """
        rating_widget = ratingWidget.RatingWidget(num_icons=5)

        # Assert all icons are initially false.
        # Could be it's own test, but helps assert there is a change in active state.
        for icon in rating_widget.icons:
            self.assertFalse(icon.active)

        test_icon = rating_widget.icons[2]
        rating_widget.set_icons_active(test_icon)

        # Assert all icons with a value less than or equal to the chosen icon,
        # are active.
        for icon in rating_widget.icons:
            self.assertEqual(icon.active, (icon.value <= test_icon.value))
示例#7
0
 def test_num_icons(self):
     """Assert the correct number of icons is created.
     """
     rating_widget = ratingWidget.RatingWidget(num_icons=3)
     self.assertTrue(len(rating_widget.icons) == 3)