mirror of
https://github.com/IRBorisov/ConceptCore.git
synced 2025-06-26 17:20:37 +03:00
51 lines
3.6 KiB
Plaintext
51 lines
3.6 KiB
Plaintext
Основные тестируемые аспекты, которые нужно учитывать при разработке и тестировании
|
||
|
||
ОБЩИЕ
|
||
- API для некорректных идентификаторов
|
||
- исключения (throw)
|
||
- аргументы и внутренние состояния по умолчанию ={}
|
||
- аргументы, нарушающие контракт API
|
||
- аргументы nullptr, nullopt
|
||
- конструкторы по умолчанию
|
||
|
||
Constituenta
|
||
- пустые конституенты
|
||
- возможность саморефенции в ФВ и текстовых отсылках
|
||
- текстовые отсылки
|
||
- множественные термины
|
||
|
||
RSForm
|
||
- внешний текстовый модуль
|
||
- циклы в отсылках терминов и в отсылках в формальных выражениях
|
||
- трансляция имен конституент в отсылках при подстановке
|
||
- отслеживание (контроль) наследованных конституент
|
||
- хранение и обновление типизаций
|
||
- статусы выражений конституент
|
||
- статус КС
|
||
- обновление конституент при переносе из предыдущей версии синтезированной схемы
|
||
|
||
Equation (Отождествление)
|
||
- отождествление не симметрично. Удаляется первая конституента в паре, либо БМ (если первая не БМ, а вторая - БМ)
|
||
- корректность таблицы отождествления
|
||
- множественное отождествление - базовые отождествления влияют на корректность небазовых
|
||
- удаление дублирующихся конституент
|
||
- наследованные конституенты
|
||
|
||
RSModel
|
||
- перебор булеана и декартова произведения не поддерживаем, но проверять принадлежность и подмножество можно!
|
||
- COW семантика работы с данными, передавать только по значению! (исключает саморефернцию при ленивом копировании)
|
||
- сохранение в RSCompact плохо определяется для пустого множества - нужно обязательно знать типизацию
|
||
- оптимизация дерева разбора перед вычислением
|
||
- вычисление терм-функций
|
||
|
||
StructureData
|
||
- компактное представление
|
||
- взаимодействие с типизацией: разные БМ, идентификаторы отсутствующих имен
|
||
|
||
OSSchema
|
||
- внешний модуль управления источниками
|
||
- таблица отождествлений и сохраненные трансляции могут содержать ID отсутствующих конституент
|
||
- источники могут подменяться или отсутствовать
|
||
- открытые источники могут быть изменены пользователем (хеши не совпадут с сохраненными!)
|
||
- ромбовидный синтез
|
||
- абстракция операций - обязательно все проверять для nullptr и для неподдерживаемых типов операций |