public void AutoMap_WithCultureInfoAttributes_ConfiguresParameterMaps()
        {
            var context = new CsvContext(new CsvConfiguration(CultureInfo.InvariantCulture));
            var map     = context.AutoMap <Foo>();

            Assert.Equal(2, map.ParameterMaps.Count);
            Assert.Null(map.ParameterMaps[0].Data.TypeConverterOptions.Formats);
            Assert.Single(map.ParameterMaps[1].Data.TypeConverterOptions.Formats);
            Assert.Equal(FORMAT, map.ParameterMaps[1].Data.TypeConverterOptions.Formats[0]);
        }
        public void AutoMapWithDefaultConstructor()
        {
            var      config  = new CsvHelper.Configuration.CsvConfiguration(CultureInfo.InvariantCulture);
            var      context = new CsvContext(config);
            ClassMap map     = context.AutoMap <SimpleReferenceHasNoDefaultConstructor>();

            Assert.AreEqual("Id", map.MemberMaps[0].Data.Names[0]);
            Assert.AreEqual("Name", map.ReferenceMaps[0].Data.Mapping.MemberMaps[0].Data.Names[0]);
            Assert.AreEqual("name", map.ReferenceMaps[0].Data.Mapping.ParameterMaps[0].Data.Names[0]);
        }
Example #3
0
        public void AutoMap_WithBooleanFalseValuesAttribute_CreatesParameterMaps()
        {
            var context = new CsvContext(new CsvConfiguration(CultureInfo.InvariantCulture));
            var map     = context.AutoMap <Foo>();

            Assert.Equal(2, map.ParameterMaps.Count);
            Assert.Empty(map.ParameterMaps[0].Data.TypeConverterOptions.NullValues);
            Assert.Single(map.ParameterMaps[1].Data.TypeConverterOptions.NullValues);
            Assert.Equal("NULL", map.ParameterMaps[1].Data.TypeConverterOptions.NullValues[0]);
        }
        public void AutoMap_WithIgnoreAttributes_ConfiguresParameterMaps()
        {
            var context = new CsvContext(new CsvConfiguration(CultureInfo.InvariantCulture));
            var map     = context.AutoMap <Foo>();

            Assert.AreEqual(2, map.ParameterMaps.Count);
            Assert.AreEqual("id", map.ParameterMaps[0].Data.Names.First());
            Assert.AreEqual("name", map.ParameterMaps[1].Data.Names.First());
            Assert.IsTrue(map.ParameterMaps[1].Data.Ignore);
        }
Example #5
0
        public void AutoMap_WithEnumIgnoreCaseAttributes_ConfiguresParameterMaps()
        {
            var context = new CsvContext(new CsvConfiguration(CultureInfo.InvariantCulture));
            var map     = context.AutoMap <Foo>();

            Assert.Equal(2, map.ParameterMaps.Count);
            Assert.Equal("id", map.ParameterMaps[0].Data.Names.First());
            Assert.Equal("bar", map.ParameterMaps[1].Data.Names.First());
            Assert.True(map.ParameterMaps[1].Data.TypeConverterOptions.EnumIgnoreCase.GetValueOrDefault());
        }
Example #6
0
        public void AutoMap_UsesContext()
        {
            var context = new CsvContext(new CsvConfiguration(CultureInfo.InvariantCulture));

            context.TypeConverterOptionsCache.GetOptions <string>().NullValues.Add("Bar");

            var map = context.AutoMap <Foo>();

            Assert.Contains("Bar", map.MemberMaps.Find <Foo>(x => x.Name).Data.TypeConverterOptions.NullValues);
        }
Example #7
0
        public void AutoMapEnumerableTest()
        {
            var context = new CsvContext(new CsvConfiguration(CultureInfo.InvariantCulture));

            try
            {
                context.AutoMap(typeof(List <string>));
                Assert.Fail();
            }
            catch (ConfigurationException) { }
        }
