
Функция Конт(Конт) Возврат Конт; КонецФункции //:Контекст
Функция Сам() Возврат Конт(Контекст); КонецФункции

Функция МетаИнфо() Возврат СоздатьОбъект("MetaInfoClasses"); КонецФункции // : MetaInfoClasses

Процедура ТестПолучитьИменаБазовыхКлассов1() Экспорт
	//СписокБазовыхКлассов =  // : СписокЗначений
	СписокБазовыхКлассов = МетаИнфо().ПолучитьИменаБазовыхКлассов("ООПТесты");
	Сам().ПроверитьРавенство(СписокБазовыхКлассов.РазмерСписка(), 1);
	
	Сам().ПроверитьРавенство(СписокБазовыхКлассов.ПолучитьЗначение(1), "ТестовыйСлучайФормы");  

КонецПроцедуры	// ТестПолучитьИменаБазовыхКлассов

Процедура ТестПолучитьИменаБазовыхКлассов() Экспорт
	//СписокБазовыхКлассов =  // : СписокЗначений
	СписокБазовыхКлассов = МетаИнфо().ПолучитьИменаБазовыхКлассов("ТестовыйСлучайФормы");
	Сам().ПроверитьРавенство(СписокБазовыхКлассов.РазмерСписка(), 2);
	
	Сам().ПроверитьРавенство(СписокБазовыхКлассов.ПолучитьЗначение(1), "ТестовыйСлучайСДанными");  
	Сам().ПроверитьРавенство(СписокБазовыхКлассов.ПолучитьЗначение(2), "ДелегатФормы");  

КонецПроцедуры	// ТестПолучитьИменаБазовыхКлассов

Процедура ТестЯвляетсяОбъектом() Экспорт
	МетаИнфо = МетаИнфо();
	//Объект = СоздатьОбъект("ООПТесты"); // множественное наследование
	
	//Сам().ПроверитьИсключение(МетаИнфо, "ЯвляетсяОбъектом", "ООПТесты", ""); //Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ООПТесты", ""),0);  
	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ООПТесты", ""),0);
	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("", "ООПТесты"),0);

	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ООПТесты", "ООПТесты"),1);

	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ООПТесты", "ооптЕСТЫ"),1);
	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ооптЕСТЫ", "ООПТесты"),1);

	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ООПТесты", "ТестовыйСлучайСДанными"),1);
	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ООПТесты", "ТестовыйСлучай"),1);
	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ООПТесты", "тЕСТОВЫЙсЛУЧАЙ"),1);

	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ООПТесты", "ВыполняемыйМодуль"),1);
	
	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ООПТесты", "ТестовыйСлучай1"),0);
КонецПроцедуры	// ТестЯвляетсяОбъектом


Процедура ТестЯвляетсяОбъектом2() Экспорт
	МетаИнфо = МетаИнфо();
	Объект = СоздатьОбъект("ТестовыйСлучайФормы"); // множественное наследование
	
	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ТестовыйСлучайФормы", "ТестовыйСлучай"),1);  

	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ТестовыйСлучайФормы", "ДелегатФормы"),1);

	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ТестовыйСлучайФормы", "ВыполняемыйМодуль"),1);
	
	Сам().ПроверитьРавенство(МетаИнфо.ЯвляетсяОбъектом("ТестовыйСлучайФормы", "ТестовыйСлучай1"),0);
КонецПроцедуры	// ТестЯвляетсяОбъектом
                     
//// баг 2215 http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2215
//Процедура Тест_ПолучитьВерсию() Экспорт
//	Версия = МетаИнфо().ПолучитьВерсию();
//	
//	Сам().ПроверитьРавенство(СтрДлина(Версия), 4);
//	Сам().ПроверитьБольшеИлиРавно(Версия, 2010);
//КонецПроцедуры	// Тест_ПолучитьВерсию
//
//// баг 2215 http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2215
//Процедура Тест_ПолучитьВерсию2() Экспорт
//	Строка1 = "";
//	Версия = МетаИнфо().ПолучитьВерсию(Строка1);
//	
//	Сам().ПроверитьРавенство(СтрДлина(Версия), 4);
//	Сам().ПроверитьБольшеИлиРавно(Версия, 2010);
//КонецПроцедуры	// Тест_ПолучитьВерсию

