клас ТестовийКлас
  а
  б

  дія чародія(а, б, г, д)
    я.а = а
    я.б = б
    я.г = г
    я.д = д
  кінець
кінець

якщо ТестовийКлас.ознаки не є Послідовність
  впасти
кінець
якщо ТестовийКлас.ознаки.розмір != 2
  впасти
кінець
якщо ТестовийКлас.ознаки[0] не є Клас.Ознака
  впасти
кінець
якщо ТестовийКлас.ознаки[0].назва != "а"
  впасти
кінець
якщо ТестовийКлас.ознаки[0].тип != недійсне
  впасти
кінець
якщо ТестовийКлас.ознаки[0].значення != недійсне
  впасти
кінець
якщо ТестовийКлас.ознаки[1] не є Клас.Ознака
  впасти
кінець
якщо ТестовийКлас.ознаки[1].назва != "б"
  впасти
кінець
якщо ТестовийКлас.ознаки[1].тип != недійсне
  впасти
кінець
якщо ТестовийКлас.ознаки[1].значення != недійсне
  впасти
кінець

тк = ТестовийКлас()

якщо тк не є ТестовийКлас
  впасти
кінець
якщо тк.а != недійсне
  впасти
кінець
якщо тк.б != недійсне
  впасти
кінець
якщо тк.г != недійсне
  впасти
кінець
якщо тк.д != недійсне
  впасти
кінець

тк1 = ТестовийКлас(
  1,
  "б",
  тк,
  дійсне
)
якщо тк1 не є ТестовийКлас
  впасти
кінець
якщо тк1.а != 1
  впасти
кінець
якщо тк1.б != "б"
  впасти
кінець
якщо тк1.г != тк
  впасти
кінець
якщо тк1.д != дійсне
  впасти
кінець

тк2 = ТестовийКлас(
  1,
  д=дійсне,
  б="б",
  г=тк1,
)
якщо тк2 не є ТестовийКлас
  впасти
кінець
якщо тк2.а != 1
  впасти
кінець
якщо тк2.б != "б"
  впасти
кінець
якщо тк2.г != тк1
  впасти
кінець
якщо тк2.д != дійсне
  впасти
кінець