Основные тестируемые аспекты, которые нужно учитывать при разработке и тестировании ОБЩИЕ - API для некорректных идентификаторов - исключения (throw) - аргументы и внутренние состояния по умолчанию ={} - аргументы, нарушающие контракт API - аргументы nullptr, nullopt - конструкторы по умолчанию Constituenta - пустые конституенты - возможность саморефенции в ФВ и текстовых отсылках - текстовые отсылки - множественные термины RSForm - внешний текстовый модуль - циклы в отсылках терминов и в отсылках в формальных выражениях - трансляция имен конституент в отсылках при подстановке - отслеживание (контроль) наследованных конституент - хранение и обновление типизаций - статусы выражений конституент - статус КС - обновление конституент при переносе из предыдущей версии синтезированной схемы Equation (Отождествление) - отождествление не симметрично. Удаляется первая конституента в паре, либо БМ (если первая не БМ, а вторая - БМ) - корректность таблицы отождествления - множественное отождествление - базовые отождествления влияют на корректность небазовых - удаление дублирующихся конституент - наследованные конституенты RSModel - перебор булеана и декартова произведения не поддерживаем, но проверять принадлежность и подмножество можно! - COW семантика работы с данными, передавать только по значению! (исключает саморефернцию при ленивом копировании) - сохранение в RSCompact плохо определяется для пустого множества - нужно обязательно знать типизацию - оптимизация дерева разбора перед вычислением - вычисление терм-функций StructureData - компактное представление - взаимодействие с типизацией: разные БМ, идентификаторы отсутствующих имен OSSchema - внешний модуль управления источниками - таблица отождествлений и сохраненные трансляции могут содержать ID отсутствующих конституент - источники могут подменяться или отсутствовать - открытые источники могут быть изменены пользователем (хеши не совпадут с сохраненными!) - ромбовидный синтез - абстракция операций - обязательно все проверять для nullptr и для неподдерживаемых типов операций