Example #8
0
        public void AutoMap_WithDefaultAttributes_ConfiguresParameterMaps()
        {
            var context = new CsvContext(new CsvConfiguration(CultureInfo.InvariantCulture));
            var map     = context.AutoMap <Foo>();

            Assert.AreEqual(2, map.ParameterMaps.Count);
            Assert.IsFalse(map.ParameterMaps[0].Data.IsDefaultSet);
            Assert.IsNull(map.ParameterMaps[0].Data.Default);
            Assert.IsTrue(map.ParameterMaps[1].Data.IsDefaultSet);
            Assert.AreEqual("Bar", map.ParameterMaps[1].Data.Default);
        }
Example #9
0
        public void AutoMap_WithConstantAttributes_ConfiguresParameterMaps()
        {
            var config  = new CsvConfiguration(CultureInfo.InvariantCulture);
            var context = new CsvContext(config);
            var map     = context.AutoMap <Foo>();

            Assert.Equal(2, map.ParameterMaps.Count);
            Assert.False(map.ParameterMaps[0].Data.IsConstantSet);
            Assert.Null(map.ParameterMaps[0].Data.Constant);
            Assert.True(map.ParameterMaps[1].Data.IsConstantSet);
            Assert.Equal("Bar", map.ParameterMaps[1].Data.Constant);
        }
        public void CircularDependencyTest()
        {
            var config  = new CsvHelper.Configuration.CsvConfiguration(CultureInfo.InvariantCulture);
            var context = new CsvContext(config);
            var map     = context.AutoMap <ACircular>();

            Assert.IsNotNull(map);
            Assert.AreEqual(1, map.MemberMaps.Count);
            Assert.AreEqual(1, map.ReferenceMaps.Count);
            Assert.AreEqual(1, map.ReferenceMaps[0].Data.Mapping.MemberMaps.Count);
            Assert.AreEqual(0, map.ReferenceMaps[0].Data.Mapping.ReferenceMaps.Count);
        }
        public void AutoMap_WithBooleanFalseValuesAttribute_CreatesParameterMaps()
        {
            var config  = new CsvConfiguration(CultureInfo.InvariantCulture);
            var context = new CsvContext(config);
            var map     = context.AutoMap <Foo>();

            Assert.AreEqual(2, map.ParameterMaps.Count);
            Assert.AreEqual(0, map.ParameterMaps[0].Data.TypeConverterOptions.BooleanTrueValues.Count);
            Assert.AreEqual(0, map.ParameterMaps[0].Data.TypeConverterOptions.BooleanFalseValues.Count);
            Assert.AreEqual(0, map.ParameterMaps[1].Data.TypeConverterOptions.BooleanTrueValues.Count);
            Assert.AreEqual(1, map.ParameterMaps[1].Data.TypeConverterOptions.BooleanFalseValues.Count);
            Assert.AreEqual("Bar", map.ParameterMaps[1].Data.TypeConverterOptions.BooleanFalseValues[0]);
        }
Example #12
0
        public void AutoMapWithNestedHeaders()
        {
            var config = new CsvHelper.Configuration.CsvConfiguration(CultureInfo.InvariantCulture)
            {
                ReferenceHeaderPrefix = args => $"{args.MemberName}."
            };
            var context = new CsvContext(config);
            var map     = context.AutoMap <Nested>();

            Assert.AreEqual("Simple1.Id", map.ReferenceMaps[0].Data.Mapping.MemberMaps[0].Data.Names[0]);
            Assert.AreEqual("Simple1.Name", map.ReferenceMaps[0].Data.Mapping.MemberMaps[1].Data.Names[0]);
            Assert.AreEqual("Simple2.Id", map.ReferenceMaps[1].Data.Mapping.MemberMaps[0].Data.Names[0]);
            Assert.AreEqual("Simple2.Name", map.ReferenceMaps[1].Data.Mapping.MemberMaps[1].Data.Names[0]);
        }
Example #13
0
        public void AutoMapEnumerableTest()
        {
            var context = new CsvContext(new CsvConfiguration(CultureInfo.InvariantCulture));

            Assert.Throws <ConfigurationException>(() => context.AutoMap(typeof(List <string>)));
        }
 public void SelfCircularDependencyTest()
 {
     var config  = new CsvHelper.Configuration.CsvConfiguration(CultureInfo.InvariantCulture);
     var context = new CsvContext(config);
     var map     = context.AutoMap <SelfCircularA>();
 }