예제 #1
0
        public void Test_ExtendedProperties()
        {
            FileInfo     file = new FileInfo("test1.properties");
            StreamWriter sw   = file.CreateText();

            sw.WriteLine("# lines starting with # are comments.  Blank lines are ignored");
            sw.WriteLine(string.Empty);
            sw.WriteLine("# This is the simplest property");
            sw.WriteLine("prefix.key = value");
            sw.WriteLine(string.Empty);
            sw.WriteLine("# A long property may be separated on multiple lines");
            sw.WriteLine("prefix.longvalue = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \\");
            sw.WriteLine("                   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            sw.WriteLine(string.Empty);
            sw.WriteLine("# This is a property with many tokens");
            sw.WriteLine("prefix.tokens_on_a_line = first token, second token");
            sw.WriteLine(string.Empty);
            sw.WriteLine("# This sequence generates exactly the same result");
            sw.WriteLine("prefix.tokens_on_multiple_lines = first token");
            sw.WriteLine("prefix.tokens_on_multiple_lines = second token");
            sw.WriteLine(string.Empty);
            sw.WriteLine("# commas may be escaped in tokens");
            sw.WriteLine("prefix.commas.excaped = Hi\\, what'up?");
            sw.Flush();
            sw.Close();

            StreamReader sr = file.OpenText();
            String       s  = sr.ReadToEnd();

            sr.Close();

            ExtendedProperties props = new ExtendedProperties(file.FullName);

            VerifyProperties(props, "prefix.");

            StringWriter writer = new StringWriter();

            props.Save(writer, "header");

            // make sure that combine does not change types
            ExtendedProperties p = new ExtendedProperties();

            p.Combine(props);
            VerifyProperties(p, "prefix.");

            // make sure that subset does not change property types
            ExtendedProperties p2 = p.Subset("prefix");

            VerifyProperties(p2, string.Empty);
        }
예제 #2
0
        public void Test_ExtendedProperties()
        {
            FileInfo     file = new FileInfo("test1.properties");
            StreamWriter sw   = file.CreateText();

            sw.WriteLine("# lines starting with # are comments.  Blank lines are ignored");
            sw.WriteLine("");
            sw.WriteLine("# This is the simplest property");
            sw.WriteLine("key = value");
            sw.WriteLine("");
            sw.WriteLine("# A long property may be separated on multiple lines");
            sw.WriteLine("longvalue = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \\");
            sw.WriteLine("            aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            sw.WriteLine("");
            sw.WriteLine("# This is a property with many tokens");
            sw.WriteLine("tokens_on_a_line = first token, second token");
            sw.WriteLine("");
            sw.WriteLine("# This sequence generates exactly the same result");
            sw.WriteLine("tokens_on_multiple_lines = first token");
            sw.WriteLine("tokens_on_multiple_lines = second token");
            sw.WriteLine("");
            sw.WriteLine("# commas may be escaped in tokens");
            sw.WriteLine("commas.excaped = Hi\\, what'up?");
            sw.Flush();
            sw.Close();

            StreamReader sr = file.OpenText();
            String       s  = sr.ReadToEnd();

            sr.Close();

            // TODO: could build string, then write, then read and compare.
            ExtendedProperties props = new ExtendedProperties(file.FullName);

            Assertion.Assert("expected to have 5 properties, had " + props.Count.ToString(), props.Count == 5);

            Assertion.Assert("key was not correct: " + props.GetString("key"), props.GetString("key").Equals("value"));
            Assertion.Assert("commas.excaped was not correct: " + props.GetString("commas.excaped"), props.GetString("commas.excaped").Equals("Hi, what'up?"));

            Object o = props.GetProperty("tokens_on_a_line");

            Assertion.Assert("tokens_on_a_line was expected to be an ArrayList", (o is ArrayList));
            Assertion.Assert("tokens_on_a_line was expected to be an ArrayList with 2 elements", ((ArrayList)o).Count == 2);

            StringWriter writer = new StringWriter();

            props.Save(writer, "header");
        }
예제 #3
0
        public void Test_ExtendedProperties()
        {
            FileInfo file = new FileInfo("test1.properties");
            StreamWriter sw = file.CreateText();
            sw.WriteLine("# lines starting with # are comments.  Blank lines are ignored");
            sw.WriteLine(string.Empty);
            sw.WriteLine("# This is the simplest property");
            sw.WriteLine("prefix.key = value");
            sw.WriteLine(string.Empty);
            sw.WriteLine("# A long property may be separated on multiple lines");
            sw.WriteLine("prefix.longvalue = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \\");
            sw.WriteLine("                   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
            sw.WriteLine(string.Empty);
            sw.WriteLine("# This is a property with many tokens");
            sw.WriteLine("prefix.tokens_on_a_line = first token, second token");
            sw.WriteLine(string.Empty);
            sw.WriteLine("# This sequence generates exactly the same result");
            sw.WriteLine("prefix.tokens_on_multiple_lines = first token");
            sw.WriteLine("prefix.tokens_on_multiple_lines = second token");
            sw.WriteLine(string.Empty);
            sw.WriteLine("# commas may be escaped in tokens");
            sw.WriteLine("prefix.commas.excaped = Hi\\, what'up?");
            sw.Flush();
            sw.Close();

            StreamReader sr = file.OpenText();
            String s = sr.ReadToEnd();
            sr.Close();

            ExtendedProperties props = new ExtendedProperties(file.FullName);
            VerifyProperties(props, "prefix.");

            StringWriter writer = new StringWriter();
            props.Save(writer, "header");

            // make sure that combine does not change types
            ExtendedProperties p = new ExtendedProperties();
            p.Combine(props);
            VerifyProperties(p, "prefix.");

            // make sure that subset does not change property types
            ExtendedProperties p2 = p.Subset("prefix");
            VerifyProperties(p2, string.Empty);
        }