Компьютер должен оказаться на свободном столе Криса.
Узнай текущее состояние через публичный метод.
Компьютер цел, упаковка цела, владелец изменился. Все 12 тестов зелёные.
claimBox(). Приватные поля #computer, #owner и #sealed закрыты.Публичные методы и ограничения коробки
box.inspect() возвращает снимок { sealed, hasComputer, intact, owner }. Он не раскрывает приватные поля и сам компьютер.
box.open() открывает неповреждённую коробку. box.close() закрывает её без повреждений.
box.unpackTo(desk) переносит компьютер в пункт назначения, но только из открытой коробки. При неудаче компьютер остаётся внутри.
box.transferOwnership(this) передаёт свободную открытую коробку питомцу. Крис разрешил забирать пустую упаковку. Чужую собственность он переоформлять не разрешал.
desk.canReceiveComputer() проверяет наличие места на столе. Не полагайся на это обещание безусловно: перемещение тоже может завершиться неудачей.
Метод должен возвращать true при успехе, false при невозможности операции. Повторный вызов не должен переносить компьютер второй раз.