init research

This commit is contained in:
2026-02-08 11:20:43 -10:00
commit bdf064f54d
3041 changed files with 1592200 additions and 0 deletions
+28
View File
@@ -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"))))))