AsciiImportExport.Tests.StatesAndTerritoriesTests.GetDefinition C# (CSharp) Метод

GetDefinition() приватный Метод

private GetDefinition ( ) : IDocumentFormatDefinition
Результат IDocumentFormatDefinition
        private IDocumentFormatDefinition<State> GetDefinition()
        {
            // Possible Values are:
            // Empty              the state is not a member of the EU, leave property EU_MEMBER null
            // 'N'                the state is not a member of the EU, so leave the property Year empty
            // 'J, seit yyyy'     the state is a member of the EU, so set property Year accordingly
            IDocumentFormatDefinition<State.MemberOfEU> memberOfEuColumnDefinition = new DocumentFormatDefinitionBuilder<State.MemberOfEU>(",", false)
                .SetLineEndsWithColumnSeparator(false)
                .AddColumn(x => x.IsMember, "J", "N")
                .AddColumn(x => x.Year, builder => builder
                                                       .SetImportFunc(s =>
                                                                          {
                                                                              string year = s.Substring(5);
                                                                              return Int32.Parse(year);
                                                                          })
                                                       .SetExportFunc((x,i) => i.HasValue ? " seit " + i.Value : ""))
                .Build();

            IDocumentFormatDefinition<State> definition = new DocumentFormatDefinitionBuilder<State>(";", false)
                .SetInstantiator(() => new State())
                .SetExportHeaderLine(true)
                .AddColumn(x => x.ISO_NUM)
                .AddColumn(x => x.ISO_2)
                .AddColumn(x => x.ISO_3)
                .AddColumn(x => x.NAME_GER)
                .AddColumn(x => x.NAME_GER_OFF)
                .AddColumn(x => x.NAME_ENG)
                .AddColumn(x => x.NAME_ENG_OFF)
                .AddColumn(x => x.STATUS)
                .AddColumn(x => x.ASSOCIATED)
                .AddColumn(x => x.DOCUMENT)
                .AddColumn(x => x.EU_MEMBER, builder => builder
                    .SetImportFunc(s => memberOfEuColumnDefinition.Import(new StringReader(s)).Single())
                    .SetExportFunc((item, m) => memberOfEuColumnDefinition.Export(new [] { m }).TrimEnd(',')))
                .AddColumn(x => x.PART_OF_EU, "J", "N")
                .AddColumn(x => x.CONTINENT)
                .AddColumn(x => x.PREFIX)
                .AddColumn(x => x.TLD)
                .AddColumn(x => x.CAR_PLATE)
                .AddColumn(x => x.DATE_OF_FORMATION)
                .AddColumn(x => x.DATE_OF_RESOLUTION)
                .AddColumn(x => x.EXIST_ADD)
                .Build();

            return definition;
        }