Перем текОптимизация, текПроверкаТипов, текОтладка;

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

Процедура Сетап() Экспорт
	MetaInfoClasses.ПолучитьТекУстановки(текОптимизация, текПроверкаТипов, текОтладка);
КонецПроцедуры

Процедура Сброс() Экспорт
	MetaInfoClasses.УстановитьТекУстановки(текОптимизация, текПроверкаТипов, текОтладка);
КонецПроцедуры

Процедура ВключитьОПроверкуТипов(Режим) Экспорт
	MetaInfoClasses.УстановитьТекУстановки(,Режим ,);
КонецПроцедуры

Функция УправлениеНастройками()
	Возврат СоздатьОбъект("УправлениеНастройками");
КонецФункции

Процедура ПроверитьНастройку(Наименование, Значение)
	ОБ = УправлениеНастройками();
	Флаг = ОБ.Получить(Наименование);
	Сам().ПроверитьРавенство(Флаг, Значение);
КонецПроцедуры	// ПроверитьНастройку

Процедура ТестСоздатьОбъект() Экспорт
	ОБ = УправлениеНастройками();
КонецПроцедуры

Процедура ТестПолучитьОптимизацию() Экспорт
	ВключитьОптимизацию(0);
	ПроверитьНастройку("EnableOptimizate", 0);
	ВключитьОптимизацию(1);
	ПроверитьНастройку("EnableOptimizate", 1);
КонецПроцедуры

Процедура ТестПолучитьПроверкуТипов() Экспорт
	ВключитьОПроверкуТипов(0);
	ПроверитьНастройку("EnabledCheckType", 0);
	ВключитьОПроверкуТипов(1);
	ПроверитьНастройку("EnabledCheckType", 1);
КонецПроцедуры

Процедура ТестПолучитьОтладку() Экспорт
	ВключитьОтладку(0);
	ПроверитьНастройку("EnableDebugging", 0);
	ВключитьОтладку(1);
	ПроверитьНастройку("EnableDebugging", 1);
КонецПроцедуры

Процедура ТестПолучитьРаскраску() Экспорт
Сам().ПропуститьТест();
	ПроверитьНастройку("EnabledColor", 1);
КонецПроцедуры

Процедура ТестПолучитьЧастичнуюРаскраску() Экспорт
Сам().ПропуститьТест();
	ПроверитьНастройку("LocalColor", 0);
КонецПроцедуры

Процедура ТестПолучитьПоказЧасов() Экспорт
Сам().ПропуститьТест();
	ПроверитьНастройку("ShowKeyboardLayout", 1);
КонецПроцедуры

Процедура ТестПолучитьТаблицаИсходнаяТаблица() Экспорт
Сам().ПропуститьТест();
	ПроверитьНастройку("EnableTableSourceTable", 1);
КонецПроцедуры

Процедура ТестПолучитьНесуществующий() Экспорт
	ОБ = УправлениеНастройками();
	Сам().ПроверитьИсключение(ОБ, "Получить", "НесуществующийКлюч");
КонецПроцедуры
