Skip to content

Commit

Permalink
Тест на работу приложения
Browse files Browse the repository at this point in the history
  • Loading branch information
khorevaa committed Dec 27, 2017
1 parent 59197dc commit 771da08
Showing 1 changed file with 27 additions and 63 deletions.
90 changes: 27 additions & 63 deletions tests/КонсольноеПриложение_test.os
Original file line number Diff line number Diff line change
Expand Up @@ -9,84 +9,48 @@

ИменаТестов = Новый Массив;

//ИменаТестов.Добавить("ТестДолжен_ПроверитьРаботуКоманды");
ИменаТестов.Добавить("ТестДолжен_ТолькоАргументы");
//ИменаТестов.Добавить("ТестДолжен_ТолькоОпции");
//ИменаТестов.Добавить("ТестДолжен_ПроверитьПриложения");

Возврат ИменаТестов;

КонецФункции

Процедура ТестДолжен_ПроверитьРаботуКоманды() Экспорт
Процедура ТестДолжен_ТолькоАргументы() Экспорт

cli = Новый КомандаПриложения("os", "я тут", ЭтотОбъект);
оп_v = cli.БулевоОпция("v vers", Ложь, "Тест");
оп_s = cli.БулевоОпция("s ssss", Ложь, "Тест");
оп_b = cli.БулевоОпция("b bbbb", Ложь, "Тест");
ARG = cli.СтрокаАргумент("ARG", "", "Тест");
SRC = cli.СтрокаАргумент("SRC", "", "Тест");
cli.Спек = "ARG -v[-s | --ssss] -b SRC";
cli.НачалоЗапуска();
ВходящиеАргументы = Новый Массив;
ВходящиеАргументы.Добавить("Это очень крутой аргумент");
ВходящиеАргументы.Добавить("-v");
ВходящиеАргументы.Добавить("--ssss");
ВходящиеАргументы.Добавить("-b");
ВходящиеАргументы.Добавить("аргумент SRC");
cli.Запуск(ВходящиеАргументы);

Сообщить("-v "+ оп_v.Значение);
Сообщить("-b "+ оп_b.Значение);
Сообщить("-s "+ оп_s.Значение);
Сообщить("ARG "+ ARG.Значение);
Сообщить("SRC "+ SRC.Значение);

КонецПроцедуры

Процедура ОписаниеКоманды(Команда) Экспорт

V = Команда.Опция("v vers-predator", Ложь, "Флаг вывода парметров").Флаговый();
S = Команда.Опция("s ssss", Ложь, "Тест").Флаговый();
B = Команда.Опция("b bbbb", Ложь, "Тест").Флаговый();
ARG = Команда.Аргумент("ARG", "", "Тест");
SRC = Команда.Аргумент("SRC", "", "Тест");
Команда.Спек = "-v [-sb] ARG SRC";
//Команда.Спек = "ARG -v[-s | --ssss] -b SRC";

КонецПроцедуры
Приложение = Новый КонсольноеПриложение("cp", "");

DST = Приложение.Аргумент("DST", "", "Тест");
SRC = Приложение.Аргумент("SRC", "", "Тест").ТМассивСтрок();;

Процедура ТестДолжен_ПроверитьПриложения() Экспорт
Приложение.УстановитьСпек("SRC... DST");
Приложение.УстановитьОсновноеДействие(ЭтотОбъект);

cli = Новый КонсольноеПриложение("testapp", "Выполняет полезную работу");
cli.Версия("v version", "1.0");
КомандаAve = cli.ДобавитьКоманду("a ave", "Команда ave", ЭтотОбъект);
// оп_v = КомандаAve.Опция("v vers", Ложь, "Тест").Флаговый().ВПеременную(V);
// on_s = КомандаAve.Опция("s ssss", Ложь, "Тест").Флаговый().ВПеременную(S);
// on_b = КомандаAve.Опция("b bbbb", Ложь, "Тест").Флаговый().ВПеременную(B);
// ARG = КомандаAve.Аргумент("ARG", "", "Тест").ВПеременную(ARG);
// SRC = КомандаAve.Аргумент("SRC", "", "Тест").ВПеременную(SRC);
// // КомандаAve.Спек = "-vsb ARG SRC";
МассивSRC = Новый Массив;
МассивSRC.Добавить("src1");
МассивSRC.Добавить("src2");

ВходящиеАргументы = Новый Массив;
ВходящиеАргументы.Добавить("ave");
//ВходящиеАргументы.Добавить("-v");
ВходящиеАргументы.Добавить("--help");
//ВходящиеАргументы.Добавить("-b");
ВходящиеАргументы.Добавить("Это очень крутой аргумент");
ВходящиеАргументы.Добавить("аргумент SRC");
cli.Запустить(ВходящиеАргументы);
ВходящиеАргументы.Добавить("src1");
ВходящиеАргументы.Добавить("src2");
ВходящиеАргументы.Добавить("dst");

Приложение.Запустить(ВходящиеАргументы);

Утверждения.ПроверитьРавенство(DST.Значение, "dst", "Аргумент DST не равен ожидаемому");
Утверждения.ПроверитьРавенство(SRC.Значение.Количество(), МассивSRC.Количество(), "Аргумент SRC не равен ожидаемому");


КонецПроцедуры

Процедура ВыполнитьКоманду(Знач Команда) Экспорт

Процедура ВыполнитьКоманду() Экспорт
КонецПроцедуры

Функция ИмяФункции()

Сообщить("-v "+ V.Значение);
Сообщить("-b "+ B.Значение);
Сообщить("-s "+ S.Значение);
Сообщить("ARG "+ ARG.Значение);
Сообщить("SRC "+ SRC.Значение);
Сообщить("Полезная работа");

КонецПроцедуры
КонецФункции

Лог = Логирование.ПолучитьЛог("oscript.lib.cli_command");
//Лог.УстановитьУровень(УровниЛога.Отладка);

0 comments on commit 771da08

Please sign in to comment.