Перем ИмяВременногоФайла;

Процедура тестКонструктор () Экспорт
	Картинка = СоздатьОбъект ("Йоксель.Картинка");
	ПроверитьРавенство (Картинка.Высота, 0);
	ПроверитьРавенство (Картинка.Ширина, 0);
	ПроверитьРавенство (ТипЗначенияСтр (Картинка), "Йоксель.Картинка");
	ПроверитьРавенство (Картинка.БитНаПиксел, 0);
КонецПроцедуры

//-----------------------------------------------------------------------------

Процедура тестОткрыть () Экспорт
	Картинка = СоздатьОбъект ("Йоксель.Картинка");
	Картинка.Открыть (глКаталогФайлов + "Test.emf", 5);
	Картинка.Открыть (глКаталогФайлов + "test.jpg", 2);
	Картинка.Открыть (глКаталогФайлов + "test.png", 3);
	Картинка.Открыть (глКаталогФайлов + "Test.WMF", 4);
	Картинка.Открыть (глКаталогФайлов + "TestPicture.bmp", 1);
	
	ВсеНормально = 0;
	Попытка
		Картинка.Открыть (глКаталогФайлов + "НесуществующийФайл", 1);
	Исключение
		ВсеНормально = 1;
	КонецПопытки;
	Проверить (ВсеНормально);
	
	ВсеНормально = 0;
	Попытка
		Картинка.Открыть (глКаталогФайлов + "TestPicture.bmp", 5);
	Исключение
		ВсеНормально = 1;
	КонецПопытки;
	Проверить (ВсеНормально);
КонецПроцедуры

//-----------------------------------------------------------------------------

Процедура ПроверитьЗаписьВФормате (ИмяФайла, КодФормата, БитНаПиксел)
	ИсходнаяКартинка = СоздатьОбъект ("Йоксель.Картинка");
	ИсходнаяКартинка.Открыть (ИмяФайла, КодФормата);
	ИсходнаяКартинка.Записать (ИмяВременногоФайла, КодФормата);
	
	КонечнаяКартинка = СоздатьОбъект ("Йоксель.Картинка");
	КонечнаяКартинка.Открыть (ИмяВременногоФайла, КодФормата);
	ПроверитьРавенство (КонечнаяКартинка.БитНаПиксел, БитНаПиксел);
КонецПроцедуры

//-----------------------------------------------------------------------------

Процедура тестЗаписать () Экспорт
	ВсеНормально = 0;
	ИмяВременногоФайла = КаталогВременныхФайлов () + "testimage.tmp";
	Попытка
		ПроверитьЗаписьВФормате (глКаталогФайлов + "Test.emf", 5, 0);
		ПроверитьЗаписьВФормате (глКаталогФайлов + "test.jpg", 2, 24);
		ПроверитьЗаписьВФормате (глКаталогФайлов + "test.png", 3, 24);
		ПроверитьЗаписьВФормате (глКаталогФайлов + "Test.WMF", 4, 0);
		ПроверитьЗаписьВФормате (глКаталогФайлов + "TestPicture.bmp", 1, 4);
		ВсеНормально = 1;
	Исключение
	КонецПопытки;
	
	Если ФС.СуществуетФайл (ИмяВременногоФайла) = 1 Тогда
		ФС.УдалитьФайл (ИмяВременногоФайла);
	КонецЕсли;
	Проверить (ВсеНормально);
КонецПроцедуры

//-----------------------------------------------------------------------------

Процедура тестИзменитьРазмер () Экспорт
	Картинка = СоздатьОбъект ("Йоксель.Картинка");
	Картинка.Открыть (глКаталогФайлов + "TestPicture.bmp", 1);
	ПроверитьРавенство (Картинка.Ширина, 11);
	ПроверитьРавенство (Картинка.Высота, 12);
	
	Картинка.ИзменитьРазмер (20, 30);
	ПроверитьРавенство (Картинка.Ширина, 20);
	ПроверитьРавенство (Картинка.Высота, 30);
	
	Картинка.ИзменитьРазмер (5, 6);
	ПроверитьРавенство (Картинка.Ширина, 5);
	ПроверитьРавенство (Картинка.Высота, 6);
КонецПроцедуры

//-----------------------------------------------------------------------------

Процедура тестШирина () Экспорт
	Картинка = СоздатьОбъект ("Йоксель.Картинка");
	Картинка.Открыть (глКаталогФайлов + "TestPicture.bmp", 1);
	ПроверитьРавенство (Картинка.Ширина, 11);
	
	ВсеНормально = 0;
	Попытка
		Картинка.Ширина = 20;
	Исключение
		ВсеНормально = 1;
	КонецПопытки;
	
	Проверить (ВсеНормально);
	ПроверитьРавенство (Картинка.Ширина, 11);
КонецПроцедуры

//-----------------------------------------------------------------------------

Процедура тестВысота () Экспорт
	Картинка = СоздатьОбъект ("Йоксель.Картинка");
	Картинка.Открыть (глКаталогФайлов + "TestPicture.bmp", 1);
	ПроверитьРавенство (Картинка.Высота, 12);
	
	ВсеНормально = 0;
	Попытка
		Картинка.Высота = 20;
	Исключение
		ВсеНормально = 1;
	КонецПопытки;
	
	Проверить (ВсеНормально);
	ПроверитьРавенство (Картинка.Высота, 12);
КонецПроцедуры

//-----------------------------------------------------------------------------

Процедура тестБитНаПиксел () Экспорт
	Картинка = СоздатьОбъект ("Йоксель.Картинка");
	Картинка.Открыть (глКаталогФайлов + "TestPicture.bmp", 1);
	ПроверитьРавенство (Картинка.БитНаПиксел, 4);
	
	ВсеНормально = 0;
	Попытка
		Картинка.БитНаПиксел = 20;
	Исключение
		ВсеНормально = 1;
	КонецПопытки;
	
	Проверить (ВсеНормально);
	ПроверитьРавенство (Картинка.БитНаПиксел, 4);
КонецПроцедуры
