Exemplo n.º 1
0
        public void Load_AssemblyNameSet(Type type)
        {
            var  typeName1 = new TypeShortName(type);
            Type actual    = typeName1.Load();

            actual.Should().Be(type);

            var typeName2 = new TypeShortName(typeName1.ToString());

            actual = typeName2.Load();
            actual.Should().Be(type);
        }
Exemplo n.º 2
0
        public void Load_AssemblyNameProvided(Type type)
        {
            var  typeName1 = new TypeShortName(type);
            Type actual    = typeName1.Load(type.Assembly);

            actual.Should().Be(type);

            var typeName2 = new TypeShortName(typeName1.ToString(false));

            actual = typeName2.Load(type.Assembly);
            actual.Should().Be(type);
        }
        /// <inheritdoc/>
        public override TaskOrchestration Create(TypeShortName typeName)
        {
            if (_descriptor.Type?.IsGenericTypeDefinition != true)
            {
                throw new InvalidOperationException("This is not a generic type definition creator.");
            }

            Type closedType = typeName.Load(_descriptor.Type.Assembly);

            Check.Argument(closedType.IsConstructedGenericType, nameof(closedType), "Type must be closed");

            return(new WrapperOrchestration(new TaskOrchestrationDescriptor(closedType)));
        }