コード例 #1
0
        public void ReplacePropertyTest1()
        {
            var wrapper = new CsvRecordWrapper();

            const string prop1Name = "Prop1";
            const string prop2Name = "Prop2";
            const string prop3Name = "Prop3";


            var prop1 =
                new CsvProperty(prop1Name, new string[] { "Hallo1" },
                                Converters.CsvConverterFactory.CreateConverter(Converters.CsvTypeCode.String, true));

            var prop2 =
                new CsvProperty(prop2Name, new string[] { "Hallo2" },
                                Converters.CsvConverterFactory.CreateConverter(Converters.CsvTypeCode.String, true));

            var prop3 =
                new CsvProperty(prop3Name, new string[] { "Hallo3" },
                                Converters.CsvConverterFactory.CreateConverter(Converters.CsvTypeCode.String, true));

            wrapper.AddProperty(prop1);
            wrapper.AddProperty(prop2);

            Assert.AreEqual(2, wrapper.Count);
            Assert.AreEqual(prop1Name, wrapper.PropertyNames[0]);
            Assert.AreEqual(prop2Name, wrapper.PropertyNames[1]);

            wrapper.ReplaceProperty(prop1Name, prop3);

            Assert.AreEqual(2, wrapper.Count);
            Assert.AreEqual(prop3Name, wrapper.PropertyNames[0]);
            Assert.AreEqual(prop2Name, wrapper.PropertyNames[1]);
        }
コード例 #2
0
        public void ReplacePropertyAtTest3()
        {
            var wrapper = new CsvRecordWrapper();

            const string prop1Name = "Prop1";
            const string prop2Name = "Prop2";
            const string prop3Name = "Prop3";


            var prop1 =
                new CsvProperty(prop1Name, new string[] { "Hallo1" },
                                Converters.CsvConverterFactory.CreateConverter(Converters.CsvTypeCode.String, true));

            var prop2 =
                new CsvProperty(prop2Name, new string[] { "Hallo2" },
                                Converters.CsvConverterFactory.CreateConverter(Converters.CsvTypeCode.String, true));

            var prop3 =
                new CsvProperty(prop3Name, new string[] { "Hallo3" },
                                Converters.CsvConverterFactory.CreateConverter(Converters.CsvTypeCode.String, true));

            wrapper.AddProperty(prop1);
            wrapper.AddProperty(prop2);

            wrapper.ReplacePropertyAt(4711, prop3);
        }
コード例 #3
0
        public void ReplacePropertyTest2b()
        {
            var wrapper = new CsvRecordWrapper();

            const string prop1Name = "Prop1";

            var prop1 =
                new CsvProperty(prop1Name, new string[] { "Hallo1" },
                                Converters.CsvConverterFactory.CreateConverter(Converters.CsvTypeCode.String, true));

            wrapper.ReplaceProperty("bla", prop1);
        }
コード例 #4
0
        public void TryGetValueTest()
        {
            KeyedCollection <string, CsvProperty> kColl = new TestCollection();

            var prop1 = new CsvProperty("Test", new string[0], CsvConverterFactory.CreateConverter(CsvTypeCode.Boolean));

            kColl.Add(prop1);

            Assert.IsTrue(kColl.TryGetValue("Test", out CsvProperty? prop2));

            Assert.AreEqual(prop1, prop2);
        }
コード例 #5
0
        public void InsertPropertyTest4()
        {
            var wrapper = new CsvRecordWrapper();

            const string prop1Name = "Prop1";


            var prop1 =
                new CsvProperty(prop1Name, new string[] { "Hallo1" },
                                Converters.CsvConverterFactory.CreateConverter(Converters.CsvTypeCode.String, true));


            wrapper.InsertProperty(4711, prop1);
        }
コード例 #6
0
        public void InsertPropertyTest2()
        {
            var wrapper = new CsvRecordWrapper();

            const string prop1Name = "Prop1";


            var prop1 =
                new CsvProperty(prop1Name, new string[] { "Hallo1" },
                                Converters.CsvConverterFactory.CreateConverter(Converters.CsvTypeCode.String, true));


            wrapper.InsertProperty(0, prop1);
            Assert.AreEqual(1, wrapper.Count);
            Assert.AreEqual(prop1Name, wrapper.PropertyNames[0]);
        }
コード例 #7
0
        public void TryGetMemberTest()
        {
            var wrapper = new CsvRecordWrapper();

            const string prop1Name = "Prop1";

            var prop1 =
                new CsvProperty(prop1Name, new string[] { "Hallo1" },
                                Converters.CsvConverterFactory.CreateConverter(Converters.CsvTypeCode.Int32, true));

            wrapper.AddProperty(prop1);

            dynamic dyn = wrapper;

            _ = dyn.Prop1;
        }
コード例 #8
0
        public void DynPropTest(int wildcardTimeout)
        {
            var rec = new CsvRecord(new string[] { "Hallo1", "Blabla" }, false, false, true, false);

            var wrapper = new CsvRecordWrapper
            {
                Record = rec
            };

            const string prop1Name = "Prop1";
            const string prop2Name = "Prop2";


            var prop1 =
                new CsvProperty(prop1Name, new string[] { "Hallo1" },
                                Converters.CsvConverterFactory.CreateConverter(Converters.CsvTypeCode.Int32, true));

            wrapper.AddProperty(prop1);

            var prop2 =
                new CsvProperty(prop2Name, new string[] { "Blub", null !, "Bla*" },
コード例 #9
0
 /// <summary>
 /// <see cref="ConvertToObjectItemContext"/>クラスの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="property"><see cref="CsvProperty"/>。</param>
 /// <param name="context"><see cref="ICsvItemContext"/>。</param>
 public ConvertToObjectItemContext(CsvProperty property, ICsvItemContext context)
     : base(property, context.Name)
 {
     this.LineNumber = context.LineNumber;
     this.CsvItem    = context.Value;
 }
コード例 #10
0
 /// <summary>
 /// <see cref="ConvertToObjectItemContext"/>クラスの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="property"><see cref="CsvProperty"/>。</param>
 /// <param name="name">エラーメッセージに含める名前。</param>
 /// <param name="lineNumber">行番号</param>
 /// <param name="value">CSV項目の値。</param>
 public ConvertToObjectItemContext(CsvProperty property, string name, long lineNumber, string value)
     : base(property, name)
 {
     this.LineNumber = lineNumber;
     this.CsvItem    = value;
 }
コード例 #11
0
        public void CsvPropertyTest1()
        {
            var prop = new CsvProperty("Prop", new string[] { "Col1" }, CsvConverterFactory.CreateConverter(CsvTypeCode.String));

            Assert.IsInstanceOfType(prop, typeof(CsvProperty));
        }
コード例 #12
0
ファイル: CsvConvertContext.cs プロジェクト: yamahix/NCsv
 /// <summary>
 /// <see cref="CsvConvertContext"/>クラスの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="property"><see cref="CsvProperty"/>。</param>
 /// <param name="name">エラーメッセージに含める名前。</param>
 internal CsvConvertContext(CsvProperty property, string name)
 {
     this.Property = property;
     this.Name     = name;
 }
コード例 #13
0
 /// <summary>
 /// <see cref="ConvertToCsvItemContext"/>クラスの新しいインスタンスを初期化します。
 /// </summary>
 /// <param name="property"><see cref="CsvProperty"/>。</param>
 /// <param name="name">エラーメッセージに含める名前。</param>
 /// <param name="objectItem">オブジェクト項目。</param>
 public ConvertToCsvItemContext(CsvProperty property, string name, object objectItem)
     : base(property, name)
 {
     this.ObjectItem = objectItem;
 }