コード例 #1
0
        public void Test_Serialize_SingleFieldType()
        {
            ExampleSingleFieldConfig configInstance = new ExampleSingleFieldConfig
            {
                firstField = new ExampleSingleFieldConfig.SingleFieldType1 {
                    secondField = new ExampleSingleFieldConfig.SingleFieldType2 {
                        a = 1, b = 2
                    }
                }
            };
            const string         expectedResult = @"
- a = 1
- b = 2
";
            IEnumerable <string> lines          = new ConfigSerializer(
                new ConfigOptions {
                keyFormatOption   = EFormatOption.QuoteValue,
                valueFormatOption = EFormatOption.QuoteValue
            }).Serialize(configInstance);

            Assert.AreEqual(expectedResult.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries), lines.ToArray());
        }
        public void Test_Deserialize_SingleFieldType()
        {
            ExampleSingleFieldConfig expectedConfig = new ExampleSingleFieldConfig
            {
                firstField = new ExampleSingleFieldConfig.SingleFieldType1 {
                    secondField = new ExampleSingleFieldConfig.SingleFieldType2 {
                        a = 1, b = 2
                    }
                }
            };
            const string configString = @"
- a = 1
- b = 2
";

            ConfigDeserializer <ExampleSingleFieldConfig> configDeserializer = new ConfigDeserializer <ExampleSingleFieldConfig>(
                DeserializerUtils.Tokenize(new LineReader(new StringReader(configString))).ToList(),
                new ConfigOptions()
                );
            ExampleSingleFieldConfig deserializeResult = configDeserializer.Deserialize();

            Assert.AreEqual(expectedConfig, deserializeResult);
        }
        public void Test_Deserialize_ExistingSingleFieldType()
        {
            ExampleSingleFieldConfig targetInstance = new ExampleSingleFieldConfig
            {
                firstField = new ExampleSingleFieldConfig.SingleFieldType1 {
                    secondField = new ExampleSingleFieldConfig.SingleFieldType2 {
                        a = 1, b = 2
                    }
                }
            };
            const string configString = @"
- a = 3
- b = 4
";
            ConfigDeserializer <ExampleSingleFieldConfig> configDeserializer = new ConfigDeserializer <ExampleSingleFieldConfig>(
                DeserializerUtils.Tokenize(new LineReader(new StringReader(configString))).ToList(),
                new ConfigOptions()
                );

            configDeserializer.Deserialize(targetInstance);

            Assert.AreEqual(3, targetInstance.firstField.secondField.a);
            Assert.AreEqual(4, targetInstance.firstField.secondField.b);
        }