Класс: testCase
Пакет: matlab.uitest
Выполните перетаскивание жеста на компоненте пользовательского интерфейса
testcase
- Образец тестового примераmatlab.uitest.TestCase
объектОбразец теста, заданный как matlab.uitest.TestCase
объект.
comp
- Компонент для перетаскиванияКомпонент для перетаскивания во время тестирования, заданный как объект компонента пользовательского интерфейса, который поддерживает перетаскивание жеста. Компоненты, поддерживающие жесты перетаскивания, включают оси, непрерывные ручки и ползунки.
start
- Начальное значениеНачальное значение жеста перетаскивания, заданное как числовой скаляр или числовой массив 1 на 2 или 1 на 3. Форма start
зависит от компонента UI:
Ручка и ползунок - числовой скаляр в пределах компонента. Пределы определяются Limits
свойство компонента.
Оси и UI Axes - A 1 на 2 или 1 на 3 числовой массив, содержащий x -, y - и опционально z - координаты.
Пример: 20
(ручка)
Пример: [2.5 3 1.25]
(оси пользовательского интерфейса)
stop
- Значение остановкиЗначение остановки жеста перетаскивания, заданное как числовой скаляр или числовой массив 1 на 2 или 1 на 3. Форма stop
зависит от компонента UI:
Ручка и ползунок - числовой скаляр в пределах компонента. Пределы определяются Limits
свойство компонента.
Оси и UI Axes - A 1 на 2 или 1 на 3 числовой массив, содержащий x -, y - и опционально z - координаты.
Пример: 30
(ручка)
Пример: [5 3 2.25]
(оси пользовательского интерфейса)
Создайте ручку.
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.
Перетащите ползунок между двумя значениями и проверьте окончательное значение. Поскольку среда имитирует пользователя, манипулирующего компонентом, на произвольно заданное значение, лучшая практика использовать допуск для сравнения фактических и ожидаемых значений ползунка.
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.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.