Как отобразить тест на список номеров - PullRequest
4 голосов
/ 17 мая 2010

У меня есть функция с ошибкой:

user> (-> 42 int-to-bytes bytes-to-int)
42
user> (-> 128 int-to-bytes bytes-to-int)
-128
user> 

похоже, мне нужно обработать переполнение при обратном преобразовании ...

Лучше написать тест, чтобы убедиться, что это никогда не повторится. Этот проект использует clojure.contrib.test-is, поэтому я пишу:

(deftest int-to-bytes-to-int
  (let [lots-of-big-numbers (big-test-numbers)]
    (map #(is (= (-> %
                     int-to-bytes
                     bytes-to-int)
                 %))
         lots-of-big-numbers)))

Это должно быть тестирование при преобразовании в последовательность байтов, и обратно снова получается оригинальный результат в списке 10000 случайных чисел. Выглядит нормально в теории? за исключением того, что ни один из тестов никогда не запускался.

Testing com.cryptovide.miscTest

Ran 23 tests containing 34 assertions.
0 failures, 0 errors.
  • почему тесты не запускаются?
  • что я могу сделать, чтобы заставить их работать?

Ответы [ 3 ]

5 голосов
/ 17 мая 2010

dorun + map => doseq

(doseq [x (big-test-numbers)]
  (is (= x (-> x int-to-bytes bytes-to-int))))
1 голос
/ 17 мая 2010

Избегайте необходимости писать выражение карты (или дозаq) в целом, используя are для написания теста.

0 голосов
/ 17 мая 2010

снова укушен ленивым жуком. нужен (dorun по карте :) * румянец *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...