Процедура Тест_ПолучитьВерсиюФайла() Экспорт
	СтрВерсия = МетаИнфо().ПолучитьВерсиюФайла(, "FileVersion");
	Сам().ПроверитьНеравенство(СтрДлина(СтрВерсия), 0);

	СтрТолькоВерсия = СтрВерсия;
	СтрТолькоВерсия = СтрЗаменить(СтрВерсия, " ", "");
	нДлинаВерсии = СтрДлина("2, 0, 2, 0");
	СтрТолькоВерсия = Лев(СтрТолькоВерсия, нДлинаВерсии);
	Сам().ПроверитьНеравенство(Найти(СтрТолькоВерсия, ","), 0);
	//Сам().ПроверитьНеравенство(Найти(СтрТолькоВерсия, "."), 0);

	Версия = Число(СтрЗаменить(СтрЗаменить(СтрТолькоВерсия, ".", ""), ",", ""));
	
	Сам().ПроверитьРавенство(СтрДлина(Версия), 4);
	Сам().ПроверитьБольшеИлиРавно(Версия, 2020);
КонецПроцедуры	// Тест_ПолучитьВерсию

Процедура Тест_ПолучитьВерсиюФайла2() Экспорт
	СтрВерсия = МетаИнфо().ПолучитьВерсиюФайла();
	Сам().ПроверитьНеравенство(СтрДлина(СтрВерсия), 0);

	СтрТолькоВерсия = СтрВерсия;
	СтрТолькоВерсия = СтрЗаменить(СтрВерсия, " ", "");
	нДлинаВерсии = СтрДлина("2, 0, 2, 0");
	СтрТолькоВерсия = Лев(СтрТолькоВерсия, нДлинаВерсии);
	Сам().ПроверитьНеравенство(Найти(СтрТолькоВерсия, ","), 0);
	//Сам().ПроверитьНеравенство(Найти(СтрТолькоВерсия, "."), 0);

	Версия = Число(СтрЗаменить(СтрЗаменить(СтрТолькоВерсия, ".", ""), ",", ""));
	
	Сам().ПроверитьРавенство(СтрДлина(Версия), 4);
	Сам().ПроверитьБольшеИлиРавно(Версия, 2010);
КонецПроцедуры	// Тест_ПолучитьВерсию

Процедура Тест_ПолучитьВерсиюФайла_BkEnd_dll() Экспорт
	СтрВерсия = МетаИнфо().ПолучитьВерсиюФайла(КаталогПрограммы()+"BkEnd.dll");
	Сам().ПроверитьНеравенство(СтрДлина(СтрВерсия), 0);

	нДлинаВерсии = СтрДлина("7.70.0");
	Сам().ПроверитьРавенство(Найти(СтрВерсия, "7.70.0"), 1);
	СтрРелиз1С = Сред(СтрВерсия, нДлинаВерсии+1);

	Релиз1С = Число(СтрРелиз1С);
	
	Сам().ПроверитьРавенство(СтрДлина(Релиз1С), 2);
	Сам().ПроверитьБольшеИлиРавно(Релиз1С, 17);
КонецПроцедуры	// Тест_ПолучитьВерсию

Процедура Тест_ПолучитьВерсиюФайла_НеверноеПоле() Экспорт
	СтрВерсия = МетаИнфо().ПолучитьВерсиюФайла(КаталогПрограммы()+"BkEnd.dll", "НеизвестноеПоле");
	Сам().ПроверитьРавенство(СтрДлина(СтрВерсия), 0);
КонецПроцедуры	// Тест_ПолучитьВерсию

Процедура Тест_ПолучитьВерсиюФайла_НеверныйФайл() Экспорт
	Сам().ПроверитьИсключение(МетаИнфо(), "ПолучитьВерсиюФайла", "___НесуществующийФайл____598", "НеизвестноеПоле"); //СтрВерсия = МетаИнфо().ПолучитьВерсиюФайла("___НесуществующийФайл____598", "НеизвестноеПоле");
КонецПроцедуры	// Тест_ПолучитьВерсию

Процедура Тест_ПолучитьВерсиюФайла_PrivateBuild() Экспорт
	СтрВерсия = МетаИнфо().ПолучитьВерсиюФайла(, "PrivateBuild");
	Сам().ПроверитьРавенство(СтрДлина(СтрВерсия), 0);

КонецПроцедуры	// Тест_ПолучитьВерсию

Процедура Тест_ПолучитьВерсиюФайла_SpecialBuild() Экспорт
	СтрВерсия = МетаИнфо().ПолучитьВерсиюФайла(, "SpecialBuild");
	Сам().ПроверитьРавенство(СтрДлина(СтрВерсия), 0);

КонецПроцедуры	// Тест_ПолучитьВерсию
