public void VariableDefFromSimpleValueExceptionTest() { var exception = Xunit.Record.Exception(() => { object testData = new string[] { "UnknownType", "TestStirngView", "TestObjectCaption" }; SQLWhereLanguageDef langDef = SQLWhereLanguageDef.LanguageDef; VariableDef variableDef = new VariableDef(); variableDef.FromSimpleValue(testData, langDef); }); Assert.IsType(typeof(Exception), exception); }
/// <summary> /// Проверка логики для VariableDefFromSimpleValueTest. /// </summary> /// <param name="objType"> /// Проверяемый тип. /// </param> /// <returns> /// Возвращает true если тест прошел. /// </returns> private bool VariableDefFromSimpleValue(string objType) { bool result = false; object testData = new string[] { objType, "TestStirngView", "TestObjectCaption" }; SQLWhereLanguageDef langDef = SQLWhereLanguageDef.LanguageDef; VariableDef variableDef = new VariableDef(); variableDef.FromSimpleValue(testData, langDef); string findType = String.Empty; switch (objType) { case "": findType = "String"; break; // различная обработка NumericType в методах ToSimpleValue() сериализуем в "Numeric" // а в методе FromSimpleValue() десериализуем в "Decimal" (инф добавил в отчет). case "Numeric": findType = "Decimal"; break; // Различие десериализации в FromSimpleValue() "KeyGuid" -> "Guid" и // "keyguid" -> "KeyGuid". В одном методе два оператора switch (инф добавил в отчет). case "KeyGuid": findType = "Guid"; break; default: findType = objType.Split('.').Last(); break; } var findAddType = langDef.Types.Cast <ObjectType>() .FirstOrDefault(i => i.NetCompatibilityType.Name == findType); if (findAddType != null) { result = true; } return(result); }