コード例 #1
0
ファイル: TreePresenter.cs プロジェクト: danielgerlag/TestFx
        public string Present(string suiteAttributeType, [CanBeNull] IClass clazz)
        {
            var subjectAttributeData = clazz?.GetAttributeData(suiteAttributeType);

            if (subjectAttributeData == null)
            {
                return(null);
            }

            var subjectAttribute = subjectAttributeData.ToCommon();

            var subjectAttributeConstructor = subjectAttributeData.Constructor.NotNull();
            var displayFormatAttribute      = subjectAttributeConstructor.GetAttributeData <DisplayFormatAttribute>().NotNull().ToCommon();

            return(_introspectionPresenter.Present(displayFormatAttribute, clazz.ToCommon(), subjectAttribute));
        }
コード例 #2
0
        public string Present(IClassDeclaration classDeclaration)
        {
            var clazz = (IClass)classDeclaration.DeclaredElement;

            var subjectAttributeData = clazz.GetAttributeData <SuiteAttributeBase>();

            if (subjectAttributeData == null)
            {
                return(null);
            }

            var subjectAttribute = subjectAttributeData.ToCommon();

            var subjectAttributeConstructor = subjectAttributeData.Constructor;
            var displayFormatAttribute      = subjectAttributeConstructor.GetAttributeData <DisplayFormatAttribute>().ToCommon();

            return(_introspectionPresenter.Present(displayFormatAttribute, clazz.ToCommon(), subjectAttribute));
        }
コード例 #3
0
ファイル: TreePresenter.cs プロジェクト: gravypower/TestFx
        public string Present(IClassDeclaration classDeclaration)
        {
            var clazz = (IClass)classDeclaration.DeclaredElement;

            var subjectAttributeData = clazz.GetAttributeData <SubjectAttributeBase>();

            if (subjectAttributeData == null)
            {
                return(null);
            }

            var subjectAttribute            = subjectAttributeData.ToCommon();
            var subjectAttributeClass       = subjectAttributeData.GetAttributeType().GetTypeElement <IClass>().AssertNotNull();
            var subjectAttributeConstructor = subjectAttributeClass.Constructors.Single();
            var displayFormatAttribute      = subjectAttributeConstructor.GetAttributeData <DisplayFormatAttribute>().ToCommon();

            return(_introspectionPresenter.Present(displayFormatAttribute, subjectAttribute));
        }
コード例 #4
0
ファイル: TestLoaderBase.cs プロジェクト: danielgerlag/TestFx
        protected virtual string GetText(Type suiteType)
        {
            var subjectAttribute       = GetDisplayAttribute(suiteType);
            var displayFormatAttribute = subjectAttribute?.Constructor.GetAttributeData <DisplayFormatAttribute>().NotNull();

            if (displayFormatAttribute == null)
            {
                return(null);
            }

            return(_introspectionPresenter.Present(displayFormatAttribute.ToCommon(), suiteType.ToCommon(), subjectAttribute.ToCommon()));
        }
コード例 #5
0
ファイル: TypeLoader.cs プロジェクト: gravypower/TestFx
        public ISuiteProvider Load(Type suiteType, ICollection <TypedLazy <ILazyBootstrap> > assemblySetups, IIdentity assemblyIdentity)
        {
            var uninitializedSuite = (TSuiteType)FormatterServices.GetUninitializedObject(suiteType);

            var subjectAttribute       = suiteType.GetAttributeData <SubjectAttributeBase>();
            var displayFormatAttribute = subjectAttribute.Constructor.GetAttributeData <DisplayFormatAttribute>();

            var text     = _introspectionPresenter.Present(displayFormatAttribute.ToCommon(), subjectAttribute.ToCommon());
            var identity = assemblyIdentity.CreateChildIdentity(suiteType.FullName);
            var provider = SuiteProvider.Create(identity, text, ignored: false);

            InitializeAssemblySetupFields(uninitializedSuite, assemblySetups.ToList());
            InitializeTypeSpecificFields(uninitializedSuite, provider);

            InvokeConstructor(uninitializedSuite);

            return(provider);
        }
コード例 #6
0
ファイル: TypeLoaderBase.cs プロジェクト: igor-toporet/TestFx
        public ISuiteProvider Load(Type suiteType, IDictionary <Type, Lazy <IAssemblySetup> > assemblySetups, IIdentity assemblyIdentity)
        {
            var uninitializedSuite = FormatterServices.GetUninitializedObject(suiteType);

            var subjectAttribute       = suiteType.GetAttributeData <SuiteAttributeBase>();
            var displayFormatAttribute = subjectAttribute.Constructor.GetAttributeData <DisplayFormatAttribute>();

            var text      = _introspectionPresenter.Present(displayFormatAttribute.ToCommon(), suiteType.ToCommon(), subjectAttribute.ToCommon());
            var identity  = assemblyIdentity.CreateChildIdentity(suiteType.FullName);
            var resources = suiteType.GetAttribute <ResourcesAttribute>().GetValueOrDefault(x => x.Resources, () => new string[0]);
            var provider  = SuiteProvider.Create(identity, text, ignored: false, resources: resources);

            InitializeAssemblySetupFields(uninitializedSuite, assemblySetups);
            InitializeTypeSpecificFields(uninitializedSuite, provider);

            InvokeConstructor(uninitializedSuite);

            return(provider);
        }