Anki/tests
Damien Elmes ad743d850d start work on scheduling refactor
Previously we used getCard() to fetch a card at the time. This required a
number of indices to perform efficiently, and the indices were expensive in
terms of disk space and time required to keep them up to date. Instead we now
gather a bunch of cards at once.

- Drop checkDue()/isDue so writes are not necessary to the DB when checking
for due cards
- Due counts checked on deck load, and only updated once a day or at the end
of a session. This prevents cards from expiring during reviews, leading to
confusing undo behaviour and due counts that go up instead of down as you
review. The default will be to only expire cards once a day, which represents
a change from the way things were done previously.
- Set deck var defaults on deck load/create instead of upgrade, which should
fix upgrade issues
- The scheduling code can now have bits and pieces switched out, which should
make review early / cram etc easier to integrate
- Cards with priority <= 0 now have their type incremented by three, so we can
get access to schedulable cards with a single column.
- rebuildQueue() -> reset()
- refresh() -> refreshSession()
- Views and many of the indices on the cards table are now obsolete and will
  be removed in the future. I won't remove them straight away, so as to not
  break backward compatibility.
- Use bigger intervals between successive card templates, as the previous
intervals were too small to represent in doubles in some circumstances

Still to do:

- review early
- learn more
- failing mature cards where delay1 > delay0
2010-10-18 14:35:11 +09:00
..
deck support media for memory backed files 2009-01-04 07:40:32 +09:00
importing truncate supermemo tests to avoid any possible license concerns 2010-02-18 16:53:29 +09:00
syncing/media-tests initial commit from hg 2008-09-27 23:50:03 +09:00
__init__.py initial commit from hg 2008-09-27 23:50:03 +09:00
shared.py initial commit from hg 2008-09-27 23:50:03 +09:00
test_deck.py don't backup in unit tests 2010-02-20 10:03:47 +09:00
test_exporting.py don't backup in unit tests 2010-02-20 10:03:47 +09:00
test_importing.py don't backup in unit tests 2010-02-20 10:03:47 +09:00
test_sync.py start work on scheduling refactor 2010-10-18 14:35:11 +09:00
test_utils.py do need to rebuild counts on export 2008-11-21 15:46:17 +09:00