Как протестировать быстрый-NHibernate's PersistenceSpecification. VerifyTheMappings со списками и реляционными объектами?

Когда я хочу знать, что делает алгоритм, я часто кодирую и выполняю его. Вставка операторов print для отслеживания выполнения и потока данных помогает показать иерархию вызовов.

indent = ""

def exercise(n):
    global indent
    indent += "  "
    print(indent, "ENTER", n)

    # Original assignment, with assigned output not indented
    print("REAL", n)
    if n < 3:
        exercise(n+1)
    print("REAL", n)

    print(indent, "LEAVE", n)
    indent = indent[2:]

exercise(1)

Вывод: здесь трассировка выполнения с выводом присваивания, помеченным как «REAL». Функции входа и выхода являются торговыми и с отступом.

   ENTER 1
REAL 1
     ENTER 2
REAL 2
       ENTER 3
REAL 3
REAL 3
       LEAVE 3
REAL 2
     LEAVE 2
REAL 1
   LEAVE 1

Да, это легко сделать с помощью пары петель. Является ли это «большой разницей», зависит от вашей оценочной функции. Например:

for i in range(1, n+1):
    print(n)
for i in range(n, 0, -1):
    print(n)

Если ваша обработка отдельного случая тривиальна (например, print(n)), то это легко. Когда ваша итерация от одного элемента к следующему тривиальна (например, n+1), тогда это легко. Однако, когда любой из них является сложным, тогда рекурсия часто является более подходящим способом описания и реализации процесса.

10
задан John_ 8 December 2008 в 17:56
поделиться

1 ответ

Хорошо stupidely я использовал неправильный метод на PeristenceSpecification.

Я должен был использовать CheckList не CheckProperty.

Понятное дело!

9
ответ дан 4 December 2019 в 01:58
поделиться
Другие вопросы по тегам:

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