diff options
Diffstat (limited to 'ThirdParty/CsvHelper-master/tests/CsvHelper.Tests/CsvClassMappingAutoMapTests.cs')
-rw-r--r-- | ThirdParty/CsvHelper-master/tests/CsvHelper.Tests/CsvClassMappingAutoMapTests.cs | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/ThirdParty/CsvHelper-master/tests/CsvHelper.Tests/CsvClassMappingAutoMapTests.cs b/ThirdParty/CsvHelper-master/tests/CsvHelper.Tests/CsvClassMappingAutoMapTests.cs new file mode 100644 index 0000000..610a288 --- /dev/null +++ b/ThirdParty/CsvHelper-master/tests/CsvHelper.Tests/CsvClassMappingAutoMapTests.cs @@ -0,0 +1,61 @@ +// Copyright 2009-2022 Josh Close +// This file is a part of CsvHelper and is dual licensed under MS-PL and Apache 2.0. +// See LICENSE.txt for details or visit http://www.opensource.org/licenses/ms-pl.html for MS-PL and http://opensource.org/licenses/Apache-2.0 for Apache 2.0. +// https://github.com/JoshClose/CsvHelper +using Xunit; +using CsvHelper.Configuration; +using System.Globalization; + +namespace CsvHelper.Tests +{ + + public class CsvClassMappingAutoMapTests + { + [Fact] + public void Test() + { + var aMap = new AMap(); + + Assert.Equal(3, aMap.MemberMaps.Count); + Assert.Equal(0, aMap.MemberMaps[0].Data.Index); + Assert.Equal(1, aMap.MemberMaps[1].Data.Index); + Assert.Equal(2, aMap.MemberMaps[2].Data.Index); + Assert.True(aMap.MemberMaps[2].Data.Ignore); + + Assert.Single(aMap.ReferenceMaps); + } + + private class A + { + public int One { get; set; } + + public int Two { get; set; } + + public int Three { get; set; } + + public B B { get; set; } + } + + private class B + { + public int Four { get; set; } + + public int Five { get; set; } + + public int Six { get; set; } + } + + private sealed class AMap : ClassMap<A> + { + public AMap() + { + AutoMap(CultureInfo.InvariantCulture); + Map(m => m.Three).Ignore(); + } + } + + private sealed class BMap : ClassMap<B> + { + } + } +} |