Esempio n. 1
0
 def test_rw_identical(self):
     notes = get_table(self.db_read, "notes")
     cards = get_table(self.db_read, "cards")
     revlog = get_table(self.db_read, "revs")
     for mode in ["update", "replace", "append"]:
         with self.subTest(mode=mode):
             self._reset()
             set_table(self.db_write, notes, "notes", mode)
             set_table(self.db_write, cards, "cards", mode)
             set_table(self.db_write, revlog, "revs", mode)
             self._check_db_equal()
Esempio n. 2
0
 def test_update_append_does_not_delete(self):
     notes = get_table(self.db_read, "notes")
     cards = get_table(self.db_read, "cards")
     revs = get_table(self.db_read, "revs")
     notes.drop(notes.index)
     cards.drop(cards.index)
     revs.drop(revs.index)
     for mode in ["update", "append"]:
         with self.subTest(mode=mode):
             self._reset()
             set_table(self.db_write, notes, "notes", mode)
             set_table(self.db_write, cards, "cards", mode)
             set_table(self.db_write, revs, "revs", mode)
             self._check_db_equal()
Esempio n. 3
0
 def test_rids_revs(self):
     self.assertListEqual(list(self.revs.index), list(self.revs.rid))
     self.assertListEqual(
         list(self.revs.index),
         list(raw.get_table(self.db, "revs")["id"].unique()),
     )
     self.assertEqual(len(self.revs.rid.unique()), len(self.revs.rid))
Esempio n. 4
0
 def test_cids_cards(self):
     self.assertListEqual(list(self.cards.index), list(self.cards.cid))
     self.assertListEqual(
         list(self.cards.index),
         list(raw.get_table(self.db, "cards")["id"].unique()),
     )
     self.assertEqual(len(self.cards.cid.unique()), len(self.cards.cid))
Esempio n. 5
0
 def test_nids_notes(self):
     self.assertListEqual(list(self.notes.index), list(self.notes.nid))
     self.assertListEqual(
         list(self.notes.index),
         list(raw.get_table(self.db, "notes")["id"].unique()),
     )
     self.assertEqual(len(self.notes.nid.unique()), len(self.notes.nid))
Esempio n. 6
0
 def test_convert_raw_load_raw(self):
     for table in ["notes", "revs", "cards"]:
         with self.subTest(table=table):
             adf = self.ntable(table).raw()
             df = raw.get_table(self.db, table)
             if table == "notes":
                 df["tags"] = df["tags"].str.strip()
             self.assertTrue(adf.equals(df))
Esempio n. 7
0
    def test_update(self):
        notes2 = get_table(self.db_read, "notes")
        notes = get_table(self.db_read, "notes")
        for mode in ["update", "replace", "append"]:
            with self.subTest(mode=mode):
                self._reset()
                notes2.loc[notes2["id"] == 1555579337683,
                           "tags"] = "definitelynew!"
                set_table(self.db_write, notes2, "notes", mode)
                if mode == "append":
                    self._check_db_equal()
                else:
                    notes2r = get_table(self.db_write, "notes")
                    chtag = notes2r.loc[notes2r["id"] == 1555579337683, "tags"]
                    self.assertListEqual(list(chtag.values.tolist()),
                                         ["definitelynew!"])
                    unchanged = notes.loc[notes["id"] != 1555579337683, :]
                    unchanged2 = notes2r.loc[notes2["id"] != 1555579337683, :]

                    self.assertListEqual(
                        list(unchanged.values.tolist()),
                        list(unchanged2.values.tolist()),
                    )
Esempio n. 8
0
 def _check_db_equal(self):
     notes = get_table(self.db_read, "notes")
     cards = get_table(self.db_read, "cards")
     revlog = get_table(self.db_read, "revs")
     notes2 = get_table(self.db_write, "notes")
     cards2 = get_table(self.db_write, "cards")
     revlog2 = get_table(self.db_write, "revs")
     # noinspection PyUnresolvedReferences
     self.assertListEqual(notes.values.tolist(), notes2.values.tolist())
     # noinspection PyUnresolvedReferences
     self.assertListEqual(cards.values.tolist(), cards2.values.tolist())
     # noinspection PyUnresolvedReferences
     self.assertListEqual(revlog.values.tolist(), revlog2.values.tolist())
Esempio n. 9
0
 def test_replace_deletes(self):
     notes = get_table(self.db_read, "notes")
     cards = get_table(self.db_read, "cards")
     revs = get_table(self.db_read, "revs")
     notes = notes.drop(notes.index)
     cards = cards.drop(cards.index)
     revs = revs.drop(revs.index)
     self._reset()
     set_table(self.db_write, notes, "notes", "replace")
     set_table(self.db_write, cards, "cards", "replace")
     set_table(self.db_write, revs, "revs", "replace")
     notes = get_table(self.db_write, "notes")
     cards = get_table(self.db_write, "cards")
     revs = get_table(self.db_write, "revs")
     self.assertEqual(len(notes), 0)
     self.assertEqual(len(revs), 0)
     self.assertEqual(len(cards), 0)