Что такое хороший шаблон для записи модульных тестов в Ноутбуке Mathematica?

Некоторые?? странность:)

Delegate target =
  (target0 = target as CallTargetWithContext0) ??
  (target1 = target as CallTargetWithContext1) ??
  (target2 = target as CallTargetWithContext2) ??
  (target3 = target as CallTargetWithContext3) ??
  (target4 = target as CallTargetWithContext4) ??
  (target5 = target as CallTargetWithContext5) ??
  ((Delegate)(targetN = target as CallTargetWithContextN));

Интересный отметить последний бросок, который необходим по некоторым причинам. Ошибка или дизайном?

5
задан Eric 4 July 2009 в 17:45
поделиться

1 ответ

Итак, я просто составляю список утверждений, которые оцениваются как истинные или false, в зависимости от того, пройдены тесты или нет. Так как тестов не сотни, но обычно меньше 10, мне это подходит.

Если бы я делал это более нестандартно, я бы, вероятно, использовал Throw, поскольку это упрощает отладку.

Итак, я Сделал бы:

Expect[ description_, val_, expr_ ] := 
If[
    val != expr,
    Throw[
        StringJoin[ "GOT UNEXPECTED VALUE ", ToString[expr], 
        " INSTEAD OF ", ToString[val] ]
        , "assertion exception"
    ]
]
3
ответ дан 15 December 2019 в 01:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: