コード例 #1
0
        public void GetConverterForStringTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(string));

            Assert.IsInstanceOfType(converter, typeof(StringConverter));
        }
コード例 #2
0
        public void GetConverterForUInt32Test()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(uint));

            Assert.IsInstanceOfType(converter, typeof(UInt32Converter));
        }
コード例 #3
0
        public void GetConverterForGuidTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(Guid));

            Assert.IsInstanceOfType(converter, typeof(GuidConverter));
        }
コード例 #4
0
        public void GetConverterForUnknownTypeTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(TestUnknownClass));

            Assert.IsInstanceOfType(converter, typeof(DefaultTypeConverter));
        }
コード例 #5
0
        public void GetConverterForDecimalTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(decimal));

            Assert.IsInstanceOfType(converter, typeof(DecimalConverter));
        }
コード例 #6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CsvWriter"/> class.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="configuration">The configuration.</param>
        public CsvWriter(TextWriter writer, CsvConfiguration configuration)
        {
            configuration.Validate();

            this.writer        = writer;
            Configuration      = configuration;
            context            = new CsvContext(this);
            typeConverterCache = context.TypeConverterCache;
            recordManager      = new Lazy <RecordManager>(() => ObjectResolver.Current.Resolve <RecordManager>(this));

            comment                  = configuration.Comment;
            bufferSize               = configuration.BufferSize;
            delimiter                = configuration.Delimiter;
            cultureInfo              = configuration.CultureInfo;
            dynamicPropertySort      = configuration.DynamicPropertySort;
            escapeDelimiterString    = new string(configuration.Delimiter.SelectMany(c => new[] { configuration.Escape, c }).ToArray());
            escapeNewlineString      = new string(configuration.NewLine.SelectMany(c => new[] { configuration.Escape, c }).ToArray());
            escapeQuoteString        = new string(new[] { configuration.Escape, configuration.Quote });
            hasHeaderRecord          = configuration.HasHeaderRecord;
            includePrivateMembers    = configuration.IncludePrivateMembers;
            injectionCharacters      = configuration.InjectionCharacters;
            injectionEscapeCharacter = configuration.InjectionEscapeCharacter;
            leaveOpen                = configuration.LeaveOpen;
            mode                 = configuration.Mode;
            newLine              = configuration.NewLine;
            quote                = configuration.Quote;
            quoteString          = configuration.Quote.ToString();
            sanitizeForInjection = configuration.SanitizeForInjection;
            shouldQuote          = configuration.ShouldQuote;
            trimOptions          = configuration.TrimOptions;

            buffer = new char[bufferSize];
        }
コード例 #7
0
        public void GetConverterForUInt64Test()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(ulong));

            Assert.IsType <UInt64Converter>(converter);
        }
コード例 #8
0
        public void GetConverterForByteArrayTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(byte[]));

            Assert.IsInstanceOfType(converter, typeof(ByteArrayConverter));
        }
コード例 #9
0
        public void GetConverterForSByteTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(sbyte));

            Assert.IsType <SByteConverter>(converter);
        }
コード例 #10
0
        public void GetConverterForStringTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(string));

            Assert.IsType <StringConverter>(converter);
        }
コード例 #11
0
        public void GetConverterForNullableTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(int?));

            Assert.IsType <NullableConverter>(converter);
        }
コード例 #12
0
        public void GetConverterForInt32Test()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(int));

            Assert.IsType <Int32Converter>(converter);
        }
コード例 #13
0
        public void GetConverterForGuidTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(Guid));

            Assert.IsType <GuidConverter>(converter);
        }
コード例 #14
0
        public void TypeConverterCacheTest()
        {
            var cache     = new TypeConverterCache();
            var converter = cache.GetConverter <Uri>();

            Assert.IsInstanceOfType(converter, typeof(UriConverter));
        }
コード例 #15
0
        public void GetConverterForEnumTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(FooEnum));

            Assert.IsType <EnumConverter>(converter);
        }
コード例 #16
0
        public void RemoveConverterForUnknownTypeTest()
        {
            var typeConverterFactory = new TypeConverterCache();

            typeConverterFactory.RemoveConverter <TestUnknownClass>();
            typeConverterFactory.RemoveConverter(typeof(TestUnknownClass));
        }
