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, "Количество используемых типов.");
        }
        public void TypeUsageProviderGetCombinedTypeUsageTest()
        {
            TypeUsage typeUsage = new TypeUsage();

            var dataObject = new TypeUsageProviderTestClass();

            var result = typeUsage.GetCombinedTypeUsage(dataObject.GetType(), "DataObjectForTest.Name");

            Assert.Equal("String", result[0].Name);
            Assert.True(1 == result.Length, "Количество используемых типов.");
        }
        public void TypeUsageProviderGetUsageTypesTest1()
        {
            TypeUsage typeUsage = new TypeUsage();

            var dataObject = new TypeUsageProviderTestClass();

            var result = typeUsage.GetUsageTypes(
                dataObject.GetType(),
                Information.ExtractPropertyPath <TypeUsageProviderTestClass>(x => x.CombinedTypesUsageProviderTestClass));

            Assert.Equal("CombinedTypesUsageProviderTestClass", result[0].Name);
            Assert.True(1 == result.Length, "Количество используемых типов.");
        }
        public void TypeUsageProviderGetUsageTypesTest()
        {
            TypeUsage typeUsage = new TypeUsage();

            ICSSoft.STORMNET.DataObject dataObject = new TypeUsageProviderTestClass();

            var result = typeUsage.GetUsageTypes(
                dataObject.GetType(), Information.ExtractPropertyPath <TypeUsageProviderTestClass>(x => x.SomeNotStoredObjectProperty));

            Assert.Equal("String", result[0].Name);
            Assert.Equal("Int32", result[1].Name);
            Assert.True(2 == result.Length, "Количество используемых типов.");
        }