changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/lib/dat/tests.lisp

changeset 550: 4d34907c69eb
parent: 32bd859533b3
author: Richard Westhaver <ellis@rwest.io>
date: Tue, 16 Jul 2024 21:52:09 -0400
permissions: -rw-r--r--
description: more work on tcompact/thrift, fixed type info in parquet-struct-objects
122
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
1
 (defpackage :dat/tests
550
4d34907c69eb more work on tcompact/thrift, fixed type info in parquet-struct-objects
Richard Westhaver <ellis@rwest.io>
parents: 549
diff changeset
2
   (:use :cl :std :rt :dat :log))
122
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
3
 
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
4
 (in-package :dat/tests)
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
5
 
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
6
 (defsuite :dat)
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
7
 (in-suite :dat)
147
ee949f2a5f8e added tree-sitter/wrapper.c and init alik
ellis <ellis@rwest.io>
parents: 146
diff changeset
8
 (in-readtable :std)
122
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
9
 
463
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
10
 (deftest bytes ())
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
11
 
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
12
 (deftest dot ()
465
c0fc6b87557f messing around
Richard Westhaver <ellis@rwest.io>
parents: 463
diff changeset
13
   "Test Graphviz DOT functionality."
463
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
14
   (let ((g1 (make-instance 'graph:graph)))
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
15
     (graph:add-node g1 "foo")
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
16
     (graph:add-node g1 :bar)
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
17
     (graph:add-node g1 42)
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
18
     (graph:add-edge g1 '("foo" :bar) "a")
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
19
     (graph:add-edge g1 '(:bar 42) "b")
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
20
     (graph:add-edge g1 '(42 "foo") "c")
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
21
     (is (stringp (dat/dot::to-dot g1)))
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
22
     (dat/dot::to-dot-file g1 "/tmp/test")
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
23
     (is (probe-file "/tmp/test"))
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
24
     (is (delete-file "/tmp/test"))))
f2bb57563930 obj/graph and dat/dot test and fixes
Richard Westhaver <ellis@rwest.io>
parents: 147
diff changeset
25
 
465
c0fc6b87557f messing around
Richard Westhaver <ellis@rwest.io>
parents: 463
diff changeset
26
 (deftest csv ()
c0fc6b87557f messing around
Richard Westhaver <ellis@rwest.io>
parents: 463
diff changeset
27
   "Test CSV functionality."
c0fc6b87557f messing around
Richard Westhaver <ellis@rwest.io>
parents: 463
diff changeset
28
   (is
c0fc6b87557f messing around
Richard Westhaver <ellis@rwest.io>
parents: 463
diff changeset
29
    (not
c0fc6b87557f messing around
Richard Westhaver <ellis@rwest.io>
parents: 463
diff changeset
30
     (sequence:emptyp 
c0fc6b87557f messing around
Richard Westhaver <ellis@rwest.io>
parents: 463
diff changeset
31
      (with-output-to-string (str)
c0fc6b87557f messing around
Richard Westhaver <ellis@rwest.io>
parents: 463
diff changeset
32
        (dat/csv:write-csv-stream
c0fc6b87557f messing around
Richard Westhaver <ellis@rwest.io>
parents: 463
diff changeset
33
         str
c0fc6b87557f messing around
Richard Westhaver <ellis@rwest.io>
parents: 463
diff changeset
34
         #(#(1 2 3 4) #(2 3 4 5) #(3 4 5 6))))))))
122
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
35
 
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
36
 (deftest json ()
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
37
   (let ((str (format nil "[~s,2,true,null]" "Hello, world!"))
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
38
         (obj (list "Hello, world!" 2 t nil)))
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
39
     (multiple-value-bind (res pos) (json-decode str)
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
40
       (is (equal obj res))
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
41
       (is (= pos 29)))
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
42
     (is (equal str (with-output-to-string (s) (json-encode obj s)))))
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
43
   (let ((str2 "[1,2,3]"))
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
44
     (is (equal '(1 2 3) (deserialize str2 :json :end (length str2))))
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
45
     (is (equal str2 (with-output-to-string (s) (serialize (list 1 2 3) :json :stream s))))))
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
46
 
123
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
47
 (deftest xml ()
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
48
   (is (equal "foo" (xml-node-name (xml-parse "<foo></foo>")))))
122
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
49
 
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
50
 (deftest toml ()
123
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
51
   "Tests based on https://github.com/toml-lang/toml-test"
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
52
   ;; comment
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
53
   ;; int
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
54
   ;; hex
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
55
   ;; octet
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
56
   ;; binary
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
57
   ;; float
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
58
   ;; bool
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
59
   ;; datetime
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
60
   ;; string
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
61
   ;; array
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
62
   ;; kv
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
63
   )
122
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
64
 
123
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
65
 (defparameter *arff-input*
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
66
   "% 1. Title: Iris Plants Database
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
67
 % 
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
68
 % 2. Sources:
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
69
 %      (a) Creator: R.A. Fisher
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
70
 %      (b) Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
71
 %      (c) Date: July, 1988
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
72
 % 
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
73
 @RELATION iris
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
74
 @ATTRIBUTE sepallength  NUMERIC
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
75
 @ATTRIBUTE sepalwidth   NUMERIC
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
76
 @ATTRIBUTE petallength  NUMERIC
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
77
 @ATTRIBUTE petalwidth   NUMERIC
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
78
 @ATTRIBUTE class        {Iris-setosa,Iris-versicolor,Iris-virginica}")
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
79
 
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
80
 (deftest arff ()
a4ed30cbe083 data testing, added ical and vcard formats
ellis <ellis@rwest.io>
parents: 122
diff changeset
81
   (is (typep (parse-arff-string *arff-input*) 'arff)))
122
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
82
 
4ba88cac5bc7 num/parse, added DAT system, net/fetch, time/local, refactored trees
ellis <ellis@rwest.io>
parents:
diff changeset
83
 (deftest bencode ())
146
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
84
 
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
85
 (defvar *sxp-test-long* "(edges-1
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
86
 (
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
87
 (1389.886593 1341.567282)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
88
 (1383.122623 1339.369530)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
89
 )
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
90
 (
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
91
 (1383.122623 1339.369530)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
92
 (1387.706464 1325.261939)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
93
 )
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
94
 (
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
95
 (1387.706464 1325.261939)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
96
 (1394.470360 1327.459664)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
97
 )
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
98
 (
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
99
 (1394.470360 1327.459664)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
100
 (1389.886593 1341.567282)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
101
 )
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
102
 ) ; edges end
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
103
 
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
104
 (edges-2
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
105
 ( ( 1.1 2.2 ) (2.2 3.3) )
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
106
 ( ( 2.2 3.3 ) (3.3 3.3) )
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
107
 ( ( 3.3 3.3 ) (1.1 2.2) )
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
108
 ) ; end edges of triangle room
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
109
 
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
110
 (= 4 4)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
111
 (= 5 4)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
112
 (> 4.0 54.0)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
113
 (= 4 s)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
114
 (= (= 4 4) (> 5 4))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
115
 (not (= 3 3))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
116
 (not 4)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
117
 (if (= 4 4) 42 666)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
118
 (if (= 4.0 4.0) (42))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
119
 (+ 4 4)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
120
 (+ 5.0 6.5)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
121
 (- 4 5)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
122
 (^ 2 3)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
123
 (^ 3 2)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
124
 (^ 3 (+ 2 1))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
125
 ")
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
126
 
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
127
 (defvar *sxp-test-short* "(FOO 'BAR `(\"test\" ,BAZ ,@QUX) 123 0.0123 1/3 `(,A1 ,A2))")
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
128
 
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
129
 (deftest forms ()
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
130
   (is (formp nil))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
131
   (is (formp t))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
132
   (is (formp 3.14))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
133
   (is (formp "string"))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
134
   (is (formp (mapc #`(',a1) '(a))))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
135
   (is (formp ())))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
136
 
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
137
 (deftest sxp-string ()
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
138
   (let ((f (make-instance 'sxp)))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
139
     (is (formp (read-sxp-string f *sxp-test-short*)))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
140
     (is (equalp (read-from-string (write-sxp-string f)) (read-from-string *sxp-test-short*)))))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
141
 
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
142
 (deftest sxp-stream ()
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
143
   (let ((f (make-instance 'sxp)))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
144
     (with-input-from-string (s *sxp-test-long*)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
145
       (read-sxp-stream f s))
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
146
     (with-output-to-string (s)
1cf6c13e61e8 migrated sxp->dat/sxp
ellis <ellis@rwest.io>
parents: 123
diff changeset
147
       (is (write-sxp-stream f s)))))
541
10c4bb778030 bit of parquet refactoring, properly generate slot types
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
148
 
549
32bd859533b3 fetch fixes
Richard Westhaver <ellis@rwest.io>
parents: 548
diff changeset
149
 (defparameter *parquet-test-file*
32bd859533b3 fetch fixes
Richard Westhaver <ellis@rwest.io>
parents: 548
diff changeset
150
   (probe-file
550
4d34907c69eb more work on tcompact/thrift, fixed type info in parquet-struct-objects
Richard Westhaver <ellis@rwest.io>
parents: 549
diff changeset
151
    (merge-pathnames "../../../.stash/alltypes_plain.parquet"
549
32bd859533b3 fetch fixes
Richard Westhaver <ellis@rwest.io>
parents: 548
diff changeset
152
                     #.(asdf:system-source-directory :dat/tests))))
548
b57066450cfa init tcompact encoders
Richard Westhaver <ellis@rwest.io>
parents: 541
diff changeset
153
 ;; see also: https://github.com/apache/parquet-testing/blob/master/data/README.md
541
10c4bb778030 bit of parquet refactoring, properly generate slot types
Richard Westhaver <ellis@rwest.io>
parents: 465
diff changeset
154
 (deftest parquet-basic ()
549
32bd859533b3 fetch fixes
Richard Westhaver <ellis@rwest.io>
parents: 548
diff changeset
155
   (when *parquet-test-file*
32bd859533b3 fetch fixes
Richard Westhaver <ellis@rwest.io>
parents: 548
diff changeset
156
     (with-open-file (st *parquet-test-file* :element-type '(unsigned-byte 8))
32bd859533b3 fetch fixes
Richard Westhaver <ellis@rwest.io>
parents: 548
diff changeset
157
       (let ((footer (dat/parquet::parquet-read-footer st)))
32bd859533b3 fetch fixes
Richard Westhaver <ellis@rwest.io>
parents: 548
diff changeset
158
         (is (typep footer
32bd859533b3 fetch fixes
Richard Westhaver <ellis@rwest.io>
parents: 548
diff changeset
159
                    'dat/parquet::parquet-file-meta-data))
550
4d34907c69eb more work on tcompact/thrift, fixed type info in parquet-struct-objects
Richard Westhaver <ellis@rwest.io>
parents: 549
diff changeset
160
         (trace! (slot-value footer 'dat/parquet::schema))
4d34907c69eb more work on tcompact/thrift, fixed type info in parquet-struct-objects
Richard Westhaver <ellis@rwest.io>
parents: 549
diff changeset
161
         (trace! (file-position st))
4d34907c69eb more work on tcompact/thrift, fixed type info in parquet-struct-objects
Richard Westhaver <ellis@rwest.io>
parents: 549
diff changeset
162
         (trace! (file-length st))))))