def test_set_position(self, _init_pygame, default_ui_manager):
        test_container = UIContainer(relative_rect=pygame.Rect(
            100, 100, 300, 60),
                                     manager=default_ui_manager)
        element = UIElement(relative_rect=pygame.Rect(100, 100, 50, 50),
                            manager=default_ui_manager,
                            container=test_container,
                            starting_height=0,
                            layer_thickness=1)

        element.set_position(pygame.math.Vector2(150.0, 30.0))

        assert (element.relative_rect.topleft == (50, -70))
Exemple #2
0
    def test_set_position(self, _init_pygame, default_ui_manager):
        test_container = UIContainer(relative_rect=pygame.Rect(10, 10, 300, 300), manager=default_ui_manager)
        element = UIElement(relative_rect=pygame.Rect(100, 100, 50, 50),
                            manager=default_ui_manager,
                            container=test_container,
                            starting_height=0,
                            layer_thickness=1)

        element.set_position(pygame.math.Vector2(150.0, 30.0))

        assert element.relative_rect.topleft == (140, 20)

        element_1 = UIElement(relative_rect=pygame.Rect(0, 0, 50, 50),
                              manager=default_ui_manager,
                              container=test_container,
                              starting_height=0,
                              layer_thickness=1,
                              anchors={'left': 'left',
                                       'right': 'left',
                                       'top': 'top',
                                       'bottom': 'top'})

        element_1.set_position((20, 20))
        assert element_1.relative_rect.topleft == (10, 10)
        assert element_1.relative_rect.size == (50, 50)
        assert element_1.relative_rect.bottomright == (60, 60)

        element_2 = UIElement(relative_rect=pygame.Rect(0, 0, 50, 50),
                              manager=default_ui_manager,
                              container=test_container,
                              starting_height=0,
                              layer_thickness=1,
                              anchors={'left': 'right',
                                       'right': 'right',
                                       'top': 'top',
                                       'bottom': 'top'})

        element_2.set_position((280, 120))
        assert element_2.relative_rect.topleft == (-30, 110)
        assert element_2.relative_rect.size == (50, 50)
        assert element_2.relative_rect.bottomright == (20, 160)

        element_3 = UIElement(relative_rect=pygame.Rect(0, 0, 50, 50),
                              manager=default_ui_manager,
                              container=test_container,
                              starting_height=0,
                              layer_thickness=1,
                              anchors={'left': 'right',
                                       'right': 'right',
                                       'top': 'bottom',
                                       'bottom': 'bottom'})

        element_3.set_position((230, 230))
        assert element_3.relative_rect.topleft == (-80, -80)
        assert element_3.relative_rect.size == (50, 50)
        assert element_3.relative_rect.bottomright == (-30, -30)

        element_4 = UIElement(relative_rect=pygame.Rect(0, 0, 50, 50),
                              manager=default_ui_manager,
                              container=test_container,
                              starting_height=0,
                              layer_thickness=1,
                              anchors={'left': 'left',
                                       'right': 'left',
                                       'top': 'bottom',
                                       'bottom': 'bottom'})

        element_4.set_position((130, 230))
        assert element_4.relative_rect.topleft == (120, -80)
        assert element_4.relative_rect.size == (50, 50)
        assert element_4.relative_rect.bottomright == (170, -30)

        element_5 = UIElement(relative_rect=pygame.Rect(0, 0, 50, 50),
                              manager=default_ui_manager,
                              container=test_container,
                              starting_height=0,
                              layer_thickness=1,
                              anchors={'left': 'left',
                                       'right': 'right',
                                       'top': 'top',
                                       'bottom': 'bottom'})

        assert element_5.relative_right_margin == 250
        assert element_5.relative_bottom_margin == 250

        element_5.set_position((20, 20))
        assert element_5.relative_rect.topleft == (10, 10)
        assert element_5.relative_rect.size == (50, 50)
        assert element_5.relative_rect.bottomright == (60, 60)
        assert element_5.relative_right_margin == 240
        assert element_5.relative_bottom_margin == 240