public void Test2()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("KI,B,I,L,F,D,S"); //7types
            sb.AppendLine("key1,key2,key3,key4,key5,key6,key7");
            sb.AppendLine("1, true, 101, 1001,1.1, 2.1, k1");
            sb.AppendLine("2,false, 102, 1002,1.2, 2.2, k2");
            sb.AppendLine("3, true, 103, 1003,1.3, 2.3, k3");
            sb.AppendLine("4,false, 104, 1004,1.4, 2.4, k4");
            sb.AppendLine("5, true, 105, 1005,1.5, 2.5, k5");

            CsvConfigReader reader = new CsvConfigReader();

            reader.Read(new StringReader(sb.ToString()));
            //key type is string (KS in first line)
            //so keye is k1,k2,k3,k4,k5,5 elements
            for (int i = 1; i < 6; i++)
            {
                int key3Value = reader[i]["key3"].Value;
                Assert.AreEqual(100 + i, key3Value);

                long key4Value = reader[i]["key4"].Value;
                Assert.AreEqual(1000 + i, key4Value);

                string key7Value = reader[i]["key7"].Value;
                Assert.AreEqual("k" + i, key7Value);
            }
        }
        public void Test1()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("I,B,I,L,F,D,KS"); //7types
            sb.AppendLine("key1,key2,key3,key4,key5,key6,key7");
            sb.AppendLine("1, true, 101, 1001,1.1, 2.1, k1");
            sb.AppendLine("2,false, 102, 1002,1.2, 2.2, k2");
            sb.AppendLine("3, true, 103, 1003,1.3, 2.3, k3");
            sb.AppendLine("4,false, 104, 1004,1.4, 2.4, k4");
            sb.AppendLine("5, true, 105, 1005,1.5, 2.5, k5");

            CsvConfigReader reader = new CsvConfigReader();

            reader.Read(new StringReader(sb.ToString()));
            //key type is string (KS in first line)
            //so keye is k1,k2,k3,k4,k5,5 elements

            //get 3th config
            CsvConfig config = reader["k3"];
            //get field key4 1003
            int value = config["key4"].Value;

            Assert.AreEqual(1003, value);
            value = config[3].Value;
            Assert.AreEqual(1003, value);
        }
        public void Test3()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("KI,B,I,L,F,D,S"); //7types
            sb.AppendLine("key1,key2,key3,key4,key5,key6,key7");
            sb.AppendLine("1, true, 101, 1001,1.1, 2.1, \"v1,v1;v1,v1\"");
            sb.AppendLine("2,false, 102, 1002,1.2, 2.2, \"v2,v2;v2,v2\"");

            CsvConfigReader reader = new CsvConfigReader();

            reader.Read(new StringReader(sb.ToString()));
            CsvConfig config   = reader[1];
            CsvValue  value    = config["key7"].Value;
            string    strValue = value;

            Console.WriteLine(strValue);
        }
Esempio n. 4
0
        public void TestDoubleKeyType()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("KI,B,I,L,F,D,S,KL");//7types
            CsvConfigReader reader       = new CsvConfigReader();
            bool            hasException = false;
            Exception       e            = null;

            try
            {
                reader.Read(new StringReader(sb.ToString()));
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                hasException = true;
                e            = exception;
            }
            Assert.True(hasException);
            Assert.True(e is CsvException);
        }
Esempio n. 5
0
        public void TestTypeNotMatchError()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("KI,B,I,L,F,D,S");//7types
            sb.AppendLine("key1,key2,key3,key4,key5,key6,key7");
            sb.AppendLine("1, 112, 101, 1001,1.1, 2.1, hello world 1");
            CsvConfigReader reader       = new CsvConfigReader();
            bool            hasException = false;
            Exception       e            = null;

            try
            {
                reader.Read(new StringReader(sb.ToString()));
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
                hasException = true;
                e            = exception;
            }
            Assert.True(hasException);
            Assert.True(e is CsvException);
        }
