drag

Класс: matlab.uitest.TestCase
Пакет: matlab.uitest

Выполните перетаскивают жест на компоненте пользовательского интерфейса

Синтаксис

drag(testcase,comp,start,stop)

Описание

drag(testcase,comp,start,stop) выполняет жест перетаскивания от start к stop на компоненте пользовательского интерфейса comp.

Входные параметры

развернуть все

Экземпляр теста в виде matlab.uitest.TestCase объект.

Компонент, чтобы перетащить во время теста в виде компонента пользовательского интерфейса возражает, что поддерживает жест перетаскивания. Компоненты, что поддержка перетаскивает жесты, включают оси, непрерывные кнопки и ползунки.

Поддерживаемый компонентТипичная функция создания
Осиaxes
Кнопкаuiknob
Ползунокuislider
Uiaxesuiaxes

Начальное значение жеста перетаскивания в виде числового скаляра или 1 2 или 1 3 числовой массив. Форма start зависит от компонента пользовательского интерфейса:

  • Кнопка и Ползунок — числовой скаляр в пределах компонента. Пределы заданы Limits свойство компонента.

  • Оси и UI Axes — 1 2 или 1 3 числовой массив, содержащий x - y - и опционально z - координаты.

Пример: 20 (кнопка)

Пример: [2.5 3 1.25] uiaxes

Остановка значения жеста перетаскивания в виде числового скаляра или 1 2 или 1 3 числовой массив. Форма stop зависит от компонента пользовательского интерфейса:

  • Кнопка и Ползунок — числовой скаляр в пределах компонента. Пределы заданы Limits свойство компонента.

  • Оси и UI Axes — 1 2 или 1 3 числовой массив, содержащий x - y - и опционально z - координаты.

Пример: 30 (кнопка)

Пример: [5 3 2.25] uiaxes

Примеры

развернуть все

Создайте кнопку.

knob = uiknob;

Создайте интерактивный тест и перетащите кнопку между двумя значениями. Синяя точка, представляющая программируемый жест перетаскивания, появляется и затем исчезает, когда кнопка достигает stop значение.

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.drag(knob,13,42)

Создайте ползунок с минимальным значением-237, максимальным значением 237 и начальным значением 7.

slider = uislider('Limits',[-237 237],'Value',7);

Создайте интерактивный тест и проверьте начальное значение ползунка.

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.verifyEqual(slider.Value,7)
Verification passed.

Перетащите ползунок между двумя значениями и проверьте окончательное значение. Поскольку среда подражает пользователю, управляющему компонентом к произвольно precisioned значение, это - лучшая практика использовать допуск, чтобы сравнить фактические и ожидаемые значения ползунка.

val = 26.75;
tc.drag(slider,-val,val)
tc.verifyEqual(slider.Value,val,'AbsTol',0.1)
Verification passed.

Создайте оси в фигуре пользовательского интерфейса и затем постройте график в оси. В этом примере график устанавливает и x-и пределы оси Y [1 10].

f = uifigure;
ax = axes(f);
plot(ax,1:10)

Создайте интерактивный тест и перетащите от точки (3, 2) к точке (4, 2). Синяя точка, представляющая программируемый жест перетаскивания, появляется в значении запуска и затем исчезает, когда это достигает значения остановки. Пределы по осям обновляются на основе различия между значениями остановки и запуском.

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.drag(ax,[3 2],[4 2])

Проверьте, что жест перетаскивания уменьшал пределы оси X одним модулем. Поскольку среда подражает пользователю, управляющему компонентом, использование допуска, чтобы сравнить фактические и ожидаемые значения является методическими рекомендациями.

tc.verifyEqual(ax.XLim,[0 9],'AbsTol',0.1)
Verification passed.

Создайте оси в фигуре пользовательского интерфейса и постройте поверхность в оси с помощью peaks функция. Затем вызовите view функционируйте, чтобы сохранить азимут и углы возвышения угла обзора камеры для осей.

f = uifigure;
ax = axes(f);
surf(ax,peaks)
xlabel(ax,'X')
ylabel(ax,'Y')
zlabel(ax,'Z')
[caz_before,cel_before] = view(ax);

Создайте интерактивный тест и перетащите от точки (2, 2,-10) к точке (4, 4, 10). Синяя точка, представляющая программируемый жест перетаскивания, появляется в значении запуска и затем исчезает, когда это достигает значения остановки. Представление объемной поверхностной диаграммы изменяется с перетаскиванием.

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.drag(ax,[2 2 -10],[4 4 10])

Проверьте, что жест перетаскивания изменил представление объемной поверхностной диаграммы.

[caz_after,cel_after] = view(ax);
tc.verifyNotEqual([caz_after cel_after],[caz_before cel_before])
Verification passed.
Введенный в R2018a