summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLeon Rische <leon.rische@me.com>2020-11-12 09:34:30 +0100
committerLeon Rische <leon.rische@me.com>2020-11-12 09:34:30 +0100
commitbf5d92dc81a9b6f0b744ed1f6cddad7a14f98907 (patch)
treefa54e723ef4b9a1cb9c760446cc4d8bb465c88be /tests
parent2d0f4a25addfe667a3dab41a7f174056bbfd7b92 (diff)
Allow awk to parse arbitrary review data tables
Diffstat (limited to 'tests')
-rw-r--r--tests/index/review_data.org25
-rw-r--r--tests/org-fc-review-data-test.el53
2 files changed, 78 insertions, 0 deletions
diff --git a/tests/index/review_data.org b/tests/index/review_data.org
new file mode 100644
index 0000000..84fb15a
--- /dev/null
+++ b/tests/index/review_data.org
@@ -0,0 +1,25 @@
+* SM2 :fc:
+:PROPERTIES:
+:FC_CREATED: 2020-11-06T10:40:17Z
+:FC_TYPE: double
+:ID: f8cc05c7-aa3a-4a21-aa71-38178477e619
+:END:
+:REVIEW_DATA:
+| position | ease | box | interval | due |
+|----------+------+-----+----------+----------------------|
+| front | 2.5 | 0 | 0 | 2020-11-06T10:40:17Z |
+| back | 2.8 | 2 | 123.4 | 2020-11-06T10:40:20Z |
+:END:
+Back
+* Alternative :fc:
+:PROPERTIES:
+:FC_CREATED: 2020-11-06T11:31:05Z
+:FC_TYPE: double
+:ID: 404557e5-ec07-4ee1-a000-3f0e8a94eaa0
+:END:
+:REVIEW_DATA:
+| position | custom1 | custom2 | due |
+|----------+---------+---------+----------------------|
+| front | 1.0 | 3 | 2020-11-06T11:31:05Z |
+| back | 2.0 | 4 | 2020-11-06T11:31:10Z |
+:END:
diff --git a/tests/org-fc-review-data-test.el b/tests/org-fc-review-data-test.el
new file mode 100644
index 0000000..c00083b
--- /dev/null
+++ b/tests/org-fc-review-data-test.el
@@ -0,0 +1,53 @@
+(require 'org-fc)
+(require 'org-fc-test-helper)
+(require 'ert)
+
+(ert-deftest org-fc-test-review-data ()
+ (let ((index (org-fc-awk-index-paths
+ (list
+ (org-fc-test-fixture "index/review_data.org")))))
+ (should (eq (length index) 2))
+ (let ((card1 (car index))
+ (card2 (cadr index)))
+
+ (should
+ (equal (plist-get card1 :id)
+ "f8cc05c7-aa3a-4a21-aa71-38178477e619"))
+ (should
+ (eq (length (plist-get card1 :positions)) 2))
+
+ (let* ((poss (plist-get card1 :positions))
+ (pos1 (car poss))
+ (pos2 (cadr poss)))
+
+ (should (equal (plist-get pos1 :position) "front"))
+ (should (equal (plist-get pos1 :ease) 2.5))
+ (should (equal (plist-get pos1 :box) 0))
+ (should (equal (plist-get pos1 :interval) 0))
+ (should (equal (plist-get pos1 :due) '(24485 10257)))
+
+ (should (equal (plist-get pos2 :position) "back"))
+ (should (equal (plist-get pos2 :ease) 2.8))
+ (should (equal (plist-get pos2 :box) 2))
+ (should (equal (plist-get pos2 :interval) 123.4))
+ (should (equal (plist-get pos2 :due) '(24485 10260))))
+
+ (should
+ (equal (plist-get card2 :id)
+ "404557e5-ec07-4ee1-a000-3f0e8a94eaa0"))
+ (should
+ (eq (length (plist-get card2 :positions)) 2))
+
+ (let* ((poss (plist-get card2 :positions))
+ (pos1 (car poss))
+ (pos2 (cadr poss)))
+
+ (should (equal (plist-get pos1 :position) "front"))
+ (should (equal (plist-get pos1 :due) '(24485 13305)))
+ (should (equal (plist-get pos1 :custom1) 1.0))
+ (should (equal (plist-get pos1 :custom2) 3))
+
+ (should (equal (plist-get pos2 :position) "back"))
+ (should (equal (plist-get pos2 :due) '(24485 13310)))
+ (should (equal (plist-get pos2 :custom1) 2.0))
+ (should (equal (plist-get pos2 :custom2) 4))))))