Пример #1
0
    def setUp(self) -> None:
        self.card = Card("card title", "question", "answer", 1)
        self.deck = Deck("deck name", [self.card])
        self.data = Data()
        self.data.box = Box("box name", [self.deck])

        self.deck_service = DeckService(self.data)
Пример #2
0
    def save_deck(self):
        to_validate = self.var_name_entry.get()
        if not to_validate:
            self.confirm_text.set("Error : name cannot be blank")
            return

        deck = Deck(self.var_name_entry.get(), [])
        self.deckService.add_deck(deck)
        CreateCard(deck, master=self.app)
Пример #3
0
    def test_get_deck_should_return_deck_present_in_data_box(self):
        current_decks = self.data.box.decks
        current_decks.append(Deck("2nd deck", [self.card]))
        self.data.box.decks = current_decks

        self.assertIsInstance(self.deck_service.find_deck_by_index(0), Deck,
                              "incorrect deck instance")
        self.assertEqual(self.deck_service.find_deck_by_index(0), self.deck,
                         "incorrect deck value")
        self.assertEqual(
            self.deck_service.find_deck_by_index(1).name, "2nd deck",
            "incorrect deck value")
Пример #4
0
 def get_json_box(self, file_path):
     box = Box("AnkiLike", list())
     if file_path.exists():
         try:
             json_data = self.get_json_from_file(file_path)
             for deck in json_data['decks']:
                 new_deck = Deck(deck['_name'], list())
                 for card in deck['cards']:
                     new_card = Card(card['_title'], card['_question'],
                                     card['_answer'],
                                     card['_validation_level'])
                     new_deck.add_card(new_card)
                 box.add_deck(new_deck)
             return box
         except:
             messagebox.showwarning(
                 "Sauvegarde",
                 "Vos données sont corrompues ou inexistantes")
             return box
     else:
         messagebox.showwarning("Sauvegarde", "Aucune sauvegarde trouvée")
         return box
Пример #5
0
    def setUp(self) -> None:
        self.cards = []
        for i in range(5):
            self.cards.append(Card("card" + str(i), "question", "answer", i))
        self.deck = Deck("deck name to test card service", self.cards)
        self.data = Data()
        self.data.box = Box("box name", [self.deck])
        self.mock_values_ratio_lister = MagicMock()

        self.card_service = CardService()
        self.card_service.data = self.data
        self.card_service.deck_index = 0
        self.card_service.values_ratio_lister = self.mock_values_ratio_lister

        self.deck_create_helper = DeckCreateHelper(4)
Пример #6
0
    def create_deck_with_define_cards_validation_level(self, levels) -> Deck:
        list_cards = []
        validation_level = -1

        for i in range(len(levels)):
            if validation_level > self.max_validation_level:
                break
            for y in range(levels[i]):
                title = 'title_{}_{}'.format(y, validation_level)
                question = 'question_{}_{}'.format(y, validation_level)
                answer = 'answer_{}_{}'.format(y, validation_level)
                card = Card(title, question, answer, validation_level)
                list_cards.append(card)
            validation_level += 1

        return Deck('current_deck', list_cards)
Пример #7
0
 def deck_load(self, nb_deck: int):
     new_deck = Deck("deck" + str(nb_deck), [])
     count_card = round(random.uniform(1, 10))
     for nb_card in range(count_card):
         new_deck.cards.append(self.deck_card(nb_card))
     return new_deck