   ((post-format-rows (constantly {:rows [[(tc/to-sql-time 1303121567232)]
                                          [(tc/to-sql-date "2011-04-18")] ; joda-time assumes this is UTC time when parsing it
                                          [(tc/to-date 1303121567232)]]})) {:settings {:report-timezone "Asia/Tokyo"}}))
+
+
+;; TODO: pre-add-implicit-fields
+;; TODO: pre-add-implicit-breakout-order-by
+;; TODO: cumulative-sum
+;; TODO: limit
+;; TODO: post-annotate
+;; TODO: pre-log-query
+;; TODO: wrap-guard-multiple-calls

(extend TestDriver
  driver/IDriver
  {:features (constantly #{:set-timezone})})


;; pre-add-settings

         (dissoc response3 :driver)]))))


;; TODO: pre-expand-macros
;; TODO: pre-expand-resolve

;; post-add-row-count-and-status

(expect
  {:row_count      5
   :status         :completed
   :data           {:rows [[1] [1] [1] [1] [1]]}
   :rows_truncated 5}
  ;; NOTE: the default behavior is to treat the query as :rows type aggregation and use :max-results-bare-rows
  ((post-add-row-count-and-status (constantly {:rows [[1] [1] [1] [1] [1]]}))
    {:constraints {:max-results           10
                   :max-results-bare-rows 5}}))

(expect
  {:row_count      5
   :status         :completed
   :data           {:rows [[1] [1] [1] [1] [1]]}}
  ;; when we aren't a :rows query the then we use :max-results for our limit
  ((post-add-row-count-and-status (constantly {:rows [[1] [1] [1] [1] [1]]}))
    {:query       {:aggregation {:aggregation-type :count}}
     :constraints {:max-results           10
                   :max-results-bare-rows 5}}))


;; post-format-rows

(expect
