что такое мета-класс? как протестировать метод, не объявленный в публичном интерфейсе что такое assert и когда использовать? Рефлексия и интроспекция BDD, TDD