Skip to content

Commit 971d555

Browse files
committed
fix EvilBeaver#1577: сортировка неупорядочиваемых типов +тест
1 parent 3581fdd commit 971d555

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

src/ScriptEngine/Machine/GenericIValueComparer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public int GetHashCode(IValue obj)
3939

4040
public int Compare(IValue x, IValue y)
4141
{
42-
if (ReferenceEquals(x, default) && ReferenceEquals(y, default))
42+
if (ReferenceEquals(x, y))
4343
return 0;
4444

4545
if (x.SystemType == y.SystemType)

tests/valuetable.os

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@
4343
ВсеТесты.Добавить("ТестДолжен_ПроверитьСверткуПоКолонкамСуммированияСРазнымиТипами");
4444
ВсеТесты.Добавить("ТестДолжен_ПроверитьСверткуПоОднойКолонкеСРазнымиТипами");
4545

46+
ВсеТесты.Добавить("ТестДолжен_ПроверитьСортировкуНеупорядочиваемыхТипов");
47+
ВсеТесты.Добавить("ТестДолжен_ПроверитьСортировкуРазныхТипов");
4648
Возврат ВсеТесты;
4749

4850
КонецФункции
@@ -779,3 +781,26 @@
779781
юТест.ПроверитьРавенство( СтрТЗ2[КолонкаСуммы], Количество,
780782
СтрШаблон("Сумма колонки %1 для значения %2 типа %3", КолонкаСуммы, Значение, ТипЗнч(Значение)) );
781783
КонецПроцедуры
784+
785+
// к issue #1577
786+
Процедура ТестДолжен_ПроверитьСортировкуНеупорядочиваемыхТипов() Экспорт
787+
ТЗ = Новый ТаблицаЗначений();
788+
ТЗ.Колонки.Добавить("Тест");
789+
790+
ТЗ.Добавить().Тест = Неопределено;
791+
ТЗ.Добавить().Тест = Неопределено;
792+
793+
ТЗ.Сортировать("Тест");
794+
КонецПроцедуры
795+
796+
Процедура ТестДолжен_ПроверитьСортировкуРазныхТипов() Экспорт
797+
ТЗ = Новый ТаблицаЗначений();
798+
ТЗ.Колонки.Добавить("Тест");
799+
800+
ТЗ.Добавить().Тест = Тип("Строка");
801+
ТЗ.Добавить().Тест = Неопределено;
802+
ТЗ.Добавить().Тест = Новый Структура;
803+
ТЗ.Добавить().Тест = null;
804+
805+
ТЗ.Сортировать("Тест");
806+
КонецПроцедуры

0 commit comments

Comments
 (0)