Процедура тестЗагрузить () Экспорт
	Конвертер = СоздатьОбъект ("Йоксель.КонвертерВТаблицуЗначений");
	
	ВсеНормально = 0;
	Попытка
		Таб = Конвертер.Загрузить ();
	Исключение
		ВсеНормально = 1;
	КонецПопытки;
	
	Проверить (ВсеНормально);
	
	Документ = СоздатьОбъект ("ТабличныйДокумент");
	Документ.Открыть (глКаталогФайлов + "CellTypes.xls", 2);
	ПроверитьРавенство (Документ.Область (1, 1).Текст, "Типы данных ячеек");
	
	Конвертер.УстановитьДокумент (Документ);
	Таб = Конвертер.Загрузить ();
	ПроверитьРавенство (ТипЗначенияСтр (Таб), "ТаблицаЗначений");
	
	ПроверитьРавенство (Таб.КоличествоСтрок (), 5);
	ПроверитьРавенство (Таб.КоличествоКолонок (), 2);
	
	ПроверитьРавенство (Таб.ПолучитьЗначение (1, 1), "Типы данных ячеек");
	
	ПроверитьРавенство (Таб.ПолучитьЗначение (3, 1), "Строка");
	Зн = Таб.ПолучитьЗначение (3, 2);
	ПроверитьРавенство (ТипЗначенияСтр (Зн), "Строка");
	ПроверитьРавенство (Зн, "Текст");
	
	ПроверитьРавенство (Таб.ПолучитьЗначение (4, 1), "Дата");
	Зн = Таб.ПолучитьЗначение (4, 2);
	ПроверитьРавенство (ТипЗначенияСтр (Зн), "Дата");
	ПроверитьРавенство (Зн, '01.01.2008');
	
	ПроверитьРавенство (Таб.ПолучитьЗначение (5, 1), "Число");
	Зн = Таб.ПолучитьЗначение (5, 2);
	ПроверитьРавенство (ТипЗначенияСтр (Зн), "Число");
	ПроверитьРавенство (Зн, 45672);
КонецПроцедуры

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

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

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

Процедура ПроверитьСтрокуТаблицы (Таб, НомерСтроки)
	ПроверитьРавенство (Таб.ПолучитьЗначение (НомерСтроки, 1), "значение1");
	ПроверитьРавенство (Таб.ПолучитьЗначение (НомерСтроки, 2), "значение2");
	ПроверитьРавенство (Таб.ПолучитьЗначение (НомерСтроки, 3), "значение3");
КонецПроцедуры

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

Процедура ПроверитьСтруктуруТаблицы (Таб, Поля)
	Поля = СтрЗаменить (Поля, ",", РазделительСтрок);
	КолвоПолей = СтрКоличествоСтрок (Поля);
	
	ПроверитьРавенство (Таб.КоличествоКолонок (), КолвоПолей);
	Для Ч = 1 По КолвоПолей Цикл
		ИД = Таб.ПолучитьПараметрыКолонки (Ч);
		ПроверитьРавенство (ИД, СтрПолучитьСтроку (Поля, Ч));
	КонецЦикла;
КонецПроцедуры

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

Процедура тестЗагрузить_ОпределятьСтруктуру () Экспорт
	Конвертер = СоздатьОбъект ("Йоксель.КонвертерВТаблицуЗначений");
	
	Документ = СоздатьОбъект ("ТабличныйДокумент");
	Документ.Открыть (глКаталогФайлов + "ValueTableConversionStructure.mxl");
	Конвертер.УстановитьДокумент (Документ);
	Конвертер.ОпределятьСтруктуру = 1;
	Конвертер.СтрокДляОпределенияСтруктуры = 10;
	
	Таб = Конвертер.Загрузить ();
	ПроверитьРавенство (ТипЗначенияСтр (Таб), "ТаблицаЗначений");
	ПроверитьРавенство (Таб.КоличествоКолонок (), 4);
	ПроверитьРавенство (Таб.КоличествоСтрок (), 1);
	
	ПроверитьСтруктуруТаблицы (Таб, "Поле1,_12Поле,Тестовое_поле,_Поле2");
	ПроверитьСтрокуТаблицы (Таб, 1);
	
	Конвертер.СтрокДляОпределенияСтруктуры = 6;
	Таб = Конвертер.Загрузить ();
	ПроверитьРавенство (ТипЗначенияСтр (Таб), "ТаблицаЗначений");
	ПроверитьРавенство (Таб.КоличествоКолонок (), 3);
	ПроверитьРавенство (Таб.КоличествоСтрок (), 4);
	
	ПроверитьСтруктуруТаблицы (Таб, "Поле1,_12Поле,Тестовое_поле");
	ПроверитьСтрокуТаблицы (Таб, 4);
	ПроверитьРавенство (Таб.ПолучитьЗначение (2, 1), "Длинная структура:");
КонецПроцедуры

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

Процедура тестЗагрузить_ОпределятьИВалидироватьСтруктуру () Экспорт
	Конвертер = СоздатьОбъект ("Йоксель.КонвертерВТаблицуЗначений");
	
	Документ = СоздатьОбъект ("ТабличныйДокумент");
	Документ.Открыть (глКаталогФайлов + "ValueTableConversionStructureValidation.mxl");
	Конвертер.УстановитьДокумент (Документ);
	Конвертер.ОпределятьСтруктуру = 1;
	Конвертер.СтрокДляОпределенияСтруктуры = 4;
	
	Таб = Конвертер.Загрузить ();
	ПроверитьРавенство (ТипЗначенияСтр (Таб), "ТаблицаЗначений");
	ПроверитьРавенство (Таб.КоличествоКолонок (), 3);
	ПроверитьРавенство (Таб.КоличествоСтрок (), 4);
	
	Конвертер.ПроверятьСтруктуру = 1;
	ВсеНормально = 0;
	Попытка
		Таб = Конвертер.Загрузить ();
	Исключение
		ВсеНормально = 1;
	КонецПопытки;
	
	Проверить (ВсеНормально);
КонецПроцедуры
