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, "Количество используемых типов.");
        }