From b6c9445844a41f1df0bbc4b58bdf87942dc8a572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BE=D0=BB=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9?= Date: Thu, 5 Dec 2024 14:11:48 +0700 Subject: [PATCH 01/10] =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=87=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=B5=D0=BD=D1=81=D1=82=D0=B2=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bdd-asserts-class.os | 174 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 173 insertions(+), 1 deletion(-) diff --git a/src/bdd-asserts-class.os b/src/bdd-asserts-class.os index 458bb59..0b3bb9b 100644 --- a/src/bdd-asserts-class.os +++ b/src/bdd-asserts-class.os @@ -5,6 +5,7 @@ Перем ФлагОтрицания; Перем ФлагОтрицанияДляСообщения; Перем СтатусыРезультатаТестирования; +Перем ПараметрыСравненияТаблиц; Функция Что(Знач ПроверяемоеЗначениеПараметр, Знач Сообщение = "") Экспорт ПроверяемоеЗначение = ПроверяемоеЗначениеПараметр; @@ -24,6 +25,11 @@ СтатусыРезультатаТестирования.Вставить("ОшибкаПроверки", "Failed"); СтатусыРезультатаТестирования.Вставить("НеизвестнаяОшибка", "Broken"); СтатусыРезультатаТестирования.Вставить("ТестПропущен", "Pending"); + + ПараметрыСравненияТаблиц = Новый Структура; + ПараметрыСравненияТаблиц.Вставить("УчитыватьПорядокСтрок", Истина); + ПараметрыСравненияТаблиц.Вставить("УчитыватьПорядокКолонок", Истина); + ПараметрыСравненияТаблиц.Вставить("УчитыватьИменаКолонок", Истина); КонецПроцедуры Функция Не_() Экспорт @@ -32,6 +38,24 @@ Возврат ЭтотОбъект; КонецФункции +Функция БезУчетаПорядкаСтрок() Экспорт + ПараметрыСравненияТаблиц.Вставить("УчитыватьПорядокСтрок", Ложь); + + Возврат ЭтотОбъект; +КонецФункции + +Функция БезУчетаПорядкаКолонок() Экспорт + ПараметрыСравненияТаблиц.Вставить("УчитыватьПорядокКолонок", Ложь); + + Возврат ЭтотОбъект; +КонецФункции + +Функция БезУчетаИменКолонок() Экспорт + ПараметрыСравненияТаблиц.Вставить("УчитыватьИменаКолонок", Ложь); + + Возврат ЭтотОбъект; +КонецФункции + Функция ЭтоНе() Экспорт Возврат Не_(); КонецФункции @@ -301,6 +325,29 @@ Возврат ЭтотОбъект; КонецФункции +Функция РавнаТаблице(Знач ОжидаемоеЗначение, Знач СравнитьТолькоСТруктуру = Ложь) Экспорт + + ФлагОтрицанияДляСообщения = ФлагОтрицания; + + Различия = РазличияТаблиц(ПроверяемоеЗначение, ОжидаемоеЗначение); + Если Не Различия.Количество() = 0 Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "РАВНО (" + ОжидаемоеЗначение + "). + |Различия таблиц:"); + + Для Каждого Различие Из Различия Цикл + СообщениеОшибки = СтрШаблон("%1%2[%3:%4]: ожидали <%5>, а получили <%6>", СообщениеОшибки, Символы.ПС, + Различие.Строка, Различие.Колонка, Различие.Ожидание, Различие.Результат); + КонецЦикла; + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + +Функция ИмеетРавнуюСтруктуруСТаблицей(Знач ОжидаемоеЗначение) Экспорт + Возврат РавнаТаблице(ОжидаемоеЗначение, Истина); +КонецФункции + // { Helpers Функция ФорматДСО(Знач ДопСообщениеОшибки) Если ДопСообщениеОшибки = "" Тогда @@ -349,6 +396,132 @@ КонецПопытки КонецПроцедуры +Функция РазличияТаблиц(Знач ПроверяемоеЗначение, Знач ОжидаемоеЗначение, Знач СравнитьТолькоСтруктуры = Ложь) + + Различия = ПустаяТаблицаРазличийТаблиц(); + + Если Не ТипЗнч(ОжидаемоеЗначение) = Тип("ТаблицаЗначений") Тогда + Различие = РазличиеТаблиц("ОЖИДАЕМОЕ значение", "Тип значения", "ТаблицаЗначений", ТипЗнч(ОжидаемоеЗначение)); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; + Если Не ТипЗнч(ПроверяемоеЗначение) = Тип("ТаблицаЗначений") Тогда + Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "Тип значения", "ТаблицаЗначений", ТипЗнч(ПроверяемоеЗначение)); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; + + Если Различия.Количество() > 0 Тогда + Возврат Различия; + КонецЕсли; + + Если Не ОжидаемоеЗначение.Количество() = ПроверяемоеЗначение.Количество() Тогда + Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "Количество СТРОК", ОжидаемоеЗначение.Количество(), ПроверяемоеЗначение.Количество()); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; + Если Не ОжидаемоеЗначение.Колонки.Количество() = ПроверяемоеЗначение.Колонки.Количество() Тогда + Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "Количество КОЛОНОК", ОжидаемоеЗначение.Колонки.Количество(), ПроверяемоеЗначение.Колонки.Количество()); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; + + Если ПараметрыСравненияТаблиц.УчитыватьИменаКолонок Тогда + Для Кол = 0 По ОжидаемоеЗначение.Колонки.Количество() - 1 Цикл + КолонкаОжидания = ОжидаемоеЗначение.Колонки[Кол]; + КолонкаПроверяемого = ?(ПараметрыСравненияТаблиц.УчитыватьПорядокКолонок, + ПроверяемоеЗначение.Колонки[Кол], + ПроверяемоеЗначение.Колонки.Найти(КолонкаОжидания.Имя)); + Если КолонкаПроверяемого = Неопределено Или Не КолонкаОжидания.Имя = КолонкаПроверяемого.Имя Тогда + Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "Колонки", + СтрШаблон("колонку ""%1""", КолонкаОжидания.Имя), + ?(КолонкаПроверяемого = Неопределено, + "<ОТСУТСТВУЕТ>", + СтрШаблон("колонку ""%1""", КолонкаПроверяемого.Имя))); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; + КонецЦикла; + + Для Кол = 0 По ПроверяемоеЗначение.Колонки.Количество() - 1 Цикл + КолонкаПроверяемого = ПроверяемоеЗначение.Колонки[Кол]; + КолонкаОжидания = ?(ПараметрыСравненияТаблиц.УчитыватьПорядокКолонок, + ОжидаемоеЗначение.Колонки[Кол], + ОжидаемоеЗначение.Колонки.Найти(КолонкаПроверяемого.Имя)); + Если КолонкаОжидания = Неопределено Или Не КолонкаОжидания.Имя = КолонкаПроверяемого.Имя Тогда + Различие = РазличиеТаблиц("ОЖИДАЕМОЕ значение", "Колонки", + ?(КолонкаОжидания = Неопределено, + "<ОТСУТСТВУЕТ>", + СтрШаблон("колонку ""%1""", КолонкаОжидания.Имя)), + СтрШаблон("колонку ""%1""", КолонкаПроверяемого.Имя)); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; + КонецЦикла; + КонецЕсли; + + Если СравнитьТолькоСтруктуры Тогда + Возврат Различия; + КонецЕсли; + + Таб1 = ПроверяемоеЗначение.Скопировать(); + Таб2 = ОжидаемоеЗначение.Скопировать(); + + Если Не ПараметрыСравненияТаблиц.УчитыватьПорядокСтрок Тогда + Таб1 = ОтсортироватьТаблицуПоВсемКолонкам(Таб1); + Таб2 = ОтсортироватьТаблицуПоВсемКолонкам(Таб2); + КонецЕсли; + + Для Стр = 0 По Таб1.Количество() - 1 Цикл + Для Кол = 0 По Таб1.Колонки.Количество() - 1 Цикл + Результат = Таб1[Стр][Кол]; + Если ПараметрыСравненияТаблиц.УчитыватьИменаКолонок + И Не ПараметрыСравненияТаблиц.УчитыватьПорядокКолонок + Тогда + КолонкаТаб1 = Таб1.Колонки[Кол]; + КолонкаТаб2 = Таб2.Колонки.Найти(КолонкаТаб1.Имя); + Ожидание = Таб2[Стр][КолонкаТаб2]; + Иначе + Ожидание = Таб2[Стр][Кол]; + КонецЕсли; + Если Не Ожидание = Результат Тогда + Различие = РазличиеТаблиц(Стр, Кол, Ожидание, Результат); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; + КонецЦикла; + КонецЦикла; + + Возврат Различия; +КонецФункции + +Функция ПустаяТаблицаРазличийТаблиц() + + Различия = Новый ТаблицаЗначений; + Различия.Колонки.Добавить("Строка"); + Различия.Колонки.Добавить("Колонка"); + Различия.Колонки.Добавить("Ожидание"); + Различия.Колонки.Добавить("Результат"); + + Возврат Различия; +КонецФункции + +Функция РазличиеТаблиц(Знач Строка = "", Знач Колонка = "", Знач Ожидание = "", Знач Результат = "") + + Различие = ПустаяТаблицаРазличийТаблиц().Добавить(); + Различие.Строка = Строка; + Различие.Колонка = Колонка; + Различие.Ожидание = Ожидание; + Различие.Результат = Результат; + + Возврат Различие; +КонецФункции + +Функция ОтсортироватьТаблицуПоВсемКолонкам(Знач ТЗ) + + ИменаКолонок = Новый Массив; + Для Каждого Колонка Из ТЗ.Колонки Цикл + ИменаКолонок.Добавить(Колонка.Имя); + КонецЦикла; + ИменаКолонок = СтрСоединить(ИменаКолонок, ","); + ТЗ.Сортировать(ИменаКолонок); + + Возврат ТЗ; +КонецФункции + Функция ЛогическоеВыражениеВерно(Знач ЛогическоеВыражение) Результат = ФлагОтрицания <> ЛогическоеВыражение; ФлагОтрицанияДляСообщения = ФлагОтрицания; @@ -428,4 +601,3 @@ КонецФункции // } Helpers - From 4b81545cd7927d3f80310746b44fa41e12520a5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BE=D0=BB=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9?= Date: Thu, 5 Dec 2024 15:29:16 +0700 Subject: [PATCH 02/10] =?UTF-8?q?=D0=BD=D0=B0=D0=BA=D0=B8=D0=B4=D0=B0?= =?UTF-8?q?=D0=BB=20=D0=A1=D0=BE=D0=B4=D0=B5=D1=80=D0=B6=D0=B8=D1=82=D0=A1?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=BA=D1=83=20=D0=B8=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bdd-asserts-class.os | 28 ++++- tests/bdd-assertions-tables-tests.os | 159 +++++++++++++++++++++++++++ 2 files changed, 184 insertions(+), 3 deletions(-) create mode 100644 tests/bdd-assertions-tables-tests.os diff --git a/src/bdd-asserts-class.os b/src/bdd-asserts-class.os index 0b3bb9b..9607911 100644 --- a/src/bdd-asserts-class.os +++ b/src/bdd-asserts-class.os @@ -348,6 +348,22 @@ Возврат РавнаТаблице(ОжидаемоеЗначение, Истина); КонецФункции +Функция СодержитСтрокуТаблице(Знач ОжидаемоеЗначение) Экспорт + + ФлагОтрицанияДляСообщения = ФлагОтрицания; + + СтруктураПоиска = Новый Структура(СтрСоединить(ИменаКолонок(ПроверяемоеЗначение), ",")); + ЗаполнитьЗначенияСвойств(СтруктураПоиска, ОжидаемоеЗначение); + + НайденныеСтроки = ПроверяемоеЗначение.НайтиСтроки(СтруктураПоиска); + Если НайденныеСтроки.Количество() = 0 Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "СОДЕРЖИТ нужную строку."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; + + Возврат ЭтотОбъект; +КонецФункции + // { Helpers Функция ФорматДСО(Знач ДопСообщениеОшибки) Если ДопСообщениеОшибки = "" Тогда @@ -512,14 +528,20 @@ Функция ОтсортироватьТаблицуПоВсемКолонкам(Знач ТЗ) + ИменаКолонок = СтрСоединить(ИменаКолонок(ТЗ), ","); + ТЗ.Сортировать(ИменаКолонок); + + Возврат ТЗ; +КонецФункции + +Функция ИменаКолонок(Знач ТЗ) + ИменаКолонок = Новый Массив; Для Каждого Колонка Из ТЗ.Колонки Цикл ИменаКолонок.Добавить(Колонка.Имя); КонецЦикла; - ИменаКолонок = СтрСоединить(ИменаКолонок, ","); - ТЗ.Сортировать(ИменаКолонок); - Возврат ТЗ; + Возврат ИменаКолонок; КонецФункции Функция ЛогическоеВыражениеВерно(Знач ЛогическоеВыражение) diff --git a/tests/bdd-assertions-tables-tests.os b/tests/bdd-assertions-tables-tests.os new file mode 100644 index 0000000..dca2068 --- /dev/null +++ b/tests/bdd-assertions-tables-tests.os @@ -0,0 +1,159 @@ +#Использовать asserts + +Функция ПолучитьСписокТестов(юТест) Экспорт + ВсеТесты = Новый Массив; + ВсеТесты.Добавить("ТестДолжен_Проверить_РавнаТаблице"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_РавнаТаблице"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ИмеетРавнуюСтруктуруСТаблицей"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ИмеетРавнуюСтруктуруСТаблицей_БезУчетаПорядкаКолонок"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ИмеетРавнуюСтруктуруСТаблицей"); + ВсеТесты.Добавить("ТестДолжен_Проверить_НеравенствоТаблицСИзмененнымПорядкомСтрок"); + ВсеТесты.Добавить("ТестДолжен_Проверить_НеравенствоТаблицСИзмененнымПорядкомКолонок"); + ВсеТесты.Добавить("ТестДолжен_Проверить_СодержитСтрокуТаблицы"); + ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_СодержитСтрокуТаблицы"); + ВсеТесты.Добавить("ТестДолжен_Проверить_РавнаТаблице_БезУчетаПорядкаСтрок"); + ВсеТесты.Добавить("ТестДолжен_Проверить_РавнаТаблице_БезУчетаПорядкаКолонок"); + ВсеТесты.Добавить("ТестДолжен_Проверить_РавнаТаблице_БезУчетаИменКолонок"); + + Возврат ВсеТесты; +КонецФункции + +Процедура ТестДолжен_Проверить_РавнаТаблице() Экспорт + Ожидаем.Что(Таблица1()).РавнаТаблице(Таблица1()); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_РавнаТаблице() Экспорт + Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица2()); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ИмеетРавнуюСтруктуруСТаблицей() Экспорт + Таблица2 = Таблица1(); + Таблица2.Удалить(0); + Ожидаем.Что(Таблица1()).ИмеетРавнуюСтруктуруСТаблицей(Таблица2); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ИмеетРавнуюСтруктуруСТаблицей_БезУчетаПорядкаКолонок() Экспорт + Ожидаем.Что(Таблица1()).БезУчетаПорядКаКолонок().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); +КонецПроцедуры + + +Процедура ТестДолжен_Проверить_Отрицание_ИмеетРавнуюСтруктуруСТаблицей() Экспорт + Ожидаем.Что(Таблица1()).Не_().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_НеравенствоТаблицСИзмененнымПорядкомСтрок() Экспорт + Таблица2 = Таблица1(); + Таблица2.Сортировать("К1 УБЫВ"); + Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_НеравенствоТаблицСИзмененнымПорядкомКолонок() Экспорт + Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица3()); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_НеравенствоТаблицСРазнымСоставомКолонок() Экспорт + Таблица2 = Таблица1(); + Таблица2.Колонки.К1.Имя = "КК"; + Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_СодержитСтрокуТаблицы() Экспорт + СтрокаТаблицы = Таблица1()[0]; + Ожидаем.Что(Таблица1()).СодержитСтрокуТаблицы(СтрокаТаблицы); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_Отрицание_СодержитСТрокуТаблицы() Экспорт + СтрокаТаблицы = Таблица1()[0]; + СтрокаТаблицы.К0 = "777"; + Ожидаем.Что(Таблица1()).Не_().СодержитСтрокуТаблицы(СтрокаТаблицы); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_РавнаТаблице_БезУчетаПорядкаСтрок() Экспорт + Таблица2 = Таблица1(); + Таблица2.Сортировать("К1 УБЫВ"); + Ожидаем.Что(Таблица1()).БезУчетаПорядкаСтрок().РавнаТаблице(Таблица2); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_РавнаТаблице_БезУчетаПорядкаКолонок() Экспорт + Ожидаем.Что(Таблица1()).БезУчетаПорядкаКолонок().РавнаТаблице(Таблица3()); +КонецПроцедуры + +Процедура ТестДолжен_Проверить_РавнаТаблице_БезУчетаИменКолонок() Экспорт + Ожидаем.Что(Таблица1()).БезУчетаИменКолонок().РавнаТаблице(Таблица2()); +КонецПроцедуры + +// helpers +Функция Таблица1() + + ТЗ = Новый ТаблицаЗначений; + ТЗ.Колонки.Добавить("К0"); + ТЗ.Колонки.Добавить("К1"); + ТЗ.Колонки.Добавить("К2"); + + СтрТЗ = ТЗ.Добавить(); + СтрТЗ.К0 = "11"; + СтрТЗ.К1 = "12"; + СтрТЗ.К2 = "13"; + + СтрТЗ = ТЗ.Добавить(); + СтрТЗ.К0 = "21"; + СтрТЗ.К1 = "22"; + СтрТЗ.К2 = "23"; + + СтрТЗ = ТЗ.Добавить(); + СтрТЗ.К0 = "31"; + СтрТЗ.К1 = "32"; + СтрТЗ.К2 = "33"; + + Возврат ТЗ; +КонецФункции + +Функция Таблица2() + + ТЗ = Новый ТаблицаЗначений; + ТЗ.Колонки.Добавить("А0"); + ТЗ.Колонки.Добавить("А1"); + ТЗ.Колонки.Добавить("А2"); + + СтрТЗ = ТЗ.Добавить(); + СтрТЗ.А0 = "11"; + СтрТЗ.А1 = "12"; + СтрТЗ.А2 = "13"; + + СтрТЗ = ТЗ.Добавить(); + СтрТЗ.А0 = "21"; + СтрТЗ.А1 = "22"; + СтрТЗ.А2 = "23"; + + СтрТЗ = ТЗ.Добавить(); + СтрТЗ.А0 = "31"; + СтрТЗ.А1 = "32"; + СтрТЗ.А2 = "33"; + + Возврат ТЗ; +КонецФункции + +Функция Таблица3() + + ТЗ = Новый ТаблицаЗначений; + ТЗ.Колонки.Добавить("К0"); + ТЗ.Колонки.Добавить("К2"); + ТЗ.Колонки.Добавить("К1"); + + СтрТЗ = ТЗ.Добавить(); + СтрТЗ.К0 = "11"; + СтрТЗ.К1 = "12"; + СтрТЗ.К2 = "13"; + + СтрТЗ = ТЗ.Добавить(); + СтрТЗ.К0 = "21"; + СтрТЗ.К1 = "22"; + СтрТЗ.К2 = "23"; + + СтрТЗ = ТЗ.Добавить(); + СтрТЗ.К0 = "31"; + СтрТЗ.К1 = "32"; + СтрТЗ.К2 = "33"; + + Возврат ТЗ; +КонецФункции From 754e44de054917d7bb7fff12cc517651eb60491e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BE=D0=BB=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9?= Date: Thu, 5 Dec 2024 16:27:53 +0700 Subject: [PATCH 03/10] =?UTF-8?q?=D0=BF=D0=BE=D0=B7=D0=B5=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B5=D0=BB=D0=BE.=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA?= =?UTF-8?q?=D0=BE=20=D1=84=D0=BE=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=BF?= =?UTF-8?q?=D0=B0=D0=B4=D0=B0=D1=8E=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bdd-asserts-class.os | 72 ++++++++++++++++------------ tests/bdd-assertions-tables-tests.os | 34 +++++++------ 2 files changed, 62 insertions(+), 44 deletions(-) diff --git a/src/bdd-asserts-class.os b/src/bdd-asserts-class.os index 9607911..76597e9 100644 --- a/src/bdd-asserts-class.os +++ b/src/bdd-asserts-class.os @@ -38,24 +38,6 @@ Возврат ЭтотОбъект; КонецФункции -Функция БезУчетаПорядкаСтрок() Экспорт - ПараметрыСравненияТаблиц.Вставить("УчитыватьПорядокСтрок", Ложь); - - Возврат ЭтотОбъект; -КонецФункции - -Функция БезУчетаПорядкаКолонок() Экспорт - ПараметрыСравненияТаблиц.Вставить("УчитыватьПорядокКолонок", Ложь); - - Возврат ЭтотОбъект; -КонецФункции - -Функция БезУчетаИменКолонок() Экспорт - ПараметрыСравненияТаблиц.Вставить("УчитыватьИменаКолонок", Ложь); - - Возврат ЭтотОбъект; -КонецФункции - Функция ЭтоНе() Экспорт Возврат Не_(); КонецФункции @@ -327,10 +309,16 @@ Функция РавнаТаблице(Знач ОжидаемоеЗначение, Знач СравнитьТолькоСТруктуру = Ложь) Экспорт + Различия = РазличияТаблиц(ПроверяемоеЗначение, ОжидаемоеЗначение, СравнитьТолькоСТруктуру); + + + ВсеОК = Различия.Количество() = 0; + ВсеОК = ?(ФлагОтрицания, Не ВсеОК, ВсеОК); + ФлагОтрицанияДляСообщения = ФлагОтрицания; + ФлагОтрицания = Ложь; - Различия = РазличияТаблиц(ПроверяемоеЗначение, ОжидаемоеЗначение); - Если Не Различия.Количество() = 0 Тогда + Если Не ВсеОК Тогда СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "РАВНО (" + ОжидаемоеЗначение + "). |Различия таблиц:"); @@ -348,15 +336,20 @@ Возврат РавнаТаблице(ОжидаемоеЗначение, Истина); КонецФункции -Функция СодержитСтрокуТаблице(Знач ОжидаемоеЗначение) Экспорт - - ФлагОтрицанияДляСообщения = ФлагОтрицания; +Функция СодержитСтрокуТаблицы(Знач ОжидаемоеЗначение) Экспорт СтруктураПоиска = Новый Структура(СтрСоединить(ИменаКолонок(ПроверяемоеЗначение), ",")); ЗаполнитьЗначенияСвойств(СтруктураПоиска, ОжидаемоеЗначение); НайденныеСтроки = ПроверяемоеЗначение.НайтиСтроки(СтруктураПоиска); - Если НайденныеСтроки.Количество() = 0 Тогда + + ВсеОК = НайденныеСтроки.Количество() = 1; + ВсеОК = ?(ФлагОтрицания, Не ВсеОК, ВсеОК); + + ФлагОтрицанияДляСообщения = ФлагОтрицания; + ФлагОтрицания = Ложь; + + Если Не ВсеОК Тогда СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "СОДЕРЖИТ нужную строку."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -364,6 +357,24 @@ Возврат ЭтотОбъект; КонецФункции +Функция БезУчетаПорядкаСтрок() Экспорт + ПараметрыСравненияТаблиц.Вставить("УчитыватьПорядокСтрок", Ложь); + + Возврат ЭтотОбъект; +КонецФункции + +Функция БезУчетаПорядкаКолонок() Экспорт + ПараметрыСравненияТаблиц.Вставить("УчитыватьПорядокКолонок", Ложь); + + Возврат ЭтотОбъект; +КонецФункции + +Функция БезУчетаИменКолонок() Экспорт + ПараметрыСравненияТаблиц.Вставить("УчитыватьИменаКолонок", Ложь); + + Возврат ЭтотОбъект; +КонецФункции + // { Helpers Функция ФорматДСО(Знач ДопСообщениеОшибки) Если ДопСообщениеОшибки = "" Тогда @@ -412,7 +423,7 @@ КонецПопытки КонецПроцедуры -Функция РазличияТаблиц(Знач ПроверяемоеЗначение, Знач ОжидаемоеЗначение, Знач СравнитьТолькоСтруктуры = Ложь) +Функция РазличияТаблиц(Знач ПроверяемоеЗначение, Знач ОжидаемоеЗначение, Знач СравнитьТолькоСтруктуру = Ложь) Различия = ПустаяТаблицаРазличийТаблиц(); @@ -429,10 +440,6 @@ Возврат Различия; КонецЕсли; - Если Не ОжидаемоеЗначение.Количество() = ПроверяемоеЗначение.Количество() Тогда - Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "Количество СТРОК", ОжидаемоеЗначение.Количество(), ПроверяемоеЗначение.Количество()); - ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); - КонецЕсли; Если Не ОжидаемоеЗначение.Колонки.Количество() = ПроверяемоеЗначение.Колонки.Количество() Тогда Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "Количество КОЛОНОК", ОжидаемоеЗначение.Колонки.Количество(), ПроверяемоеЗначение.Колонки.Количество()); ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); @@ -470,10 +477,15 @@ КонецЦикла; КонецЕсли; - Если СравнитьТолькоСтруктуры Тогда + Если СравнитьТолькоСтруктуру Тогда Возврат Различия; КонецЕсли; + Если Не ОжидаемоеЗначение.Количество() = ПроверяемоеЗначение.Количество() Тогда + Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "Количество СТРОК", ОжидаемоеЗначение.Количество(), ПроверяемоеЗначение.Количество()); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; + Таб1 = ПроверяемоеЗначение.Скопировать(); Таб2 = ОжидаемоеЗначение.Скопировать(); diff --git a/tests/bdd-assertions-tables-tests.os b/tests/bdd-assertions-tables-tests.os index dca2068..816f8fa 100644 --- a/tests/bdd-assertions-tables-tests.os +++ b/tests/bdd-assertions-tables-tests.os @@ -1,4 +1,4 @@ -#Использовать asserts +Перем ОбъектТеста; Функция ПолучитьСписокТестов(юТест) Экспорт ВсеТесты = Новый Массив; @@ -19,67 +19,67 @@ КонецФункции Процедура ТестДолжен_Проверить_РавнаТаблице() Экспорт - Ожидаем.Что(Таблица1()).РавнаТаблице(Таблица1()); + ОбъектТеста.Что(Таблица1()).РавнаТаблице(Таблица1()); КонецПроцедуры Процедура ТестДолжен_Проверить_Отрицание_РавнаТаблице() Экспорт - Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица2()); + ОбъектТеста.Что(Таблица1()).Не_().РавнаТаблице(Таблица2()); КонецПроцедуры Процедура ТестДолжен_Проверить_ИмеетРавнуюСтруктуруСТаблицей() Экспорт Таблица2 = Таблица1(); Таблица2.Удалить(0); - Ожидаем.Что(Таблица1()).ИмеетРавнуюСтруктуруСТаблицей(Таблица2); + ОбъектТеста.Что(Таблица1()).ИмеетРавнуюСтруктуруСТаблицей(Таблица2); КонецПроцедуры Процедура ТестДолжен_Проверить_ИмеетРавнуюСтруктуруСТаблицей_БезУчетаПорядкаКолонок() Экспорт - Ожидаем.Что(Таблица1()).БезУчетаПорядКаКолонок().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); + ОбъектТеста.Что(Таблица1()).БезУчетаПорядКаКолонок().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); КонецПроцедуры Процедура ТестДолжен_Проверить_Отрицание_ИмеетРавнуюСтруктуруСТаблицей() Экспорт - Ожидаем.Что(Таблица1()).Не_().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); + ОбъектТеста.Что(Таблица1()).Не_().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); КонецПроцедуры Процедура ТестДолжен_Проверить_НеравенствоТаблицСИзмененнымПорядкомСтрок() Экспорт Таблица2 = Таблица1(); Таблица2.Сортировать("К1 УБЫВ"); - Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); + ОбъектТеста.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); КонецПроцедуры Процедура ТестДолжен_Проверить_НеравенствоТаблицСИзмененнымПорядкомКолонок() Экспорт - Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица3()); + ОбъектТеста.Что(Таблица1()).Не_().РавнаТаблице(Таблица3()); КонецПроцедуры Процедура ТестДолжен_Проверить_НеравенствоТаблицСРазнымСоставомКолонок() Экспорт Таблица2 = Таблица1(); Таблица2.Колонки.К1.Имя = "КК"; - Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); + ОбъектТеста.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); КонецПроцедуры Процедура ТестДолжен_Проверить_СодержитСтрокуТаблицы() Экспорт СтрокаТаблицы = Таблица1()[0]; - Ожидаем.Что(Таблица1()).СодержитСтрокуТаблицы(СтрокаТаблицы); + ОбъектТеста.Что(Таблица1()).СодержитСтрокуТаблицы(СтрокаТаблицы); КонецПроцедуры Процедура ТестДолжен_Проверить_Отрицание_СодержитСТрокуТаблицы() Экспорт СтрокаТаблицы = Таблица1()[0]; СтрокаТаблицы.К0 = "777"; - Ожидаем.Что(Таблица1()).Не_().СодержитСтрокуТаблицы(СтрокаТаблицы); + ОбъектТеста.Что(Таблица1()).Не_().СодержитСтрокуТаблицы(СтрокаТаблицы); КонецПроцедуры Процедура ТестДолжен_Проверить_РавнаТаблице_БезУчетаПорядкаСтрок() Экспорт Таблица2 = Таблица1(); Таблица2.Сортировать("К1 УБЫВ"); - Ожидаем.Что(Таблица1()).БезУчетаПорядкаСтрок().РавнаТаблице(Таблица2); + ОбъектТеста.Что(Таблица1()).БезУчетаПорядкаСтрок().РавнаТаблице(Таблица2); КонецПроцедуры Процедура ТестДолжен_Проверить_РавнаТаблице_БезУчетаПорядкаКолонок() Экспорт - Ожидаем.Что(Таблица1()).БезУчетаПорядкаКолонок().РавнаТаблице(Таблица3()); + ОбъектТеста.Что(Таблица1()).БезУчетаПорядкаКолонок().РавнаТаблице(Таблица3()); КонецПроцедуры Процедура ТестДолжен_Проверить_РавнаТаблице_БезУчетаИменКолонок() Экспорт - Ожидаем.Что(Таблица1()).БезУчетаИменКолонок().РавнаТаблице(Таблица2()); + ОбъектТеста.Что(Таблица1()).БезУчетаИменКолонок().РавнаТаблице(Таблица2()); КонецПроцедуры // helpers @@ -157,3 +157,9 @@ Возврат ТЗ; КонецФункции + +Процедура Инициализация() + ОбъектТеста = ЗагрузитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "..", "src", "bdd-asserts.os")); +КонецПроцедуры + +Инициализация(); From edc4fb6a6215f6b0980c2dccdd22ea856e913f5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BE=D0=BB=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9?= Date: Thu, 5 Dec 2024 16:28:44 +0700 Subject: [PATCH 04/10] =?UTF-8?q?=D0=BF=D0=BE=D0=B7=D0=B5=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B5=D0=BB=D0=BE.=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA?= =?UTF-8?q?=D0=BE=20=D1=84=D0=BE=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=BF?= =?UTF-8?q?=D0=B0=D0=B4=D0=B0=D1=8E=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/bdd-assertions-tables-tests.os | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/tests/bdd-assertions-tables-tests.os b/tests/bdd-assertions-tables-tests.os index 816f8fa..6155d6e 100644 --- a/tests/bdd-assertions-tables-tests.os +++ b/tests/bdd-assertions-tables-tests.os @@ -1,4 +1,4 @@ -Перем ОбъектТеста; +#Использовать ".." Функция ПолучитьСписокТестов(юТест) Экспорт ВсеТесты = Новый Массив; @@ -19,67 +19,67 @@ КонецФункции Процедура ТестДолжен_Проверить_РавнаТаблице() Экспорт - ОбъектТеста.Что(Таблица1()).РавнаТаблице(Таблица1()); + Ожидаем.Что(Таблица1()).РавнаТаблице(Таблица1()); КонецПроцедуры Процедура ТестДолжен_Проверить_Отрицание_РавнаТаблице() Экспорт - ОбъектТеста.Что(Таблица1()).Не_().РавнаТаблице(Таблица2()); + Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица2()); КонецПроцедуры Процедура ТестДолжен_Проверить_ИмеетРавнуюСтруктуруСТаблицей() Экспорт Таблица2 = Таблица1(); Таблица2.Удалить(0); - ОбъектТеста.Что(Таблица1()).ИмеетРавнуюСтруктуруСТаблицей(Таблица2); + Ожидаем.Что(Таблица1()).ИмеетРавнуюСтруктуруСТаблицей(Таблица2); КонецПроцедуры Процедура ТестДолжен_Проверить_ИмеетРавнуюСтруктуруСТаблицей_БезУчетаПорядкаКолонок() Экспорт - ОбъектТеста.Что(Таблица1()).БезУчетаПорядКаКолонок().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); + Ожидаем.Что(Таблица1()).БезУчетаПорядКаКолонок().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); КонецПроцедуры Процедура ТестДолжен_Проверить_Отрицание_ИмеетРавнуюСтруктуруСТаблицей() Экспорт - ОбъектТеста.Что(Таблица1()).Не_().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); + Ожидаем.Что(Таблица1()).Не_().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); КонецПроцедуры Процедура ТестДолжен_Проверить_НеравенствоТаблицСИзмененнымПорядкомСтрок() Экспорт Таблица2 = Таблица1(); Таблица2.Сортировать("К1 УБЫВ"); - ОбъектТеста.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); + Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); КонецПроцедуры Процедура ТестДолжен_Проверить_НеравенствоТаблицСИзмененнымПорядкомКолонок() Экспорт - ОбъектТеста.Что(Таблица1()).Не_().РавнаТаблице(Таблица3()); + Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица3()); КонецПроцедуры Процедура ТестДолжен_Проверить_НеравенствоТаблицСРазнымСоставомКолонок() Экспорт Таблица2 = Таблица1(); Таблица2.Колонки.К1.Имя = "КК"; - ОбъектТеста.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); + Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); КонецПроцедуры Процедура ТестДолжен_Проверить_СодержитСтрокуТаблицы() Экспорт СтрокаТаблицы = Таблица1()[0]; - ОбъектТеста.Что(Таблица1()).СодержитСтрокуТаблицы(СтрокаТаблицы); + Ожидаем.Что(Таблица1()).СодержитСтрокуТаблицы(СтрокаТаблицы); КонецПроцедуры Процедура ТестДолжен_Проверить_Отрицание_СодержитСТрокуТаблицы() Экспорт СтрокаТаблицы = Таблица1()[0]; СтрокаТаблицы.К0 = "777"; - ОбъектТеста.Что(Таблица1()).Не_().СодержитСтрокуТаблицы(СтрокаТаблицы); + Ожидаем.Что(Таблица1()).Не_().СодержитСтрокуТаблицы(СтрокаТаблицы); КонецПроцедуры Процедура ТестДолжен_Проверить_РавнаТаблице_БезУчетаПорядкаСтрок() Экспорт Таблица2 = Таблица1(); Таблица2.Сортировать("К1 УБЫВ"); - ОбъектТеста.Что(Таблица1()).БезУчетаПорядкаСтрок().РавнаТаблице(Таблица2); + Ожидаем.Что(Таблица1()).БезУчетаПорядкаСтрок().РавнаТаблице(Таблица2); КонецПроцедуры Процедура ТестДолжен_Проверить_РавнаТаблице_БезУчетаПорядкаКолонок() Экспорт - ОбъектТеста.Что(Таблица1()).БезУчетаПорядкаКолонок().РавнаТаблице(Таблица3()); + Ожидаем.Что(Таблица1()).БезУчетаПорядкаКолонок().РавнаТаблице(Таблица3()); КонецПроцедуры Процедура ТестДолжен_Проверить_РавнаТаблице_БезУчетаИменКолонок() Экспорт - ОбъектТеста.Что(Таблица1()).БезУчетаИменКолонок().РавнаТаблице(Таблица2()); + Ожидаем.Что(Таблица1()).БезУчетаИменКолонок().РавнаТаблице(Таблица2()); КонецПроцедуры // helpers From 9d3c0a11e9344f4c30b4b90b5f355744b9d34997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BE=D0=BB=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9?= Date: Thu, 5 Dec 2024 16:31:00 +0700 Subject: [PATCH 05/10] =?UTF-8?q?=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20?= =?UTF-8?q?=D1=84=D0=BE=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=BA=D1=80=D0=B0?= =?UTF-8?q?=D1=81=D0=BD=D1=8B=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/bdd-assertions-tables-tests.os | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/tests/bdd-assertions-tables-tests.os b/tests/bdd-assertions-tables-tests.os index 6155d6e..816f8fa 100644 --- a/tests/bdd-assertions-tables-tests.os +++ b/tests/bdd-assertions-tables-tests.os @@ -1,4 +1,4 @@ -#Использовать ".." +Перем ОбъектТеста; Функция ПолучитьСписокТестов(юТест) Экспорт ВсеТесты = Новый Массив; @@ -19,67 +19,67 @@ КонецФункции Процедура ТестДолжен_Проверить_РавнаТаблице() Экспорт - Ожидаем.Что(Таблица1()).РавнаТаблице(Таблица1()); + ОбъектТеста.Что(Таблица1()).РавнаТаблице(Таблица1()); КонецПроцедуры Процедура ТестДолжен_Проверить_Отрицание_РавнаТаблице() Экспорт - Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица2()); + ОбъектТеста.Что(Таблица1()).Не_().РавнаТаблице(Таблица2()); КонецПроцедуры Процедура ТестДолжен_Проверить_ИмеетРавнуюСтруктуруСТаблицей() Экспорт Таблица2 = Таблица1(); Таблица2.Удалить(0); - Ожидаем.Что(Таблица1()).ИмеетРавнуюСтруктуруСТаблицей(Таблица2); + ОбъектТеста.Что(Таблица1()).ИмеетРавнуюСтруктуруСТаблицей(Таблица2); КонецПроцедуры Процедура ТестДолжен_Проверить_ИмеетРавнуюСтруктуруСТаблицей_БезУчетаПорядкаКолонок() Экспорт - Ожидаем.Что(Таблица1()).БезУчетаПорядКаКолонок().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); + ОбъектТеста.Что(Таблица1()).БезУчетаПорядКаКолонок().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); КонецПроцедуры Процедура ТестДолжен_Проверить_Отрицание_ИмеетРавнуюСтруктуруСТаблицей() Экспорт - Ожидаем.Что(Таблица1()).Не_().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); + ОбъектТеста.Что(Таблица1()).Не_().ИмеетРавнуюСтруктуруСТаблицей(Таблица3()); КонецПроцедуры Процедура ТестДолжен_Проверить_НеравенствоТаблицСИзмененнымПорядкомСтрок() Экспорт Таблица2 = Таблица1(); Таблица2.Сортировать("К1 УБЫВ"); - Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); + ОбъектТеста.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); КонецПроцедуры Процедура ТестДолжен_Проверить_НеравенствоТаблицСИзмененнымПорядкомКолонок() Экспорт - Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица3()); + ОбъектТеста.Что(Таблица1()).Не_().РавнаТаблице(Таблица3()); КонецПроцедуры Процедура ТестДолжен_Проверить_НеравенствоТаблицСРазнымСоставомКолонок() Экспорт Таблица2 = Таблица1(); Таблица2.Колонки.К1.Имя = "КК"; - Ожидаем.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); + ОбъектТеста.Что(Таблица1()).Не_().РавнаТаблице(Таблица2); КонецПроцедуры Процедура ТестДолжен_Проверить_СодержитСтрокуТаблицы() Экспорт СтрокаТаблицы = Таблица1()[0]; - Ожидаем.Что(Таблица1()).СодержитСтрокуТаблицы(СтрокаТаблицы); + ОбъектТеста.Что(Таблица1()).СодержитСтрокуТаблицы(СтрокаТаблицы); КонецПроцедуры Процедура ТестДолжен_Проверить_Отрицание_СодержитСТрокуТаблицы() Экспорт СтрокаТаблицы = Таблица1()[0]; СтрокаТаблицы.К0 = "777"; - Ожидаем.Что(Таблица1()).Не_().СодержитСтрокуТаблицы(СтрокаТаблицы); + ОбъектТеста.Что(Таблица1()).Не_().СодержитСтрокуТаблицы(СтрокаТаблицы); КонецПроцедуры Процедура ТестДолжен_Проверить_РавнаТаблице_БезУчетаПорядкаСтрок() Экспорт Таблица2 = Таблица1(); Таблица2.Сортировать("К1 УБЫВ"); - Ожидаем.Что(Таблица1()).БезУчетаПорядкаСтрок().РавнаТаблице(Таблица2); + ОбъектТеста.Что(Таблица1()).БезУчетаПорядкаСтрок().РавнаТаблице(Таблица2); КонецПроцедуры Процедура ТестДолжен_Проверить_РавнаТаблице_БезУчетаПорядкаКолонок() Экспорт - Ожидаем.Что(Таблица1()).БезУчетаПорядкаКолонок().РавнаТаблице(Таблица3()); + ОбъектТеста.Что(Таблица1()).БезУчетаПорядкаКолонок().РавнаТаблице(Таблица3()); КонецПроцедуры Процедура ТестДолжен_Проверить_РавнаТаблице_БезУчетаИменКолонок() Экспорт - Ожидаем.Что(Таблица1()).БезУчетаИменКолонок().РавнаТаблице(Таблица2()); + ОбъектТеста.Что(Таблица1()).БезУчетаИменКолонок().РавнаТаблице(Таблица2()); КонецПроцедуры // helpers From 94603f98a8668fd9f475bee50bb6fe71fd6ad2c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BE=D0=BB=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9?= Date: Thu, 5 Dec 2024 16:49:04 +0700 Subject: [PATCH 06/10] =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8=D0=BC=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8C=20=D0=BE=D1=82=20asserts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/bdd-assertions-tests.os | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/bdd-assertions-tests.os b/tests/bdd-assertions-tests.os index 8e3b05e..976297b 100644 --- a/tests/bdd-assertions-tests.os +++ b/tests/bdd-assertions-tests.os @@ -1,4 +1,4 @@ -#Использовать asserts +#Использовать ".." Функция ПолучитьСписокТестов(юТест) Экспорт ВсеТесты = Новый Массив; From bc434d3f7eca2c39e45fae78476c56112882b0d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BE=D0=BB=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9?= Date: Fri, 6 Dec 2024 13:46:57 +0700 Subject: [PATCH 07/10] =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D0=B8=D0=BB=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BA=D0=BE=D0=B3=D0=BD=D0=B8=D1=82=D0=B8=D0=B2=D0=BA?= =?UTF-8?q?=D1=83.=20=D0=BD=D0=B5=D0=B4=D0=BE=D1=81=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=87=D0=BD=D0=BE=20=D0=BF=D0=BE=D0=BF=D0=B8=D0=BB=D0=B8?= =?UTF-8?q?=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bdd-asserts-class.os | 186 +++++++++++++++++++++++++-------------- 1 file changed, 120 insertions(+), 66 deletions(-) diff --git a/src/bdd-asserts-class.os b/src/bdd-asserts-class.os index 76597e9..c49a5e1 100644 --- a/src/bdd-asserts-class.os +++ b/src/bdd-asserts-class.os @@ -420,75 +420,151 @@ ТекстИсключения = СтрСоединить(МассивТекстИсключения, Символы.ПС); ВызватьИсключение ТекстИсключения; - КонецПопытки + КонецПопытки; КонецПроцедуры Функция РазличияТаблиц(Знач ПроверяемоеЗначение, Знач ОжидаемоеЗначение, Знач СравнитьТолькоСтруктуру = Ложь) Различия = ПустаяТаблицаРазличийТаблиц(); - Если Не ТипЗнч(ОжидаемоеЗначение) = Тип("ТаблицаЗначений") Тогда - Различие = РазличиеТаблиц("ОЖИДАЕМОЕ значение", "Тип значения", "ТаблицаЗначений", ТипЗнч(ОжидаемоеЗначение)); - ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); - КонецЕсли; - Если Не ТипЗнч(ПроверяемоеЗначение) = Тип("ТаблицаЗначений") Тогда - Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "Тип значения", "ТаблицаЗначений", ТипЗнч(ПроверяемоеЗначение)); + Для Каждого Различие Из РазличияТиповТаблиц(ПроверяемоеЗначение, ОжидаемоеЗначение) Цикл ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); - КонецЕсли; + КонецЦикла; Если Различия.Количество() > 0 Тогда Возврат Различия; КонецЕсли; - Если Не ОжидаемоеЗначение.Колонки.Количество() = ПроверяемоеЗначение.Колонки.Количество() Тогда - Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "Количество КОЛОНОК", ОжидаемоеЗначение.Колонки.Количество(), ПроверяемоеЗначение.Колонки.Количество()); + Для Каждого Различие Из РазличияКолонокТаблиц(ПроверяемоеЗначение, ОжидаемоеЗначение) Цикл ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЦикла; + + Если СравнитьТолькоСтруктуру Тогда + Возврат Различия; КонецЕсли; + + Для Каждого Различие Из РазличияСтрокТаблиц(ПроверяемоеЗначение, ОжидаемоеЗначение) Цикл + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЦикла; + + Возврат Различия; +КонецФункции + +Функция ПустаяТаблицаРазличийТаблиц() - Если ПараметрыСравненияТаблиц.УчитыватьИменаКолонок Тогда - Для Кол = 0 По ОжидаемоеЗначение.Колонки.Количество() - 1 Цикл - КолонкаОжидания = ОжидаемоеЗначение.Колонки[Кол]; - КолонкаПроверяемого = ?(ПараметрыСравненияТаблиц.УчитыватьПорядокКолонок, - ПроверяемоеЗначение.Колонки[Кол], - ПроверяемоеЗначение.Колонки.Найти(КолонкаОжидания.Имя)); - Если КолонкаПроверяемого = Неопределено Или Не КолонкаОжидания.Имя = КолонкаПроверяемого.Имя Тогда - Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "Колонки", - СтрШаблон("колонку ""%1""", КолонкаОжидания.Имя), - ?(КолонкаПроверяемого = Неопределено, - "<ОТСУТСТВУЕТ>", - СтрШаблон("колонку ""%1""", КолонкаПроверяемого.Имя))); - ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); - КонецЕсли; - КонецЦикла; + Различия = Новый ТаблицаЗначений; + Различия.Колонки.Добавить("Строка"); + Различия.Колонки.Добавить("Колонка"); + Различия.Колонки.Добавить("Ожидание"); + Различия.Колонки.Добавить("Результат"); - Для Кол = 0 По ПроверяемоеЗначение.Колонки.Количество() - 1 Цикл - КолонкаПроверяемого = ПроверяемоеЗначение.Колонки[Кол]; - КолонкаОжидания = ?(ПараметрыСравненияТаблиц.УчитыватьПорядокКолонок, - ОжидаемоеЗначение.Колонки[Кол], - ОжидаемоеЗначение.Колонки.Найти(КолонкаПроверяемого.Имя)); - Если КолонкаОжидания = Неопределено Или Не КолонкаОжидания.Имя = КолонкаПроверяемого.Имя Тогда - Различие = РазличиеТаблиц("ОЖИДАЕМОЕ значение", "Колонки", - ?(КолонкаОжидания = Неопределено, - "<ОТСУТСТВУЕТ>", - СтрШаблон("колонку ""%1""", КолонкаОжидания.Имя)), - СтрШаблон("колонку ""%1""", КолонкаПроверяемого.Имя)); - ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); - КонецЕсли; - КонецЦикла; + Возврат Различия; +КонецФункции + +Функция РазличиеТаблиц(Знач Строка = "", Знач Колонка = "", Знач Ожидание = "", Знач Результат = "") + + Различие = ПустаяТаблицаРазличийТаблиц().Добавить(); + Различие.Строка = Строка; + Различие.Колонка = Колонка; + Различие.Ожидание = Ожидание; + Различие.Результат = Результат; + + Возврат Различие; +КонецФункции + +Функция РазличияТиповТаблиц(Знач Таб1, Знач Таб2) + + Различия = ПустаяТаблицаРазличийТаблиц(); + + Если Не ТипЗнч(Таб1) = Тип("ТаблицаЗначений") Тогда + Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", + "Тип значения", + "ТаблицаЗначений", + ТипЗнч(Таб1)); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; + Если Не ТипЗнч(Таб2) = Тип("ТаблицаЗначений") Тогда + Различие = РазличиеТаблиц("ОЖИДАЕМОЕ значение", + "Тип значения", + "ТаблицаЗначений", + ТипЗнч(Таб2)); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); КонецЕсли; - Если СравнитьТолькоСтруктуру Тогда + Возврат Различия; +КонецФункции + +Функция РазличияКолонокТаблиц(Знач Таб1, Знач Таб2) + + Различия = ПустаяТаблицаРазличийТаблиц(); + + Если Не Таб1.Колонки.Количество() = Таб2.Колонки.Количество() Тогда + Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", + "Количество КОЛОНОК", + Таб2.Колонки.Количество(), + Таб1.Колонки.Количество()); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; + + Если Не ПараметрыСравненияТаблиц.УчитыватьИменаКолонок Тогда Возврат Различия; КонецЕсли; - Если Не ОжидаемоеЗначение.Количество() = ПроверяемоеЗначение.Количество() Тогда - Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "Количество СТРОК", ОжидаемоеЗначение.Количество(), ПроверяемоеЗначение.Количество()); + Для Каждого Различие Из РазличияИменКолонок(Таб1, Таб2, Ложь) Цикл ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); - КонецЕсли; + КонецЦикла; + + Для Каждого Различие Из РазличияИменКолонок(Таб2, Таб1, Истина) Цикл + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЦикла; + + Возврат Различия; +КонецФункции + +Функция РазличияИменКолонок(Знач Таб1, Знач Таб2, Знач ПоменятьМестами) + Различия = ПустаяТаблицаРазличийТаблиц(); + + Сообщение = ?(ПоменятьМестами, "ОЖИДАЕМОЕ значение", "ПРОВЕРЯЕМОЕ значение"); + + Для Кол = 0 По Таб1.Колонки.Количество() - 1 Цикл + КолонкаТаб1 = Таб1.Колонки[Кол]; + КолонкаТаб2 = ?(ПараметрыСравненияТаблиц.УчитыватьПорядокКолонок, + Таб2.Колонки[Кол], + Таб2.Колонки.Найти(КолонкаТаб1.Имя)); + Если КолонкаТаб2 = Неопределено Или Не КолонкаТаб1.Имя = КолонкаТаб2.Имя Тогда + Ожидание = ?(КолонкаТаб2 = Неопределено, "<ОТСУТСТВУЕТ>", СтрШаблон("колонку ""%1""", КолонкаТаб2.Имя)); + Результат = СтрШаблон("колонку ""%1""", КолонкаТаб1.Имя); + Различие = РазличиеТаблиц(Сообщение, + "Колонки", + ?(ПоменятьМестами, Результат, Ожидание), + ?(ПоменятьМестами, Ожидание, Результат)); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; + КонецЦикла; + + Возврат Различия; +КонецФункции + +Функция РазличияСтрокТаблиц(Знач ПроверяемоеЗначение, Знач ОжидаемоеЗначение) + + Различия = ПустаяТаблицаРазличийТаблиц(); + Таб1 = ПроверяемоеЗначение.Скопировать(); Таб2 = ОжидаемоеЗначение.Скопировать(); + Если Не Таб1.Количество() = Таб2.Количество() Тогда + Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", + "Количество СТРОК", + Таб2.Количество(), + Таб1.Количество()); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; + + Если Различия.Количество() > 0 Тогда + Возврат Различия; + КонецЕсли; + Если Не ПараметрыСравненияТаблиц.УчитыватьПорядокСтрок Тогда Таб1 = ОтсортироватьТаблицуПоВсемКолонкам(Таб1); Таб2 = ОтсортироватьТаблицуПоВсемКолонкам(Таб2); @@ -502,7 +578,7 @@ Тогда КолонкаТаб1 = Таб1.Колонки[Кол]; КолонкаТаб2 = Таб2.Колонки.Найти(КолонкаТаб1.Имя); - Ожидание = Таб2[Стр][КолонкаТаб2]; + Ожидание = ?(КолонкаТаб2 = Неопределено, "<НЕТ КОЛОНКИ>", Таб2[Стр][КолонкаТаб2]); Иначе Ожидание = Таб2[Стр][Кол]; КонецЕсли; @@ -516,28 +592,6 @@ Возврат Различия; КонецФункции -Функция ПустаяТаблицаРазличийТаблиц() - - Различия = Новый ТаблицаЗначений; - Различия.Колонки.Добавить("Строка"); - Различия.Колонки.Добавить("Колонка"); - Различия.Колонки.Добавить("Ожидание"); - Различия.Колонки.Добавить("Результат"); - - Возврат Различия; -КонецФункции - -Функция РазличиеТаблиц(Знач Строка = "", Знач Колонка = "", Знач Ожидание = "", Знач Результат = "") - - Различие = ПустаяТаблицаРазличийТаблиц().Добавить(); - Различие.Строка = Строка; - Различие.Колонка = Колонка; - Различие.Ожидание = Ожидание; - Различие.Результат = Результат; - - Возврат Различие; -КонецФункции - Функция ОтсортироватьТаблицуПоВсемКолонкам(Знач ТЗ) ИменаКолонок = СтрСоединить(ИменаКолонок(ТЗ), ","); From 30da8e7cc3bb5851de598ba8947bbbb72f0a90bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BE=D0=BB=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9?= Date: Fri, 6 Dec 2024 16:50:14 +0700 Subject: [PATCH 08/10] =?UTF-8?q?=D0=B2=D0=BE=D1=82=20=D1=82=D0=B0=D0=BA?= =?UTF-8?q?=20=D0=B2=D1=80=D0=BE=D0=B4=D0=B5=20=D0=B2=D1=81=D1=91=20=D0=BE?= =?UTF-8?q?=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bdd-asserts-class.os | 67 +++++++++++++---------------------- tests/bdd-assertions-tests.os | 1 - 2 files changed, 25 insertions(+), 43 deletions(-) diff --git a/src/bdd-asserts-class.os b/src/bdd-asserts-class.os index c49a5e1..c1f554e 100644 --- a/src/bdd-asserts-class.os +++ b/src/bdd-asserts-class.os @@ -510,40 +510,38 @@ Возврат Различия; КонецЕсли; - Для Каждого Различие Из РазличияИменКолонок(Таб1, Таб2, Ложь) Цикл - ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); - КонецЦикла; - - Для Каждого Различие Из РазличияИменКолонок(Таб2, Таб1, Истина) Цикл - ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + Для Кол = 0 По Таб1.Колонки.Количество() - 1 Цикл + Колонки = КолонкиТаблицПоИндексу(Таб1, Таб2, Кол); + Если Колонки[2] = Неопределено Или Не Колонки[1].Имя = Колонки[2].Имя Тогда + Ожидание = ?(Колонки[2] = Неопределено, "<ОТСУТСТВУЕТ>", СтрШаблон("колонку ""%1""", Колонки[2].Имя)); + Результат = СтрШаблон("колонку ""%1""", Колонки[1].Имя); + Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "КОЛОНКИ", Ожидание, Результат); + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); + КонецЕсли; КонецЦикла; Возврат Различия; КонецФункции -Функция РазличияИменКолонок(Знач Таб1, Знач Таб2, Знач ПоменятьМестами) +Функция КолонкиТаблицПоИндексу(Знач Таб1, Знач Таб2, Знач ИндексКолонки) - Различия = ПустаяТаблицаРазличийТаблиц(); + КолонкаТаб1 = Таб1.Колонки[ИндексКолонки]; + Если ПоискКолонкиПоИмени() Тогда + КолонкаТаб2 = Таб2.Колонки.Найти(КолонкаТаб1.Имя); + Иначе + КолонкаТаб2 = ?(ИндексКолонки < Таб2.Колонки.Количество(), Таб2.Колонки[ИндексКолонки], Неопределено); + КонецЕсли; - Сообщение = ?(ПоменятьМестами, "ОЖИДАЕМОЕ значение", "ПРОВЕРЯЕМОЕ значение"); + Колонки = Новый Массив; + Колонки.Добавить("Для нумерации с 1"); + Колонки.Добавить(КолонкаТаб1); + Колонки.Добавить(КолонкаТаб2); - Для Кол = 0 По Таб1.Колонки.Количество() - 1 Цикл - КолонкаТаб1 = Таб1.Колонки[Кол]; - КолонкаТаб2 = ?(ПараметрыСравненияТаблиц.УчитыватьПорядокКолонок, - Таб2.Колонки[Кол], - Таб2.Колонки.Найти(КолонкаТаб1.Имя)); - Если КолонкаТаб2 = Неопределено Или Не КолонкаТаб1.Имя = КолонкаТаб2.Имя Тогда - Ожидание = ?(КолонкаТаб2 = Неопределено, "<ОТСУТСТВУЕТ>", СтрШаблон("колонку ""%1""", КолонкаТаб2.Имя)); - Результат = СтрШаблон("колонку ""%1""", КолонкаТаб1.Имя); - Различие = РазличиеТаблиц(Сообщение, - "Колонки", - ?(ПоменятьМестами, Результат, Ожидание), - ?(ПоменятьМестами, Ожидание, Результат)); - ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); - КонецЕсли; - КонецЦикла; + Возврат Колонки; +КонецФункции - Возврат Различия; +Функция ПоискКолонкиПоИмени() + Возврат ПараметрыСравненияТаблиц.УчитыватьИменаКолонок И Не ПараметрыСравненияТаблиц.УчитыватьПорядокКолонок; КонецФункции Функция РазличияСтрокТаблиц(Знач ПроверяемоеЗначение, Знач ОжидаемоеЗначение) @@ -573,15 +571,8 @@ Для Стр = 0 По Таб1.Количество() - 1 Цикл Для Кол = 0 По Таб1.Колонки.Количество() - 1 Цикл Результат = Таб1[Стр][Кол]; - Если ПараметрыСравненияТаблиц.УчитыватьИменаКолонок - И Не ПараметрыСравненияТаблиц.УчитыватьПорядокКолонок - Тогда - КолонкаТаб1 = Таб1.Колонки[Кол]; - КолонкаТаб2 = Таб2.Колонки.Найти(КолонкаТаб1.Имя); - Ожидание = ?(КолонкаТаб2 = Неопределено, "<НЕТ КОЛОНКИ>", Таб2[Стр][КолонкаТаб2]); - Иначе - Ожидание = Таб2[Стр][Кол]; - КонецЕсли; + Колонки = КолонкиТаблицПоИндексу(Таб1, Таб2, Кол); + Ожидание = ?(Колонки[2] = Неопределено, "<НЕТ КОЛОНКИ>", Таб2[Стр][Колонки[2]]); Если Не Ожидание = Результат Тогда Различие = РазличиеТаблиц(Стр, Кол, Ожидание, Результат); ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); @@ -622,14 +613,6 @@ Возврат "Ожидали, что проверяемое значение (" + ПроверяемоеЗначение + ")" + ?(ФлагОтрицанияДляСообщения, " НЕ ", " ") + Ожидание + ФорматДСО(ДопСообщениеОшибки); КонецФункции -// Процедура ЕстьПодстрока(Знач Строка, Знач ПроверяемаяСтрока) -// Если СтрЧислоСтрок(ПроверяемаяСтрока) = 1 Тогда -// ЭтотОбъект.Что(Строка, "Проверяем одиночную строку").Содержит(ПроверяемаяСтрока); -// Иначе -// ПроверитьЧтоМногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Строка, ПроверяемаяСтрока); -// КонецЕсли; -// КонецПроцедуры - Процедура ПроверитьЧтоМногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Знач Строка, Знач Подстрока, ДопСообщениеОшибки = "") СообщениеОшибки = ""; Нашли = МногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Строка, Подстрока, СообщениеОшибки); diff --git a/tests/bdd-assertions-tests.os b/tests/bdd-assertions-tests.os index 976297b..30861da 100644 --- a/tests/bdd-assertions-tests.os +++ b/tests/bdd-assertions-tests.os @@ -284,5 +284,4 @@ Массив.Добавить("Значение"); Ожидаем.Что(Контекст).Метод("Вставить", Массив).Не_().ВыбрасываетИсключение("Недостаточно фактических параметров"); - КонецПроцедуры From abb0e087217038ae6be5aaad6512dd48102ea56a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BE=D0=BB=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9?= Date: Sun, 15 Dec 2024 18:36:57 +0700 Subject: [PATCH 09/10] =?UTF-8?q?=D1=87=D1=83=D1=82=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D0=BF=D1=82=D0=B8=D0=BC=D0=B8=D0=B7=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BB=20=D0=BF=D0=BE=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8E=20=D0=90=D1=80=D1=82=D1=83=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bdd-asserts-class.os | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/bdd-asserts-class.os b/src/bdd-asserts-class.os index c1f554e..a324764 100644 --- a/src/bdd-asserts-class.os +++ b/src/bdd-asserts-class.os @@ -548,14 +548,11 @@ Различия = ПустаяТаблицаРазличийТаблиц(); - Таб1 = ПроверяемоеЗначение.Скопировать(); - Таб2 = ОжидаемоеЗначение.Скопировать(); - - Если Не Таб1.Количество() = Таб2.Количество() Тогда + Если Не ПроверяемоеЗначение.Количество() = ОжидаемоеЗначение.Количество() Тогда Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "Количество СТРОК", - Таб2.Количество(), - Таб1.Количество()); + ОжидаемоеЗначение.Количество(), + ПроверяемоеЗначение.Количество()); ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); КонецЕсли; @@ -564,8 +561,15 @@ КонецЕсли; Если Не ПараметрыСравненияТаблиц.УчитыватьПорядокСтрок Тогда + + Таб1 = ПроверяемоеЗначение.Скопировать(); + Таб2 = ОжидаемоеЗначение.Скопировать(); + Таб1 = ОтсортироватьТаблицуПоВсемКолонкам(Таб1); Таб2 = ОтсортироватьТаблицуПоВсемКолонкам(Таб2); + Иначе + Таб1 = ПроверяемоеЗначение; + Таб2 = ОжидаемоеЗначение; КонецЕсли; Для Стр = 0 По Таб1.Количество() - 1 Цикл From f2460497768ab2e232d62b3be6914a8b63100219 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BE=D0=BB=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9?= Date: Sun, 15 Dec 2024 18:37:55 +0700 Subject: [PATCH 10/10] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BB?= =?UTF-8?q?=D0=B8=D1=88=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D1=80=D0=BE=D0=BA?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bdd-asserts-class.os | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/bdd-asserts-class.os b/src/bdd-asserts-class.os index a324764..dd93093 100644 --- a/src/bdd-asserts-class.os +++ b/src/bdd-asserts-class.os @@ -561,10 +561,8 @@ КонецЕсли; Если Не ПараметрыСравненияТаблиц.УчитыватьПорядокСтрок Тогда - Таб1 = ПроверяемоеЗначение.Скопировать(); Таб2 = ОжидаемоеЗначение.Скопировать(); - Таб1 = ОтсортироватьТаблицуПоВсемКолонкам(Таб1); Таб2 = ОтсортироватьТаблицуПоВсемКолонкам(Таб2); Иначе