public void TypeUsageProviderSetAndAddUseTypesTest() { TypeUsage typeUsage = new TypeUsage(); var dataObject = new TypeUsageProviderTestClass(); string propertyName = Information.ExtractPropertyPath <TypeUsageProviderTestClass>(x => x.SomeNotStoredObjectProperty); // Получение используемых типов. var result = typeUsage.GetUsageTypes(dataObject.GetType(), propertyName); Assert.True(2 == result.Length, "Количество используемых типов."); // Установка новых используемых типов. typeUsage.SetUsageTypes(dataObject.GetType(), propertyName, new Type[] { typeof(Boolean) }); result = typeUsage.GetUsageTypes(dataObject.GetType(), propertyName); Assert.Equal("Boolean", result[0].Name); Assert.True(1 == result.Length, "Количество используемых типов."); // Добавление используемого типа. typeUsage.AddUsageTypes(dataObject.GetType(), propertyName, new Type[] { typeof(Char) }); result = typeUsage.GetUsageTypes(dataObject.GetType(), propertyName); Assert.Equal("Boolean", result[0].Name); Assert.Equal("Char", result[1].Name); Assert.True(2 == result.Length, "Количество используемых типов."); }