Exemplo n.º 1
0
    def test_activate_cards_4(self):
        fact_data = {"f": "question", "b": "answer"}
        card_type_1 = self.card_type_with_id("1")
        card = self.controller().create_new_cards(fact_data,
                                                  card_type_1,
                                                  grade=-1,
                                                  tag_names=["tag"])[0]
        self.review_controller().show_new_question()

        assert self.review_controller().card == card
        assert self.review_controller().counters() == (0, 1, 1)

        c = DefaultCriterion(self.mnemosyne.component_manager)
        c.deactivated_card_type_fact_view_ids = set()
        c._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("tag2")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_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().counters() == (0, 0, 0)

        c = DefaultCriterion(self.mnemosyne.component_manager)
        c.deactivated_card_type_fact_view_ids = set()
        c._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("tag")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_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().counters() == (0, 1, 1)
Exemplo n.º 2
0
    def test_activate_cards_2(self):
        fact_data = {"f": "question", "b": "answer"}
        card_type_1 = self.card_type_with_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._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("active")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 1

        c = DefaultCriterion(self.mnemosyne.component_manager)
        c.deactivated_card_type_fact_view_ids = set()
        c._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("active")._id])
        c._tag_ids_forbidden = set(
            [self.database().get_or_create_tag_with_name("forbidden")._id])
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0
Exemplo n.º 3
0
    def test_activate_cards_4(self):
        fact_data = {"f": "question",
                     "b": "answer"}
        card_type_1 = self.card_type_with_id("1")
        card = self.controller().create_new_cards(fact_data, card_type_1,
           grade=-1, tag_names=["tag"])[0]
        self.review_controller().show_new_question()

        assert self.review_controller().card == card
        assert self.review_controller().counters() == (0, 1, 1)

        c = DefaultCriterion(self.mnemosyne.component_manager)
        c.deactivated_card_type_fact_view_ids = set()
        c._tag_ids_active = set([self.database().get_or_create_tag_with_name("tag2")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_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().counters() == (0, 0, 0)

        c = DefaultCriterion(self.mnemosyne.component_manager)
        c.deactivated_card_type_fact_view_ids = set()
        c._tag_ids_active = set([self.database().get_or_create_tag_with_name("tag")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_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().counters() == (0, 1, 1)
Exemplo n.º 4
0
def activate():
    from mnemosyne.libmnemosyne.criteria.default_criterion import \
     DefaultCriterion
    card_type_2 = mnemosyne.card_type_with_id("2")
    c = DefaultCriterion(mnemosyne.component_manager)
    c._tag_ids_active = set([mnemosyne.database().get_or_create_tag_with_name("default")._id])
    c._tag_ids_forbidden = set()
    c.deactivated_card_type_fact_view_ids = \
        set([(card_type_2.id, card_type_2.fact_views[0].id)])
    c._tag_ids_active = set([mnemosyne.database().get_or_create_tag_with_name("default")._id])
    c._tag_ids_forbidden = set()
    mnemosyne.database().set_current_criterion(c)
Exemplo n.º 5
0
def activate():
    from mnemosyne.libmnemosyne.criteria.default_criterion import \
     DefaultCriterion
    card_type_2 = mnemosyne.card_type_with_id("2")
    c = DefaultCriterion(mnemosyne.component_manager)
    c._tag_ids_active = set([mnemosyne.database().get_or_create_tag_with_name("default")._id])
    c._tag_ids_forbidden = set()
    c.deactivated_card_type_fact_view_ids = \
        set([(card_type_2.id, card_type_2.fact_views[0].id)])
    c._tag_ids_active = set([mnemosyne.database().get_or_create_tag_with_name("default")._id])
    c._tag_ids_forbidden = set()
    mnemosyne.database().set_current_criterion(c)
    def test_activate_cards_bulk_edit_2(self):
        fact_data = {"f": "question", "b": "answer"}
        card_type_1 = self.card_type_with_id("1")
        card = self.controller().create_new_cards(fact_data,
                                                  card_type_1,
                                                  grade=-1,
                                                  tag_names=["forbidden"])[0]

        fact_data = {"f": "question2", "b": "answer2"}
        card = self.controller().create_new_cards(fact_data,
                                                  card_type_1,
                                                  grade=-1,
                                                  tag_names=["forbidden"])[0]
        assert self.database().active_count() == 2

        c = DefaultCriterion(self.mnemosyne.component_manager)
        c.deactivated_card_type_fact_view_ids = set()
        c._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("__UNTAGGED__")._id])
        c._tag_ids_forbidden = set(
            [self.database().get_or_create_tag_with_name("forbidden")._id])
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0

        self.database().remove_tag_from_cards_with_internal_ids(\
            self.database().get_or_create_tag_with_name("forbidden"), [card._id])

        assert self.database().active_count() == 1
Exemplo n.º 7
0
    def test_inactive_parent(self):

        fact_data = {"f": "question",
                     "b": "answer"}
        card_type_1 = self.card_type_with_id("1")
        self.controller().create_new_cards(fact_data, card_type_1,
           grade=-1, tag_names=["dummy"])

        fact_data = {"f": "question2",
                     "b": "answer2"}
        card_type_1 = self.card_type_with_id("1")
        self.controller().create_new_cards(fact_data, card_type_1,
           grade=-1, tag_names=["a"])

        c = DefaultCriterion(self.mnemosyne.component_manager)
        c.deactivated_card_type_fact_view_ids = set()
        c._tag_ids_active = set([self.database().get_or_create_tag_with_name("dummy")._id])
        c._tag_ids_forbidden = set([self.database().get_or_create_tag_with_name("a")._id])
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 1

        fact_data = {"f": "question3",
                     "b": "answer3"}
        self.controller().create_new_cards(fact_data, card_type_1,
            grade=-1, tag_names=["a::b"])

        assert self.database().active_count() == 1
        fact_data = {"f": "question4",
                     "b": "answer4"}
        self.controller().create_new_cards(fact_data, card_type_1,
            grade=-1, tag_names=["dummy::b"])
        assert self.database().active_count() == 2
Exemplo n.º 8
0
    def test_activate_cards_edit(self):
        fact_data = {"f": "question3", "b": "answer3"}
        card_type_1 = self.card_type_with_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._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("forbidden")._id])
        c._tag_ids_forbidden = set(
            [self.database().get_or_create_tag_with_name("forbidden")._id])
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0

        card_type_2 = self.card_type_with_id("2")
        self.controller().edit_card_and_sisters(card,
                                                card.fact.data,
                                                card_type_2,
                                                new_tag_names=["allowed"],
                                                correspondence=[])
        assert self.database().active_count() == 2

        c = list(self.database().criteria())[0]
        assert len(c._tag_ids_forbidden) == 0
        assert len(c._tag_ids_active) == 1
