init research
This commit is contained in:
+28
@@ -0,0 +1,28 @@
|
||||
(ns tech.v3.libs.csv-test
|
||||
(:require [clojure.test :refer [deftest is testing]]
|
||||
[tech.v3.dataset :as ds]
|
||||
[tech.v3.dataset.io.csv :as csv-parse]))
|
||||
|
||||
(def duplicate-headers-file "test/data/duplicate-headers.csv")
|
||||
|
||||
(deftest ensure-unique-headers-test
|
||||
(testing "that all headers are are forced to be unique"
|
||||
(let [ds (ds/->dataset duplicate-headers-file
|
||||
{:ensure-unique-column-names? true})]
|
||||
(is (ds/column-count ds) 7)
|
||||
(is (count (set (ds/column-names ds))) 7))
|
||||
(let [ds (csv-parse/csv->dataset duplicate-headers-file
|
||||
{:ensure-unique-column-names? true})]
|
||||
(is (ds/column-count ds) 7)
|
||||
(is (count (set (ds/column-names ds))) 7)))
|
||||
|
||||
(testing "that exception is thrown on duplicate headers"
|
||||
(is (thrown? RuntimeException (ds/->dataset duplicate-headers-file))))
|
||||
|
||||
(testing "that custom postfix-fn works correctly"
|
||||
(let [ds (ds/->dataset duplicate-headers-file
|
||||
{:ensure-unique-column-names? true
|
||||
:unique-column-name-fn (fn [col-idx colname] (str colname "::" col-idx))})]
|
||||
(is (some? (ds/column ds "column::2")))
|
||||
(is (some? (ds/column ds "column::4")))
|
||||
(is (some? (ds/column ds "column-1::6"))))))
|
||||
Reference in New Issue
Block a user