예제 #1
0
        public void TestArgumentCtor_NullArgumentType_TypedReutrnType_ThrowsArgumentNullException()
        {
            // Arrange
            string argumentName = "Argument";
            Type   argType      = null;

            // Act
            SGArgument arg = new SGArgument(argType, argumentName);
        }
예제 #2
0
        public void TestArgumentCtor_NullArgumentName_TypedReturnType_ThrowsArgumentNullException()
        {
            // Arrange
            string argumentName = null;
            Type   argType      = typeof(int);

            // Act
            SGArgument arg = new SGArgument(argType, argumentName);
        }
예제 #3
0
        public void TestArgumentCtor_EmptyArgumentName_ThrowsArgumentException()
        {
            // Arrange
            string argumentName = String.Empty;
            string argTypeName  = "ArgType";

            // Act
            SGArgument arg = new SGArgument(argTypeName, argumentName);
        }
        public void TestAddNullArgument_ThrowsArgumentException()
        {
            // Arrange
            string     methodName = "Method";
            SGArgument arg        = null;

            // Act
            SGMethodSignature method = new SGMethodSignature(methodName).WithArguments(arg);
        }
예제 #5
0
        public void TestArgumentCtor_EmptyArgumentName_TypedReturnType_ThrowsArgumentException()
        {
            // Arrange
            string argumentName = String.Empty;
            Type   argType      = typeof(int);

            // Act
            SGArgument arg = new SGArgument(argType, argumentName);
        }
예제 #6
0
        public void TestArgumentCtor_NullArgumentName_ThrowsArgumentNullException()
        {
            // Arrange
            string argumentName = null;
            string argTypeName  = "ArgType";

            // Act
            SGArgument arg = new SGArgument(argTypeName, argumentName);
        }
예제 #7
0
        public void TestArgumentTypeSetEmpty_FluentAPI_ThrowsArgumentException()
        {
            // Arrange
            string     argumentName   = "Argument";
            string     argTypeName    = "int";
            string     newArgTypeName = String.Empty;
            SGArgument arg            = new SGArgument(argTypeName, argumentName);

            // Act
            arg = arg.WithArgumentTypeName(newArgTypeName);
        }
예제 #8
0
        public void TestArgumentTypeSetEmpty_Property_ThrowsArgumentException()
        {
            // Arrange
            string     argumentName   = "Argument";
            string     argTypeName    = "int";
            string     newArgTypeName = String.Empty;
            SGArgument arg            = new SGArgument(argTypeName, argumentName);

            // Act
            arg.ArgumentTypeName = newArgTypeName;
        }
예제 #9
0
        public void TestArgumentNameSetNull_FluentAPI_ThrowsArgumentNullException()
        {
            // Arrange
            string     argumentName = "Argument";
            string     argTypeName  = "ArgType";
            string     newArgName   = null;
            SGArgument arg          = new SGArgument(argTypeName, argumentName);

            // Act
            arg = arg.WithArgumentName(newArgName);
        }
예제 #10
0
        public void TestArgumentTypeSetNull_FluentAPI_SystemType()
        {
            // Arrange
            string     argumentName = "Argument";
            string     argTypeName  = "int";
            Type       newArgType   = null;
            SGArgument arg          = new SGArgument(argTypeName, argumentName);

            // Act
            arg = arg.WithArgumentTypeName(newArgType);
        }
예제 #11
0
        public void TestArgumentCtor_NameWithSpaces_ReplacedWithUnderscores()
        {
            // Arrange
            string argumentName = "Some Argument Name";
            Type   argType      = typeof(int);

            // Act
            SGArgument arg = new SGArgument(argType, argumentName);

            // Assert
            Assert.AreEqual(argumentName.Replace(" ", "_"), arg.ArgumentName);
        }
예제 #12
0
        public void TestArgumentCtor_TypedReturnType_InitsFields()
        {
            // Arrange
            string argumentName = "Argument";
            Type   argType      = typeof(int);

            // Act
            SGArgument arg = new SGArgument(argType, argumentName);

            // Assert
            Assert.AreEqual(argumentName, arg.ArgumentName);
            Assert.AreEqual(argType.Name, arg.ArgumentTypeName);
        }
예제 #13
0
        public void TestArgumentCtor_InitsFields()
        {
            // Arrange
            string argumentName = "Argument";
            string argTypeName  = "ArgType";

            // Act
            SGArgument arg = new SGArgument(argTypeName, argumentName);

            // Assert
            Assert.AreEqual(argumentName, arg.ArgumentName);
            Assert.AreEqual(argTypeName, arg.ArgumentTypeName);
        }
예제 #14
0
        public void Test_ToString()
        {
            // Arrange
            string     argumentName = "Argument";
            string     argTypeName  = "int";
            SGArgument arg          = new SGArgument(argTypeName, argumentName);

            // Act
            string output = arg.ToString();

            // Assert
            Assert.AreEqual($"{argTypeName} {argumentName}", output);
        }
예제 #15
0
        public void TestAddArguments_FluentAPI()
        {
            // Arrange
            string            methodName = "Method";
            SGArgument        arg1       = new SGArgument("int", "arg1");
            SGArgument        arg2       = new SGArgument("bool", "arg2");
            SGMethodSignature method     = new SGMethodSignature(methodName);

            // Act
            method = method.WithArguments(arg1, arg2);

            // Assert
            Assert.IsTrue(method.Arguments.ContainsAll(arg1, arg2));
        }