Exemplo n.º 9
0
    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_with_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._tag_ids_active = set()
        c._tag_ids_forbidden = set()
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0

        self.controller().delete_facts_and_their_cards([card.fact])
        plugin.deactivate()
        c = self.database().current_criterion()
        assert len(c.deactivated_card_type_fact_view_ids) == 0
Exemplo n.º 10
0
    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_with_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._tag_ids_active = set()
        c._tag_ids_forbidden = set()
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0

        self.controller().delete_facts_and_their_cards([card.fact])
        plugin.deactivate()
        c = self.database().current_criterion()
        assert len(c.deactivated_card_type_fact_view_ids) == 0
Exemplo n.º 11
0
    def test_compare_criteria(self):
        c1 = DefaultCriterion(self.mnemosyne.component_manager)
        c1.deactivated_card_type_fact_view_ids = set()
        c1._tag_ids_active = set([self.database().get_or_create_tag_with_name("default")._id])
        c1._tag_ids_forbidden = set()

        c2 = DefaultCriterion(self.mnemosyne.component_manager)
        c2.deactivated_card_type_fact_view_ids = set()
        c2._tag_ids_active = set([self.database().get_or_create_tag_with_name("default")._id])
        c2._tag_ids_forbidden = set()

        c3 = DefaultCriterion(self.mnemosyne.component_manager)
        c3.deactivated_card_type_fact_view_ids = set()
        c3._tag_ids_active = set([self.database().get_or_create_tag_with_name("default1")._id])
        c3._tag_ids_forbidden = set()

        assert c1 == c2
        assert c1 != c3
        assert c1 != 1
Exemplo n.º 12
0
    def test_reset_but_try_to_keep_current_card_turned_inactive(self):
        card_type = self.card_type_with_id("1")
        fact_data = {"f": "1", "b": "b"}
        card = self.controller().create_new_cards(fact_data, card_type, grade=-1, tag_names=["forbidden"])[0]
        self.review_controller().show_new_question()
        assert self.review_controller().card == card

        c = DefaultCriterion(self.mnemosyne.component_manager)
        c.deactivated_card_type_fact_view_ids = set()
        c._tag_ids_active = set([self.database().get_or_create_tag_with_name("active")._id])
        c._tag_ids_forbidden = set([self.database().get_or_create_tag_with_name("forbidden")._id])
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0

        assert self.review_controller().card == card
        self.review_controller().reset_but_try_to_keep_current_card()
        assert self.review_controller().card is None
Exemplo n.º 13
0
    def test_cached_scheduler_count(self):
        fact_data = {"f": "question",
                     "b": "answer"}
        card_type_1 = self.card_type_with_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().show_new_question()
        assert self.review_controller().active_count == 1

        c = DefaultCriterion(self.mnemosyne.component_manager)
        c.deactivated_card_type_fact_view_ids = set()
        c._tag_ids_active = set()
        c._tag_ids_forbidden = set()
        self.database().set_current_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
