def test_activate_cards_4(self): fact_data = {"q": "question", "a": "answer"} card_type_1 = self.card_type_by_id("1") card = self.controller().create_new_cards(fact_data, card_type_1, grade=-1, tag_names=["tag"])[0] self.review_controller().new_question() assert self.review_controller().card == card assert self.review_controller().get_counters() == (0, 1, 1) c = DefaultCriterion(self.mnemosyne.component_manager) c.deactivated_card_type_fact_view_ids = set() c.active_tag__ids = set([self.database().get_or_create_tag_with_name("tag2")._id]) c.forbidden_tags__ids = set() self.database().set_current_activity_criterion(c) self.review_controller().reset_but_try_to_keep_current_card() self.review_controller().reload_counters() assert self.review_controller().card is None assert self.review_controller().get_counters() == (0, 0, 0) c = DefaultCriterion(self.mnemosyne.component_manager) c.deactivated_card_type_fact_view_ids = set() c.active_tag__ids = set([self.database().get_or_create_tag_with_name("tag")._id]) c.forbidden_tags__ids = set() self.database().set_current_activity_criterion(c) self.review_controller().reset_but_try_to_keep_current_card() self.review_controller().reload_counters() assert self.review_controller().card == card assert self.review_controller().get_counters() == (0, 1, 1)
def test_card_type(self): from mnemosyne.libmnemosyne.card_types.cloze import ClozePlugin for plugin in self.plugins(): if isinstance(plugin, ClozePlugin): cloze_plugin = plugin plugin.activate() break fact_data = {"text": "[foo]"} card_type_1 = self.card_type_by_id("5") card = self.controller().create_new_cards(fact_data, card_type_1, grade=-1, tag_names=["default"])[0] assert self.database().active_count() == 1 c = DefaultCriterion(self.mnemosyne.component_manager) c.deactivated_card_type_fact_view_ids = set([(card_type_1.id, card_type_1.fact_views[0].id)]) c.active_tag__ids = set() c.forbidden_tag__ids = set() self.database().set_current_activity_criterion(c) assert self.database().active_count() == 0 self.database().delete_fact_and_related_data(card.fact) plugin.deactivate() c = self.database().current_activity_criterion() assert len(c.deactivated_card_type_fact_view_ids) == 0
def test_activate_cards_1(self): fact_data = {"q": "question", "a": "answer"} card_type_1 = self.card_type_by_id("1") self.controller().create_new_cards(fact_data, card_type_1, grade=-1, tag_names=["default"]) assert self.database().active_count() == 1 fact_data = {"q": "question", "a": "answer"} card_type_2 = self.card_type_by_id("2") self.controller().create_new_cards(fact_data, card_type_2, grade=-1, tag_names=["default"]) assert self.database().active_count() == 3 c = DefaultCriterion(self.mnemosyne.component_manager) c.deactivated_card_type_fact_view_ids = set() c.active_tag__ids = set([self.database().get_or_create_tag_with_name("default")._id]) c.forbidden_tags__ids = set() self.database().set_current_activity_criterion(c) assert self.database().active_count() == 3 c.deactivated_card_type_fact_view_ids = set([(card_type_2.id, card_type_2.fact_views[0].id)]) c.active_tag__ids = set([self.database().get_or_create_tag_with_name("default")._id]) c.forbidden_tags__ids = set() self.database().set_current_activity_criterion(c) assert self.database().active_count() == 2 c = DefaultCriterion(self.mnemosyne.component_manager) c.deactivated_card_type_fact_view_ids = set() c.active_tag__ids = set([self.database().get_or_create_tag_with_name("default2")._id]) c.forbidden_tags__ids = set() self.database().set_current_activity_criterion(c) assert self.database().active_count() == 0 fact_data = {"q": "question2", "a": "answer2"} self.controller().create_new_cards(fact_data, card_type_2, grade=-1, tag_names=["default2"]) c.deactivated_card_type_fact_view_ids = set() c.active_tag__ids = set([self.database().get_or_create_tag_with_name("default2")._id]) c.forbidden_tags__ids = set() self.database().set_current_activity_criterion(c) assert self.database().active_count() == 2 fact_data = {"q": "question3", "a": "answer3"} self.controller().create_new_cards(fact_data, card_type_2, grade=-1, tag_names=["default3", "default4"]) c.deactivated_card_type_fact_view_ids = set() c.active_tag__ids = set([self.database().get_or_create_tag_with_name("default3")._id]) c.forbidden_tags__ids = set() self.database().set_current_activity_criterion(c) assert self.database().active_count() == 2 c.deactivated_card_type_fact_view_ids = set([(card_type_2.id, card_type_2.fact_views[0].id)]) c.active_tag__ids = set([self.database().get_or_create_tag_with_name("default3")._id]) c.forbidden_tags__ids = set() self.database().set_current_activity_criterion(c) assert self.database().active_count() == 1 c.deactivated_card_type_fact_view_ids = set( [(card_type_2.id, card_type_2.fact_views[0].id), (card_type_2.id, card_type_2.fact_views[1].id)] ) c.active_tag__ids = set([self.database().get_or_create_tag_with_name("default3")._id]) c.forbidden_tags__ids = set() self.database().set_current_activity_criterion(c) assert self.database().active_count() == 0
def test_activate_cards_2(self): fact_data = {"q": "question", "a": "answer"} card_type_1 = self.card_type_by_id("1") self.controller().create_new_cards(fact_data, card_type_1, grade=-1, tag_names=["active", "forbidden"]) assert self.database().active_count() == 1 c = DefaultCriterion(self.mnemosyne.component_manager) c.deactivated_card_type_fact_view_ids = set() c.active_tag__ids = set([self.database().get_or_create_tag_with_name("active")._id]) c.forbidden_tags__ids = set() self.database().set_current_activity_criterion(c) assert self.database().active_count() == 1 c = DefaultCriterion(self.mnemosyne.component_manager) c.deactivated_card_type_fact_view_ids = set() c.active_tag__ids = set([self.database().get_or_create_tag_with_name("active")._id]) c.forbidden_tag__ids = set([self.database().get_or_create_tag_with_name("forbidden")._id]) self.database().set_current_activity_criterion(c) assert self.database().active_count() == 0
def activate(): from mnemosyne.libmnemosyne.activity_criteria.default_criterion import \ DefaultCriterion card_type_2 = mnemosyne.card_type_by_id("2") c = DefaultCriterion(mnemosyne.component_manager) c.active_tags__ids = set([mnemosyne.database().get_or_create_tag_with_name("default")._id]) c.forbidden_tag__ids = set() c.deactivated_card_type_fact_view_ids = \ set([(card_type_2.id, card_type_2.fact_views[0].id)]) c.active_tag__ids = set([mnemosyne.database().get_or_create_tag_with_name("default")._id]) c.forbidden_tags__ids = set() mnemosyne.database().set_current_activity_criterion(c)
def test_activate_cards_new_2(self): fact_data = {"q": "question", "a": "answer"} card_type_1 = self.card_type_by_id("1") self.controller().create_new_cards(fact_data, card_type_1, grade=-1, tag_names=["default"]) assert self.database().active_count() == 1 c = DefaultCriterion(self.mnemosyne.component_manager) c.deactivated_card_type_fact_view_ids = set([(card_type_1.id, card_type_1.fact_views[0].id)]) c.active_tag__ids = set() c.forbidden_tag__ids = set() self.database().set_current_activity_criterion(c) assert self.database().active_count() == 0 fact_data = {"q": "question2", "a": "answer2"} card_type_1 = self.card_type_by_id("1") self.controller().create_new_cards(fact_data, card_type_1, grade=-1, tag_names=["default"]) assert self.database().active_count() == 0
def test_cached_scheduler_count(self): fact_data = {"q": "question", "a": "answer"} card_type_1 = self.card_type_by_id("1") self.controller().create_new_cards(fact_data, card_type_1, grade=-1, tag_names=["tag"]) assert self.database().active_count() == 1 self.review_controller().new_question() assert self.review_controller().active_count == 1 c = DefaultCriterion(self.mnemosyne.component_manager) c.deactivated_card_type_fact_view_ids = set() c.active_tag__ids = set() c.forbidden_tag__ids = set() self.database().set_current_activity_criterion(c) self.review_controller().reset_but_try_to_keep_current_card() assert self.database().active_count() == 0 assert self.review_controller().active_count == 0
def test_activate_cards_edit(self): fact_data = {"q": "question3", "a": "answer3"} card_type_1 = self.card_type_by_id("1") card = self.controller().create_new_cards(fact_data, card_type_1, grade=-1, tag_names=["forbidden"])[0] assert self.database().active_count() == 1 c = DefaultCriterion(self.mnemosyne.component_manager) c.deactivated_card_type_fact_view_ids = set() c.active_tag__ids = set() c.forbidden_tag__ids = set([self.database().get_or_create_tag_with_name("forbidden")._id]) self.database().set_current_activity_criterion(c) assert self.database().active_count() == 0 card_type_2 = self.card_type_by_id("2") self.controller().update_related_cards( card.fact, card.fact.data, card_type_2, new_tag_names=["allowed"], correspondence=[] ) assert self.database().active_count() == 2 c = list(self.database().get_activity_criteria())[0] assert len(c.forbidden_tag__ids) == 0 assert len(c.active_tag__ids) == 1