public void SetDefaultValueNull()
        {
            // arrange
            var descriptor = new ArgumentDescriptor(Context, "args");

            // act
            descriptor.DefaultValue(null);

            // assert
            ArgumentDefinition description = descriptor.CreateDefinition();

            Assert.Equal(NullValueNode.Default, description.DefaultValue);
            Assert.Null(description.NativeDefaultValue);
        }
        public void OverwriteDefaultValueLiteralWithNativeDefaultValue()
        {
            // arrange
            var descriptor = new ArgumentDescriptor(Context, "args");

            // act
            descriptor
            .DefaultValue(new StringValueNode("123"))
            .DefaultValue("string");

            // assert
            ArgumentDefinition description = descriptor.CreateDefinition();

            Assert.Null(description.DefaultValue);
            Assert.Equal("string", description.NativeDefaultValue);
        }
        public void SetDefaultValueAndInferType()
        {
            // arrange
            var descriptor = new ArgumentDescriptor(Context, "args");

            // act
            descriptor.DefaultValue("string");

            // assert
            ArgumentDefinition description = descriptor.CreateDefinition();

            Assert.Equal(typeof(string),
                         Assert.IsType <ExtendedTypeReference>(description.Type).Type.Source);
            Assert.Equal("string",
                         description.NativeDefaultValue);
        }
        public void SettingTheNativeDefaultValueToNullCreatesNullLiteral()
        {
            // arrange
            var descriptor = new ArgumentDescriptor(Context, "args");

            // act
            descriptor
            .DefaultValue(new StringValueNode("123"))
            .DefaultValue("string")
            .DefaultValue(null);

            // assert
            ArgumentDefinition description = descriptor.CreateDefinition();

            Assert.IsType <NullValueNode>(description.DefaultValue);
            Assert.Null(description.NativeDefaultValue);
        }
Esempio n. 5
0
        public void OverwriteNativeDefaultValueWithDefaultValueLiteral()
        {
            // arrange
            var descriptor = new ArgumentDescriptor(Context, "args");

            // act
            descriptor
            .DefaultValue("string")
            .DefaultValue(new StringValueNode("123"));

            // assert
            ArgumentDefinition description = descriptor.CreateDefinition();

            Assert.IsType <StringValueNode>(description.DefaultValue);
            Assert.Equal("123", ((StringValueNode)description.DefaultValue).Value);
            Assert.Null(description.RuntimeDefaultValue);
        }