コード例 #17
0
        public void GetConverterForByteArrayTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(byte[]));

            Assert.IsType <ByteArrayConverter>(converter);
        }
コード例 #18
0
        public void GetConverterForDateTimeTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(DateTime));

            Assert.IsInstanceOfType(converter, typeof(DateTimeConverter));
        }
コード例 #19
0
        public void GetConverterForCharTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(char));

            Assert.IsType <CharConverter>(converter);
        }
コード例 #20
0
ファイル: CsvWriter.cs プロジェクト: netcore-jroger/CsvHelper
        /// <summary>
        /// Initializes a new instance of the <see cref="CsvWriter"/> class.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="configuration">The configuration.</param>
        public CsvWriter(TextWriter writer, CsvConfiguration configuration)
        {
            this.writer        = writer;
            Configuration      = configuration;
            context            = new CsvContext(this);
            typeConverterCache = context.TypeConverterCache;
            recordManager      = new Lazy <RecordManager>(() => ObjectResolver.Current.Resolve <RecordManager>(this));

            comment                  = configuration.Comment;
            bufferSize               = configuration.BufferSize;
            delimiter                = configuration.Delimiter;
            cultureInfo              = configuration.CultureInfo;
            doubleQuoteString        = configuration.DoubleQuoteString;
            dynamicPropertySort      = configuration.DynamicPropertySort;
            hasHeaderRecord          = configuration.HasHeaderRecord;
            includePrivateMembers    = configuration.IncludePrivateMembers;
            injectionCharacters      = configuration.InjectionCharacters;
            injectionEscapeCharacter = configuration.InjectionEscapeCharacter;
            leaveOpen                = configuration.LeaveOpen;
            newLine                  = configuration.NewLine;
            quote                = configuration.Quote;
            quoteString          = configuration.QuoteString;
            sanitizeForInjection = configuration.SanitizeForInjection;
            shouldQuote          = configuration.ShouldQuote;
            trimOptions          = configuration.TrimOptions;

            buffer = new char[bufferSize];
        }
コード例 #21
0
        public void GetConverterForDecimalTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(decimal));

            Assert.IsType <DecimalConverter>(converter);
        }
コード例 #22
0
        public void GetConverterForFloatTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(float));

            Assert.IsInstanceOfType(converter, typeof(SingleConverter));
        }
コード例 #23
0
        public void GetConverterForDoubleTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(double));

            Assert.IsType <DoubleConverter>(converter);
        }
コード例 #24
0
        public void GetConverterForInt64Test()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(long));

            Assert.IsInstanceOfType(converter, typeof(Int64Converter));
        }
コード例 #25
0
        public void GetConverterForFloatTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(float));

            Assert.IsType <SingleConverter>(converter);
        }
コード例 #26
0
        public void GetConverterForNullableTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(int?));

            Assert.IsInstanceOfType(converter, typeof(NullableConverter));
        }
コード例 #27
0
        public void GetConverterForEnumTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter(typeof(FooEnum));

            Assert.IsInstanceOfType(converter, typeof(EnumConverter));
        }
コード例 #28
0
        public void TypeConverterCacheTest()
        {
            var cache     = new TypeConverterCache();
            var converter = cache.GetConverter <Uri>();

            Assert.IsType <UriConverter>(converter);
        }
コード例 #29
0
        public void GetConverter_ConverterRegisteredForEnum_ReturnCustomConverterForAllEnums()
        {
            var typeConverterFactory = new TypeConverterCache();

            typeConverterFactory.AddConverter <Enum>(new TestKnownConverter());
            var fooConverter = typeConverterFactory.GetConverter(typeof(FooEnum));
            var barConverter = typeConverterFactory.GetConverter(typeof(BarEnum));

            Assert.IsType <TestKnownConverter>(fooConverter);
            Assert.IsType <TestKnownConverter>(barConverter);
        }
コード例 #30
0
        public void GetConverterForKnownTypeTest()
        {
            var typeConverterFactory = new TypeConverterCache();
            var converter            = typeConverterFactory.GetConverter <TestKnownClass>();

            Assert.IsType <DefaultTypeConverter>(converter);

            typeConverterFactory.AddConverter <TestKnownClass>(new TestKnownConverter());
            converter = typeConverterFactory.GetConverter <TestKnownClass>();

            Assert.IsType <TestKnownConverter>(converter);
        }