Exemplo n.º 14
0
    def test_delete_forbidden(self):
        card_type = self.card_type_with_id("1")
        fact_data = {"f": "question",  "b": "answer"}
        card = self.controller().create_new_cards(fact_data, card_type,
            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._tag_ids_active = set([self.database().get_or_create_tag_with_name("active")._id, 1])
        c._tag_ids_forbidden = set([self.database().get_or_create_tag_with_name("forbidden")._id])
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0

        from mnemosyne.libmnemosyne.tag_tree import TagTree
        self.tree = TagTree(self.mnemosyne.component_manager)
        self.tree.delete_subtree("forbidden")
        assert self.database().active_count() == 1
Exemplo n.º 15
0
    def test_reset_but_try_to_keep_current_card_turned_inactive(self):
        card_type = self.card_type_with_id("1")
        fact_data = {"f": "1", "b": "b"}
        card = self.controller().create_new_cards(fact_data,
                                                  card_type,
                                                  grade=-1,
                                                  tag_names=["forbidden"])[0]
        self.review_controller().show_new_question()
        assert self.review_controller().card == card

        c = DefaultCriterion(self.mnemosyne.component_manager)
        c.deactivated_card_type_fact_view_ids = set()
        c._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("active")._id])
        c._tag_ids_forbidden = set(
            [self.database().get_or_create_tag_with_name("forbidden")._id])
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0

        assert self.review_controller().card == card
        self.review_controller().reset_but_try_to_keep_current_card()
        assert self.review_controller().card is None
Exemplo n.º 16
0
    def test_activate_cards_new_2(self):
        fact_data = {"f": "question",
                     "b": "answer"}
        card_type_1 = self.card_type_with_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._tag_ids_active = set()
        c._tag_ids_forbidden = set()
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0

        fact_data = {"f": "question2",
                     "b": "answer2"}
        card_type_1 = self.card_type_with_id("1")
        self.controller().create_new_cards(fact_data, card_type_1,
           grade=-1, tag_names=["default"])
        assert self.database().active_count() == 0
Exemplo n.º 17
0
    def test_delete_forbidden(self):
        card_type = self.card_type_with_id("1")
        fact_data = {"f": "question", "b": "answer"}
        card = self.controller().create_new_cards(fact_data,
                                                  card_type,
                                                  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._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("active")._id, 1])
        c._tag_ids_forbidden = set(
            [self.database().get_or_create_tag_with_name("forbidden")._id])
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0

        from mnemosyne.libmnemosyne.tag_tree import TagTree
        self.tree = TagTree(self.mnemosyne.component_manager)
        self.tree.delete_subtree("forbidden")
        assert self.database().active_count() == 1
Exemplo n.º 18
0
    def test_activate_cards_edit(self):
        fact_data = {"f": "question3",
                     "b": "answer3"}
        card_type_1 = self.card_type_with_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._tag_ids_active = set([self.database().get_or_create_tag_with_name("forbidden")._id])
        c._tag_ids_forbidden = set([self.database().get_or_create_tag_with_name("forbidden")._id])
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0

        card_type_2 = self.card_type_with_id("2")
        self.controller().edit_card_and_sisters(card, card.fact.data,
               card_type_2, new_tag_names=["allowed"], correspondence=[])
        assert self.database().active_count() == 2

        c = list(self.database().criteria())[0]
        assert len(c._tag_ids_forbidden) == 0
        assert len(c._tag_ids_active) == 1
Exemplo n.º 19
0
    def test_activate_cards_1(self):
        fact_data = {"f": "question", "b": "answer"}
        card_type_1 = self.card_type_with_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 = {"f": "question", "b": "answer"}
        card_type_2 = self.card_type_with_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._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("default")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_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._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("default")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 2

        c = DefaultCriterion(self.mnemosyne.component_manager)
        c.deactivated_card_type_fact_view_ids = set()
        c._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("default2")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0

        fact_data = {"f": "question2", "b": "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._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("default2")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 2

        fact_data = {"f": "question3", "b": "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._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("default3")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_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._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("default3")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_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._tag_ids_active = set(
            [self.database().get_or_create_tag_with_name("default3")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0
Exemplo n.º 20
0
    def test_activate_cards_1(self):
        fact_data = {"f": "question",
                     "b": "answer"}
        card_type_1 = self.card_type_with_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 = {"f": "question",
                     "b": "answer"}
        card_type_2 = self.card_type_with_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._tag_ids_active = set([self.database().get_or_create_tag_with_name("default")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_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._tag_ids_active = set([self.database().get_or_create_tag_with_name("default")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 2

        c = DefaultCriterion(self.mnemosyne.component_manager)
        c.deactivated_card_type_fact_view_ids = set()
        c._tag_ids_active = set([self.database().get_or_create_tag_with_name("default2")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0

        fact_data = {"f": "question2",
                     "b": "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._tag_ids_active = set([self.database().get_or_create_tag_with_name("default2")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 2

        fact_data = {"f": "question3",
                     "b": "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._tag_ids_active = set([self.database().get_or_create_tag_with_name("default3")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_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._tag_ids_active = set([self.database().get_or_create_tag_with_name("default3")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_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._tag_ids_active = set([self.database().get_or_create_tag_with_name("default3")._id])
        c._tag_ids_forbidden = set()
        self.database().set_current_criterion(c)
        assert self.database().active_count() == 0