public void InitializeName(Type moduleType, string moduleName)
        {
            // Arrange
            var ctor = new ModuleModelConstructor();

            // Act
            var module = ctor.Create(moduleType.GetTypeInfo());

            // Assert
            Assert.Equal(moduleName, module.Name);
        }
        public void DetermineValidType(Type moduleType, bool expected)
        {
            // Arrange
            var ctor = new ModuleModelConstructor();

            // Act
            var actual = ctor.IsModule(moduleType.GetTypeInfo());

            // Assert
            Assert.Equal(expected, actual);
        }
        public void InitializeDescription()
        {
            // Arrange
            var ctor       = new ModuleModelConstructor();
            var moduleType = typeof(AttributesModule);

            // Act
            var module = ctor.Create(moduleType.GetTypeInfo());

            // Assert
            Assert.Equal(AttributesModule.ModuleDescription, module.Description);
        }
        public void InitializeType()
        {
            // Arrange
            var ctor       = new ModuleModelConstructor();
            var moduleType = typeof(SignatureModule);

            // Act
            var module = ctor.Create(moduleType.GetTypeInfo());

            // Assert
            Assert.Equal(moduleType, module.Type);
        }
        public void InitializeEmptyCommandsCollection()
        {
            // Arrange
            var ctor       = new ModuleModelConstructor();
            var moduleType = typeof(SignatureModule);

            // Act
            var module = ctor.Create(moduleType.GetTypeInfo());

            // Assert
            Assert.NotNull(module.Commands);
            Assert.Empty(module.Commands);
        }
        public void AcceptValidTypes(Type moduleType, string expectedReason)
        {
            // Arrange
            var ctor = new ModuleModelConstructor();

            // Act, Assert
            var    ex           = Assert.Throws <ArgumentException>(() => ctor.Create(moduleType.GetTypeInfo()));
            string errorMessage = ex.Message;
            int    start        = errorMessage.IndexOf(':') + 2;
            int    length       = errorMessage.IndexOf(Environment.NewLine) - start;
            string actualReason = errorMessage.Substring(start, length);

            Assert.Equal(expectedReason, actualReason);
        }