public void LoadConfiguration_ShouldLoadCorrectIEnumerableOfNullableComplexType()
        {
            var config = new ListOfComplexDataNullableConfiguration()
            {
                TestConfigurations = new List <NullableConfiguration>()
                {
                    new NullableConfiguration
                    {
                        TestNullableChar = 'x',
                        TestNullableEnum = TestEnum.Five,
                        TestNullableInt  = null,
                        TestNullableUint = 10,
                    },
                    new NullableConfiguration
                    {
                        TestNullableChar = 'y',
                        TestNullableEnum = TestEnum.Three,
                        TestNullableInt  = 100,
                        TestNullableUint = null,
                    },
                }
            };

            _iniParser.Read($"{nameof(NullableConfiguration)}_0", null).Returns("notEmpty");
            _iniParser.Read($"{nameof(NullableConfiguration)}_0", nameof(NullableConfiguration.TestNullableChar)).Returns("x");
            _iniParser.Read($"{nameof(NullableConfiguration)}_0", nameof(NullableConfiguration.TestNullableEnum)).Returns("5");
            _iniParser.Read($"{nameof(NullableConfiguration)}_0", nameof(NullableConfiguration.TestNullableInt)).Returns("");
            _iniParser.Read($"{nameof(NullableConfiguration)}_0", nameof(NullableConfiguration.TestNullableUint)).Returns("10");

            _iniParser.Read($"{nameof(NullableConfiguration)}_1", null).Returns("notEmpty");
            _iniParser.Read($"{nameof(NullableConfiguration)}_1", nameof(NullableConfiguration.TestNullableChar)).Returns("y");
            _iniParser.Read($"{nameof(NullableConfiguration)}_1", nameof(NullableConfiguration.TestNullableEnum)).Returns("3");
            _iniParser.Read($"{nameof(NullableConfiguration)}_1", nameof(NullableConfiguration.TestNullableInt)).Returns("100");
            _iniParser.Read($"{nameof(NullableConfiguration)}_1", nameof(NullableConfiguration.TestNullableUint)).Returns("");

            var result = _iniWrapper.LoadConfiguration <ListOfComplexDataNullableConfiguration>();

            result.Should().BeEquivalentTo(config);
        }
Example #2
0
        public void SaveConfiguration_ShouldSaveListOfComplexType_NullableTypes()
        {
            var config = new ListOfComplexDataNullableConfiguration()
            {
                TestConfigurations = new List <NullableConfiguration>()
                {
                    new NullableConfiguration
                    {
                        TestNullableChar = 'x',
                        TestNullableEnum = TestEnum.Five,
                        TestNullableInt  = null,
                        TestNullableUint = 10,
                    },
                    null,
                    new NullableConfiguration
                    {
                        TestNullableChar = 'y',
                        TestNullableEnum = TestEnum.Three,
                        TestNullableInt  = 100,
                        TestNullableUint = null,
                    },
                    null
                }
            };

            _iniWrapper.SaveConfiguration(config);

            _iniParser.Received(1).Write($"{nameof(NullableConfiguration)}_0", nameof(NullableConfiguration.TestNullableChar), "x");
            _iniParser.Received(1).Write($"{nameof(NullableConfiguration)}_0", nameof(NullableConfiguration.TestNullableEnum), "5");
            _iniParser.Received(1).Write($"{nameof(NullableConfiguration)}_0", nameof(NullableConfiguration.TestNullableUint), "10");
            _iniParser.Received(1).Write($"{nameof(NullableConfiguration)}_0", nameof(NullableConfiguration.TestNullableInt), string.Empty);

            _iniParser.Received(1).Write($"{nameof(NullableConfiguration)}_1", nameof(NullableConfiguration.TestNullableChar), "y");
            _iniParser.Received(1).Write($"{nameof(NullableConfiguration)}_1", nameof(NullableConfiguration.TestNullableEnum), "3");
            _iniParser.Received(1).Write($"{nameof(NullableConfiguration)}_1", nameof(NullableConfiguration.TestNullableInt), "100");
            _iniParser.Received(1).Write($"{nameof(NullableConfiguration)}_1", nameof(NullableConfiguration.TestNullableUint), string.Empty);

            _iniParser.Received(8).Write(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>());
        }