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 TypeUsageProviderGetCombinedTypeUsage1Test()
        {
            var typeUsage = new TypeUsage();

            var dataObject = new CombinedTypesUsageProviderTestClass();

            /*
             * У типа CombinedTypesUsageProviderTestClass на свойство TypeUsageProviderTestClass
             * через TypeUsage завязано 2 типа:
             * "NewPlatform.Flexberry.ORM.Tests.TypeUsageProviderTestClass" и "NewPlatform.Flexberry.ORM.Tests.TypeUsageProviderTestClassChildClass".
             * У каждого типа есть свойство "SomeNotStoredObjectProperty".
             * У первого типа через TypeUsage на данное свойство повешены типы String и Int32,
             * у второго - ничего, поэтому берётся исходный тип свойства Object.
             */
            var result = typeUsage.GetCombinedTypeUsage(
                dataObject.GetType(),
                Information.ExtractPropertyPath <CombinedTypesUsageProviderTestClass>(x => x.TypeUsageProviderTestClass.SomeNotStoredObjectProperty));

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