예제 #16
0
        public void TestArgumentNameSet()
        {
            // Arrange
            string     argumentName = "Argument";
            string     argTypeName  = "ArgType";
            string     newArgName   = "NewArgumentName";
            SGArgument arg          = new SGArgument(argTypeName, argumentName);

            // Act
            arg.ArgumentName = newArgName;

            // Assert
            Assert.AreEqual(newArgName, arg.ArgumentName);
        }
예제 #17
0
        public void TestArgumentNameSetWithSpaces_FluentAPI_ReplacedWithUnderscores()
        {
            // Arrange
            string     argumentName = "Argument";
            string     argTypeName  = "ArgType";
            string     newArgName   = "New Argument Name";
            SGArgument arg          = new SGArgument(argTypeName, argumentName);

            // Act
            arg = arg.WithArgumentName(newArgName);

            // Assert
            Assert.AreEqual(newArgName.Replace(" ", "_"), arg.ArgumentName);
        }
예제 #18
0
        public void TestArgumentTypeSet_Property()
        {
            // Arrange
            string     argumentName   = "Argument";
            string     argTypeName    = "int";
            string     newArgTypeName = "bool";
            SGArgument arg            = new SGArgument(argTypeName, argumentName);

            // Act
            arg.ArgumentTypeName = newArgTypeName;

            // Assert
            Assert.AreEqual(newArgTypeName, arg.ArgumentTypeName);
        }
예제 #19
0
        public void TestArgumentTypeSet_FluentAPI()
        {
            // Arrange
            string     argumentName   = "Argument";
            string     argTypeName    = "int";
            string     newArgTypeName = "bool";
            SGArgument arg            = new SGArgument(argTypeName, argumentName);

            // Act
            arg = arg.WithArgumentTypeName(newArgTypeName);

            // Assert
            Assert.AreEqual(newArgTypeName, arg.ArgumentTypeName);
        }
예제 #20
0
        public void Test_Defaultvalue_ToString()
        {
            // Arrange
            string     argumentName = "Argument";
            string     argTypeName  = "int";
            string     defaultValue = "3";
            SGArgument arg          = new SGArgument(argTypeName, argumentName, defaultValue);

            // Act
            string output = arg.ToString();

            // Assert
            Assert.AreEqual($"{argTypeName} {argumentName} = {defaultValue}", output);
        }
예제 #21
0
        public void TestArgumentDefaultValueSet_FluentAPI()
        {
            // Arrange
            string     argumentName = "Argument";
            string     argTypeName  = "int";
            string     defaultValue = "3";
            SGArgument arg          = new SGArgument(argTypeName, argumentName);

            // Act
            arg = arg.WithDefaultValue(defaultValue);

            // Assert
            Assert.AreEqual(defaultValue, arg.ArgumentDefaultValue);
        }
예제 #22
0
        public void TestArgumentTypeSet_FluentAPI_SystemType()
        {
            // Arrange
            string     argumentName = "Argument";
            string     argTypeName  = "int";
            Type       newArgType   = typeof(bool);
            SGArgument arg          = new SGArgument(argTypeName, argumentName);

            // Act
            arg = arg.WithArgumentTypeName(newArgType);

            // Assert
            Assert.AreEqual(newArgType.Name, arg.ArgumentTypeName);
        }
예제 #23
0
        public void TestArgumentCtor_DefaultValue_InitsFields()
        {
            // Arrange
            string argumentName = "Argument";
            string argTypeName  = "int";
            string defaultValue = "3";

            // Act
            SGArgument arg = new SGArgument(argTypeName, argumentName, defaultValue);

            // Assert
            Assert.AreEqual(argumentName, arg.ArgumentName);
            Assert.AreEqual(argTypeName, arg.ArgumentTypeName);
            Assert.AreEqual(defaultValue, arg.ArgumentDefaultValue);
        }
예제 #24
0
        public void TestArgumentDefaultValueSet_PropertyInitializer()
        {
            // Arrange
            string argumentName = "Argument";
            string argTypeName  = "int";
            string defaultValue = "3";

            // Act
            SGArgument arg = new SGArgument(argTypeName, argumentName)
            {
                ArgumentDefaultValue = defaultValue
            };

            // Assert
            Assert.AreEqual(defaultValue, arg.ArgumentDefaultValue);
        }
예제 #25
0
        public void TestSetArgumentsNull_EmptyList()
        {
            // Arrange
            string            methodName = "Method";
            SGArgument        arg1       = new SGArgument("int", "arg1");
            SGArgument        arg2       = new SGArgument("bool", "arg2");
            SGMethodSignature method     = new SGMethodSignature(methodName)
            {
                Arguments = { arg1, arg2 }
            };


            // Act
            method.Arguments = null;

            // Assert
            Assert.IsNotNull(method.Arguments);
            Assert.AreEqual(0, method.Arguments.Count);
        }
예제 #26
0
        public void TestAddArguments_PropertyInitializer()
        {
            // Arrange
            string     methodName = "Method";
            SGArgument arg1       = new SGArgument("int", "arg1");
            SGArgument arg2       = new SGArgument("bool", "arg2");

            // Act
            SGMethodSignature method = new SGMethodSignature(methodName)
            {
                Arguments =
                {
                    arg1,
                    arg2
                }
            };

            // Assert
            Assert.IsTrue(method.Arguments.ContainsAll(arg1, arg2));
        }