init research
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
(ns tech.v3.dataset.infer-test
|
||||
(:require [tech.v3.dataset :as ds]
|
||||
[tech.v3.datatype :as dtype]
|
||||
[tech.v3.datatype.functional :as dfn]
|
||||
[tech.v3.datatype.bitmap :as bitmap]
|
||||
[clojure.test :refer [deftest is]]))
|
||||
|
||||
|
||||
(deftest simple-inference
|
||||
(letfn [(inferred-equals [lhs rhs]
|
||||
(let [test-col (-> (ds/->dataset [])
|
||||
(assoc :testdata lhs)
|
||||
(:testdata))]
|
||||
(is (= (dtype/elemwise-datatype test-col)
|
||||
(dtype/elemwise-datatype rhs)))
|
||||
(is (every? identity (dfn/eq test-col rhs)) (vec lhs))))]
|
||||
(inferred-equals [true false true false] (boolean-array [true false true false]))
|
||||
(inferred-equals (list 0 Double/NaN 1.0) (double-array [0.0 Double/NaN 1.0]))
|
||||
(inferred-equals #:tech.v3.dataset{:data [1 2 3 nil 4]
|
||||
:force-datatype? true}
|
||||
[1 2 3 nil 4])
|
||||
(inferred-equals (list 0 Double/NaN 1.0 nil nil)
|
||||
(double-array [0.0 Double/NaN 1.0 Double/NaN Double/NaN]))
|
||||
(is (= #{2 4}
|
||||
(set (ds/missing (-> (ds/->dataset [])
|
||||
(assoc :test-data [1 2 nil 3 nil]))))))
|
||||
(is (= #{2 4}
|
||||
(set (ds/missing
|
||||
(-> (ds/->dataset [])
|
||||
(assoc :test-data #:tech.v3.dataset{:data [1 2 nil 3 nil]
|
||||
:force-datatype? true}))))))
|
||||
(is
|
||||
(= #{}
|
||||
(set (ds/missing
|
||||
(-> (ds/->dataset [])
|
||||
(assoc :test-data #:tech.v3.dataset{:data [1 2 nil 3 nil]
|
||||
:force-datatype? true
|
||||
:missing (bitmap/->bitmap)}))))))
|
||||
(is
|
||||
(= #{}
|
||||
(set (ds/missing
|
||||
(-> (ds/->dataset [])
|
||||
(assoc :test-data #:tech.v3.dataset{:data [1 2 nil 3 nil]
|
||||
:missing (bitmap/->bitmap)}))))))
|
||||
))
|
||||
Reference in New Issue
Block a user