Основы тестирования программного обеспечения



         

Класс TСomm andQueue - часть 2


табл. 14.1 "Список команд складу") должен быть разрешен опрос терминала подшипника, т.е. полю TerminalBearing.IsQuery должно быть присвоено значение true.
  • Операция ProcessCommand() при наличии команд в очереди посылает первую команду из очереди складу при помощи метода SendCommand(). В зависимости от возвращенного этим методом значения - статуса команды - должны быть предприняты следующие действия, описанные в FS, глава 3 "Специфические требования", пункт 3.
  • Операция SendCommand() посылает первую в очереди команду (с индексом 0) складу с помощью функции IStore.SendStoreCom() из Store.dll и возвращает код ответа склада. Перед отправкой команды устанавливаются следующие ее поля:
    • Для команды GetR "Получить из входной ячейки" координаты ячейки источника - (SourseSt = 0, SourseCol = 0, SourseRow =0), а координаты результирующей ячейки возвращает метод TStore.FindFreeCell() с параметром, определяющим зону склада, для поиска установленным в true (поиск в рабочей зоне склада).
    • Для команды SendR "Отправить из ячейки в выходную ячейку" координаты результирующей ячейки - (TagSt = 9, TagCol = 9, TagRow = 9), а координаты ячейки источника возвращает метод TStore.GetCoord() на основе значения поля CellSourse посылаемой команды.
    • Для команды PutR "Положить в резерв" координаты ячейки источника - (SourseSt = -1, SourseCol = -1, SourseRow = -1), а координаты результирующей ячейки возвращает метод TStore.FindFreeCell() с параметром, определяющим зону склада для поиска установленным в false (поиск в резервной зоне склада).
  • Для выполнения деструктора не требуется никаких предварительных условий.

    public class TStore { public TTerminalBearing TerminalBearing; //Ссылка на //терминал подшипника public TCommandQueue CommandQueue; //Ссылка на очередь //команд private static string ConnectionString; //Строка //подключения к серверу БД private SqlConnection connFindFreeCell; private SqlConnection connFindBearing; private SqlConnection connAddBearing; private SqlConnection connMarkFree; private SqlConnection connRemoveBearing; private SqlConnection connGetCoord; // Возвращает статус склада private long GetStatus() // Добавляет запись об обслуженной ОСИ в базу данных private bool AddBearingAxle(TCommand Command) // Добавляет запись о подшипнике в базу данных private bool AddBearing(TCommand Command) // Удаляет запись о подшипнике из базы данных private bool RemoveBearing(TCommand Command) // Помечает ячейку как проблемную private bool MarkCellBad(int Cell) // Возвращает сообщение склада о выполнении команды private long GetMessage() // Конструктор public TStore() // Запрашивает и обрабатывает статус склада public void Process() // Запрашивает и обрабатывает сообщение склада public void ProcessMessage() // Находит свободную ячейку public bool FindFreeCell(ref int CNum, ref int TagSt, ref int TagRow, ref int TagCol, bool IsReserve) // Возвращает координаты ячейки по номеру public bool GetCoord(int CNum, ref int Side, ref int Row, ref int Col) //Находит подшипники в складе на основании параметров ОСИ public bool FindBearingInStore(TAxleParam AxleParam) }


    Содержание  Назад  Вперед