Coverage report: 100.0%

Files Functions Classes

coverage.py v7.6.1, created at 2025-04-07 20:57 +0000

File function statements missing excluded coverage
app/pycardgame/__init__.py (no function) 4 0 0 100.0%
app/pycardgame/src/base.py CardMeta.__new__ 3 0 0 100.0%
app/pycardgame/src/base.py GenericCard.__init__ 7 0 0 100.0%
app/pycardgame/src/base.py GenericCard._set_value 9 0 0 100.0%
app/pycardgame/src/base.py GenericCard.get_rank 3 0 0 100.0%
app/pycardgame/src/base.py GenericCard.change_rank 2 0 0 100.0%
app/pycardgame/src/base.py GenericCard.get_suit 3 0 0 100.0%
app/pycardgame/src/base.py GenericCard.change_suit 2 0 0 100.0%
app/pycardgame/src/base.py GenericCard.is_trump 1 0 0 100.0%
app/pycardgame/src/base.py GenericCard.set_trump 4 0 0 100.0%
app/pycardgame/src/base.py GenericCard.__copy__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericCard.__str__ 3 0 0 100.0%
app/pycardgame/src/base.py GenericCard.__repr__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericCard.__lt__ 9 0 0 100.0%
app/pycardgame/src/base.py GenericCard.__eq__ 3 0 0 100.0%
app/pycardgame/src/base.py GenericCard.__ne__ 3 0 0 100.0%
app/pycardgame/src/base.py GenericCard.__gt__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericCard.__le__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericCard.__ge__ 1 0 0 100.0%
app/pycardgame/src/base.py DeckMeta.__new__ 2 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.__init__ 3 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.reset 2 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.count 9 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.sort 6 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.shuffle 4 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.draw 3 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.add 6 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.remove 5 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.clear 2 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.get_index 3 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.get_cards 1 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.get_top_card 1 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.__str__ 3 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.__repr__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.__eq__ 3 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.__ne__ 3 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.__copy__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.__getitem__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.__len__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.__iter__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.__contains__ 3 0 0 100.0%
app/pycardgame/src/base.py GenericDeck.__bool__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__init__ 3 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.add_cards 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.remove_cards 3 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.play_cards 5 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.get_hand 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.get_score 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.set_score 2 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.get_name 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.set_name 2 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__getitem__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__str__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__repr__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__eq__ 3 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__ne__ 3 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__lt__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__le__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__gt__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__ge__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__bool__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__iter__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericPlayer.__len__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericGame.__init__ 20 0 0 100.0%
app/pycardgame/src/base.py GenericGame.discard_cards 2 0 0 100.0%
app/pycardgame/src/base.py GenericGame.get_discard_pile 1 0 0 100.0%
app/pycardgame/src/base.py GenericGame.get_top_card 1 0 0 100.0%
app/pycardgame/src/base.py GenericGame.reshuffle_discard_pile 5 0 0 100.0%
app/pycardgame/src/base.py GenericGame.draw_cards 11 0 0 100.0%
app/pycardgame/src/base.py GenericGame.deal_initial_cards 6 0 0 100.0%
app/pycardgame/src/base.py GenericGame.add_players 2 0 0 100.0%
app/pycardgame/src/base.py GenericGame.remove_players 3 0 0 100.0%
app/pycardgame/src/base.py GenericGame.deal 4 0 0 100.0%
app/pycardgame/src/base.py GenericGame.play_card 11 0 0 100.0%
app/pycardgame/src/base.py GenericGame.shuffle 2 0 0 100.0%
app/pycardgame/src/base.py GenericGame.get_trump 1 0 0 100.0%
app/pycardgame/src/base.py GenericGame.set_trump 4 0 0 100.0%
app/pycardgame/src/base.py GenericGame.apply_trump 4 0 0 100.0%
app/pycardgame/src/base.py GenericGame.change_trump 5 0 0 100.0%
app/pycardgame/src/base.py GenericGame.get_current_player 1 0 0 100.0%
app/pycardgame/src/base.py GenericGame.set_current_player 8 0 0 100.0%
app/pycardgame/src/base.py GenericGame.get_players 1 0 0 100.0%
app/pycardgame/src/base.py GenericGame.next_player 4 0 0 100.0%
app/pycardgame/src/base.py GenericGame.reverse_direction 2 0 0 100.0%
app/pycardgame/src/base.py GenericGame.get_draw_pile 1 0 0 100.0%
app/pycardgame/src/base.py GenericGame.set_draw_pile 2 0 0 100.0%
app/pycardgame/src/base.py GenericGame.__str__ 1 0 0 100.0%
app/pycardgame/src/base.py GenericGame.__repr__ 1 0 0 100.0%
app/pycardgame/src/base.py (no function) 107 0 8 100.0%
app/pycardgame/src/presets.py UnoCard.__init__ 2 0 0 100.0%
app/pycardgame/src/presets.py UnoCard.is_wild 1 0 0 100.0%
app/pycardgame/src/presets.py UnoCard.__str__ 3 0 0 100.0%
app/pycardgame/src/presets.py NumberCard.__init__ 2 0 0 100.0%
app/pycardgame/src/presets.py NumberCard.effect 1 0 0 100.0%
app/pycardgame/src/presets.py DrawTwoCard.__init__ 2 0 0 100.0%
app/pycardgame/src/presets.py DrawTwoCard.effect 2 0 0 100.0%
app/pycardgame/src/presets.py SkipCard.__init__ 2 0 0 100.0%
app/pycardgame/src/presets.py SkipCard.effect 1 0 0 100.0%
app/pycardgame/src/presets.py ReverseCard.__init__ 2 0 0 100.0%
app/pycardgame/src/presets.py ReverseCard.effect 1 0 0 100.0%
app/pycardgame/src/presets.py WildCard.__init__ 2 0 0 100.0%
app/pycardgame/src/presets.py WildCard.effect 5 0 0 100.0%
app/pycardgame/src/presets.py WildDrawFourCard.__init__ 2 0 0 100.0%
app/pycardgame/src/presets.py WildDrawFourCard.effect 6 0 0 100.0%
app/pycardgame/src/presets.py UnoDeck.__init__ 5 0 0 100.0%
app/pycardgame/src/presets.py UnoDeck.__str__ 1 0 0 100.0%
app/pycardgame/src/presets.py UnoDeck.__repr__ 1 0 0 100.0%
app/pycardgame/src/presets.py UnoPlayer.__init__ 2 0 0 100.0%
app/pycardgame/src/presets.py UnoPlayer.call_uno 3 0 0 100.0%
app/pycardgame/src/presets.py UnoPlayer.reset_uno 2 0 0 100.0%
app/pycardgame/src/presets.py UnoPlayer.__repr__ 1 0 0 100.0%
app/pycardgame/src/presets.py UnoGame.__init__ 4 0 0 100.0%
app/pycardgame/src/presets.py UnoGame.check_valid_play 9 0 0 100.0%
app/pycardgame/src/presets.py UnoGame.get_next_player 1 0 0 100.0%
app/pycardgame/src/presets.py UnoGame.start_game 3 0 0 100.0%
app/pycardgame/src/presets.py UnoGame.draw_instead_of_play 6 0 0 100.0%
app/pycardgame/src/presets.py UnoGame.determine_winner 4 0 0 100.0%
app/pycardgame/src/presets.py UnoGame.end_game 12 0 0 100.0%
app/pycardgame/src/presets.py UnoGame.__str__ 2 0 0 100.0%
app/pycardgame/src/presets.py UnoGame.__repr__ 1 0 0 100.0%
app/pycardgame/src/presets.py (no function) 48 0 1 100.0%
app/pycardgame/tests/base/test_card.py test_card_init 12 0 0 100.0%
app/pycardgame/tests/base/test_card.py test_card_get_rank 6 0 0 100.0%
app/pycardgame/tests/base/test_card.py test_card_set_rank 11 0 0 100.0%
app/pycardgame/tests/base/test_card.py test_card_get_suit 6 0 0 100.0%
app/pycardgame/tests/base/test_card.py test_card_set_suit 11 0 0 100.0%
app/pycardgame/tests/base/test_card.py test_card_get_trump 2 0 0 100.0%
app/pycardgame/tests/base/test_card.py test_card_set_trump 5 0 0 100.0%
app/pycardgame/tests/base/test_card.py test_card_copy 14 0 0 100.0%
app/pycardgame/tests/base/test_card.py test_card_str 6 0 0 100.0%
app/pycardgame/tests/base/test_card.py test_card_repr 6 0 0 100.0%
app/pycardgame/tests/base/test_card.py test_card_comparison 17 0 0 100.0%
app/pycardgame/tests/base/test_card.py (no function) 17 0 1 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_init 6 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_count 8 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_sort 7 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_shuffle 14 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_draw 9 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_add 8 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_remove 6 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_get_index 5 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_get_cards 2 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_get_top_card 2 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_str 2 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_repr 5 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_copy 6 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_equalities 9 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_contains 4 0 0 100.0%
app/pycardgame/tests/base/test_deck.py test_deck_getitem 4 0 0 100.0%
app/pycardgame/tests/base/test_deck.py (no function) 24 0 1 100.0%
app/pycardgame/tests/base/test_game.py DummyGame.__init__ 1 0 0 100.0%
app/pycardgame/tests/base/test_game.py DummyGame.check_valid_play 1 0 0 100.0%
app/pycardgame/tests/base/test_game.py DummyGame.start_game 1 0 0 100.0%
app/pycardgame/tests/base/test_game.py DummyGame.end_game 1 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_init 14 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_check_valid_play 7 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_discard_cards 4 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_get_discard_pile 5 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_get_top_card 8 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_reshuffle_discard_pile 8 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_draw_cards 10 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_deal_initial_cards 6 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_add_players 5 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_remove_players 4 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_deal 4 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_shuffle 6 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_play 11 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_get_trump 4 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_set_trump 5 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_apply_trump 13 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_change_trump 16 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_get_current_player 3 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_set_current_player 10 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_get_players 3 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_get_deck 3 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_set_deck 5 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_str 3 0 0 100.0%
app/pycardgame/tests/base/test_game.py test_game_repr 16 0 0 100.0%
app/pycardgame/tests/base/test_game.py (no function) 37 0 1 100.0%
app/pycardgame/tests/base/test_player.py test_player_init 5 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_add_card 6 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_remove_card 6 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_play_card 5 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_get_hand 3 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_get_score 2 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_set_score 5 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_get_name 2 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_set_name 3 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_getitem 7 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_str 2 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_repr 5 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_equalities 8 0 0 100.0%
app/pycardgame/tests/base/test_player.py test_player_comparisons 7 0 0 100.0%
app/pycardgame/tests/base/test_player.py (no function) 21 0 1 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_uno_card_init 12 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_uno_card_is_wild 2 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_uno_card_str 7 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_number_card_init 6 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_draw_two_card_init 6 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_draw_two_card_effect 14 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_skip_card_init 6 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_skip_card_effect 7 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_reverse_card_init 6 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_reverse_card_effect 7 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_wild_card_init 6 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_wild_card_effect 9 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_wild_draw_four_card_init 6 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_wild_draw_four_card_effect 10 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py test_draw_two_card_stacking 28 0 0 100.0%
app/pycardgame/tests/presets/uno/test_cards.py (no function) 17 0 0 100.0%
app/pycardgame/tests/presets/uno/test_deck.py test_uno_deck_init 10 0 0 100.0%
app/pycardgame/tests/presets/uno/test_deck.py test_uno_deck_shuffle 6 0 0 100.0%
app/pycardgame/tests/presets/uno/test_deck.py test_uno_deck_str 3 0 0 100.0%
app/pycardgame/tests/presets/uno/test_deck.py test_uno_deck_repr 2 0 0 100.0%
app/pycardgame/tests/presets/uno/test_deck.py (no function) 7 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_player_init 4 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_player_call_uno 4 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_player_reset_uno 5 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_player_str 2 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_player_repr 3 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_init 8 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_check_valid_play 14 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_discard_cards 5 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_get_top_card 4 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_get_next_player 7 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_play_card 10 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_draw_instead_of_play 14 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_draw_cards 14 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_reverse_direction 8 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_start_game 9 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_next_player 11 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_determine_winner 6 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_end_game 14 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_str 5 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py test_uno_game_repr 5 0 0 100.0%
app/pycardgame/tests/presets/uno/test_game.py (no function) 22 0 0 100.0%
Total   1396 0 22 100.0%

No items found using the specified filter.

9 empty functions skipped.