Skip to content

Commit

Permalink
Yet more element test coverage fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
MyreMylar committed Aug 5, 2022
1 parent 2c9c718 commit 87f061b
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 10 deletions.
24 changes: 14 additions & 10 deletions tests/test_core/test_text/test_text_effects.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,22 +31,22 @@ def test_update(self, _init_pygame, default_ui_manager: UIManager):
text_box = UITextBox('hello <font color=#FF0000>this is a</font> test',
pygame.Rect((10, 10), (200, 100)),
default_ui_manager)
typing_effect = TypingAppearEffect(text_owner=text_box)
text_box.set_active_effect(TEXT_EFFECT_TYPING_APPEAR)

assert typing_effect.text_progress == 0
assert text_box.active_text_effect.text_progress == 0

typing_effect.update(time_delta=0.06)
typing_effect.update(time_delta=0.06)
typing_effect.update(time_delta=0.06)
typing_effect.update(time_delta=0.06)
text_box.active_text_effect.update(time_delta=0.06)
text_box.active_text_effect.update(time_delta=0.06)
text_box.active_text_effect.update(time_delta=0.06)
text_box.active_text_effect.update(time_delta=0.06)

assert typing_effect.text_progress == 2
assert text_box.active_text_effect.text_progress == 2

label = UILabel(pygame.Rect((10, 10), (200, 100)), 'Hell',
default_ui_manager)
label_typing_effect = TypingAppearEffect(text_owner=label)
label.set_active_effect(TEXT_EFFECT_TYPING_APPEAR)

assert label_typing_effect.text_progress == 0
assert label.active_text_effect.text_progress == 0

label.update(time_delta=0.06)
label.update(time_delta=0.06)
Expand All @@ -57,7 +57,11 @@ def test_update(self, _init_pygame, default_ui_manager: UIManager):
label.update(time_delta=0.06)
label.update(time_delta=0.06)

assert label_typing_effect.text_progress == 0
assert label.active_text_effect.text_progress == 4

label.stop_finished_effect()

assert label.active_text_effect is None

def test_has_text_changed(self, _init_pygame, default_ui_manager: UIManager):
text_box = UITextBox('hello <font color=#FF0000>this is a</font> test',
Expand Down
4 changes: 4 additions & 0 deletions tests/test_elements/test_ui_horizontal_slider.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,13 @@ def test_check_update_buttons(self, _init_pygame, default_ui_manager,
# scroll down a bit then up again to exercise update
slider.get_current_value() # Clear has moved this turn
slider.left_button.held = True
slider.update(0.01)
slider.update(0.01)
slider.update(0.5)
slider.left_button.held = False
slider.right_button.held = True
slider.update(0.01)
slider.update(0.01)
slider.update(0.5)

assert slider.has_moved_recently is True
Expand Down
43 changes: 43 additions & 0 deletions tests/test_elements/test_ui_progress_bar.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import os
import pytest
import pygame

from tests.shared_comparators import compare_surfaces

from pygame_gui.ui_manager import UIManager
from pygame_gui.elements.ui_progress_bar import UIProgressBar


class TestUIProgressBar:

def test_creation(self, _init_pygame, default_ui_manager):
progress_bar = UIProgressBar(relative_rect=pygame.Rect(100, 100, 150, 30),
manager=default_ui_manager)
assert progress_bar.image is not None

def test_update(self, _init_pygame, default_ui_manager):
progress_bar = UIProgressBar(relative_rect=pygame.Rect(100, 100, 150, 30),
manager=default_ui_manager)
progress_bar.current_progress = 50.0
progress_bar.update(0.01)
assert progress_bar.image is not None and progress_bar.progress_percentage == 0.5

def test_set_current_progress(self, _init_pygame, default_ui_manager):
progress_bar = UIProgressBar(relative_rect=pygame.Rect(100, 100, 150, 30),
manager=default_ui_manager)

progress_bar.set_current_progress(75)

assert progress_bar.progress_percentage == 0.75

def test_status_text(self, _init_pygame, default_ui_manager):
progress_bar = UIProgressBar(relative_rect=pygame.Rect(100, 100, 150, 30),
manager=default_ui_manager)

progress_bar.set_current_progress(75)

assert progress_bar.status_text() == "75.0/100.0"


if __name__ == '__main__':
pytest.console_main()

0 comments on commit 87f061b

Please sign in to comment.