ConceptCore/ccl/core/test/!Testing aspects.txt
2024-04-15 22:16:14 +03:00

51 lines
3.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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