Esempio n. 6
0
        public void TestKeyIsString()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("I,B,I,L,F,D,KS");//7types
            sb.AppendLine("key1,key2,key3,key4,key5,key6,key7");
            sb.AppendLine("1, YES, 101, 1001,1.1, 2.1, k1");
            sb.AppendLine("2,NO, 102, 1002,1.2, 2.2, k2");
            sb.AppendLine("3, YES, 103, 1003,1.3, 2.3, k3");
            sb.AppendLine("4,NO, 104, 1004,1.4, 2.4, k4");
            sb.AppendLine("5, YES, 105, 1005,1.5, 2.5, k5");

            CsvConfigReader reader = new CsvConfigReader();

            reader.Read(new StringReader(sb.ToString()));
            Assert.AreEqual(CsvValueType.String, reader.KeyType);

            Assert.AreEqual(5, reader[reader.Keys[4]]["key1"].Value);

            Assert.AreEqual(5, reader.Keys.Count);
            string key;

            key = reader.Keys[0];
            Assert.AreEqual("k1", key);
            key = reader.Keys[1];
            Assert.AreEqual("k2", key);
            key = reader.Keys[2];
            Assert.AreEqual("k3", key);
            key = reader.Keys[3];
            Assert.AreEqual("k4", key);
            key = reader.Keys[4];
            Assert.AreEqual("k5", key);


            Assert.AreEqual(7, reader.FieldNames.Count);
            Assert.AreEqual("key1", reader.FieldNames[0]);
            Assert.AreEqual("key2", reader.FieldNames[1]);
            Assert.AreEqual("key3", reader.FieldNames[2]);
            Assert.AreEqual("key4", reader.FieldNames[3]);
            Assert.AreEqual("key5", reader.FieldNames[4]);
            Assert.AreEqual("key6", reader.FieldNames[5]);
            Assert.AreEqual("key7", reader.FieldNames[6]);

            CsvConfig config = reader[reader.Keys[0]];

            Assert.AreEqual(0, config[0].Index);
            Assert.AreEqual(false, config[0].IsKey);
            Assert.AreEqual("key1", config[0].Name);
            Assert.AreEqual(1, config[0].Value);

            Assert.AreEqual(1, config[1].Index);
            Assert.AreEqual(false, config[1].IsKey);
            Assert.AreEqual("key2", config[1].Name);
            bool b = config[1].Value;

            Assert.AreEqual(true, b);

            Assert.AreEqual(2, config[2].Index);
            Assert.AreEqual(false, config[2].IsKey);
            Assert.AreEqual("key3", config[2].Name);
            Assert.AreEqual(101, config[2].Value);

            Assert.AreEqual(3, config[3].Index);
            Assert.AreEqual(false, config[3].IsKey);
            Assert.AreEqual("key4", config[3].Name);
            Assert.AreEqual(1001, config[3].Value);

            Assert.AreEqual(4, config[4].Index);
            Assert.AreEqual(false, config[4].IsKey);
            Assert.AreEqual("key5", config[4].Name);
            float f = config[4].Value;

            Assert.AreEqual(float.Parse("1.1"), f);

            Assert.AreEqual(5, config[5].Index);
            Assert.AreEqual(false, config[5].IsKey);
            Assert.AreEqual("key6", config[5].Name);
            double d = config[5].Value;

            Assert.AreEqual(double.Parse("2.1"), d);

            Assert.AreEqual(6, config[6].Index);
            Assert.AreEqual(true, config[6].IsKey);
            Assert.AreEqual("key7", config[6].Name);
            string s = config[6].Value;

            Assert.AreEqual("k1", s);
        }
Esempio n. 7
0
        public void TestNormal()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("KI,B,I,L,F,D,S");//7types
            sb.AppendLine("key1,key2,key3,key4,key5,key6,key7");
            sb.AppendLine("1, true, 101, 1001,1.1, 2.1, hello world 1");
            sb.AppendLine("2,false, 102, 1002,1.2, 2.2, hello world 2");
            sb.AppendLine("3, true, 103, 1003,1.3, 2.3, hello world 3");
            sb.AppendLine("4,false, 104, 1004,1.4, 2.4, hello world 4");
            sb.AppendLine("5, true, 105, 1005,1.5, 2.5, hello world 5");

            CsvConfigReader reader = new CsvConfigReader();

            reader.Read(new StringReader(sb.ToString()));
            Assert.AreEqual(CsvValueType.Int, reader.KeyType);
            Assert.AreEqual(5, reader.Keys.Count);
            Assert.AreEqual(1, reader.Keys[0]);
            Assert.AreEqual(2, reader.Keys[1]);
            Assert.AreEqual(3, reader.Keys[2]);
            Assert.AreEqual(4, reader.Keys[3]);
            Assert.AreEqual(5, reader.Keys[4]);
            Assert.AreEqual(7, reader.FieldNames.Count);
            Assert.AreEqual("key1", reader.FieldNames[0]);
            Assert.AreEqual("key2", reader.FieldNames[1]);
            Assert.AreEqual("key3", reader.FieldNames[2]);
            Assert.AreEqual("key4", reader.FieldNames[3]);
            Assert.AreEqual("key5", reader.FieldNames[4]);
            Assert.AreEqual("key6", reader.FieldNames[5]);
            Assert.AreEqual("key7", reader.FieldNames[6]);

            CsvConfig config = reader[reader.Keys[0]];

            Assert.AreEqual(0, config[0].Index);
            Assert.AreEqual(true, config[0].IsKey);
            string key = config[0].Name;

            Assert.AreEqual("key1", key);
            Assert.AreEqual(1, config[0].Value);

            Assert.AreEqual(1, config[1].Index);
            Assert.AreEqual(false, config[1].IsKey);
            Assert.AreEqual("key2", config[1].Name);
            bool b = config[1].Value;

            Assert.AreEqual(true, b);

            Assert.AreEqual(2, config[2].Index);
            Assert.AreEqual(false, config[2].IsKey);
            Assert.AreEqual("key3", config[2].Name);
            Assert.AreEqual(101, config[2].Value);

            Assert.AreEqual(3, config[3].Index);
            Assert.AreEqual(false, config[3].IsKey);
            Assert.AreEqual("key4", config[3].Name);
            Assert.AreEqual(1001, config[3].Value);

            Assert.AreEqual(4, config[4].Index);
            Assert.AreEqual(false, config[4].IsKey);
            Assert.AreEqual("key5", config[4].Name);
            float f = config[4].Value;

            Assert.AreEqual(float.Parse("1.1"), f);

            Assert.AreEqual(5, config[5].Index);
            Assert.AreEqual(false, config[5].IsKey);
            Assert.AreEqual("key6", config[5].Name);
            double d = config[5].Value;

            Assert.AreEqual(double.Parse("2.1"), d);

            Assert.AreEqual(6, config[6].Index);
            Assert.AreEqual(false, config[6].IsKey);
            Assert.AreEqual("key7", config[6].Name);
            string s = config[6].Value;

            Assert.AreEqual("hello world 1", s);
        }