Ejemplo n.º 1
0
        public void TwoLayerParameterDatabaseTest()
        {
            var fileSpec = Path.Combine(RelativePath, "ec.params");

            Assert.IsTrue(System.IO.File.Exists(fileSpec));
            var pd = new ParameterDatabase(new FileInfo(fileSpec));

            pd.SetParameter(new Parameter("Hi there"), "Whatever");
            pd.SetParameter(new Parameter(new[] { "1", "2", "3" }), " Whatever ");
            pd.SetParameter(new Parameter(new[] { "a", "b", "c" }).Pop().Push("d"), "Whatever"); // key becomes a.b.d

            var pd2 = new ParameterDatabase();

            pd2.SetParameter(new Parameter("Hi there"), "Hello!");                 // This will override parent.0
            pd2.SetParameter(new Parameter(new[] { "1", "2", "3" }), "GoofBall");  // This will override parent.0
            pd2.SetParameter(new Parameter(new[] { "4", "5", "6" }), "GoofBall7"); // This is just added

            pd2.AddParent(pd);

            foreach (var k in pd2.Keys)
            {
                context.WriteLine("{0} = {1}", k, pd2[k]);
            }

            context.WriteLine("");
            context.WriteLine("\n\n PRINTING ALL PARAMETERS \n\n");

            var memStream   = new MemoryStream();
            var temp_writer = new StreamWriter(memStream, Encoding.Default)
            {
                AutoFlush = true
            };

            pd2.List(temp_writer, true);
            memStream.Position = 0;
            context.WriteLine(new StreamReader(memStream).ReadToEnd());
            memStream.Close();

            context.WriteLine("\n\n PRINTING ONLY VALID PARAMETERS \n\n");
            memStream = new MemoryStream();
            var temp_writer2 = new StreamWriter(memStream, Encoding.Default)
            {
                AutoFlush = true
            };

            pd2.List(temp_writer2, false);
            memStream.Position = 0;
            context.WriteLine(new StreamReader(memStream).ReadToEnd());
            memStream.Close();
        }
Ejemplo n.º 2
0
        public void SingleParameterFileTest()
        {
            var fileSpec = Path.Combine(RelativePath, "ec.params");

            Assert.IsTrue(System.IO.File.Exists(fileSpec));
            var pd = new ParameterDatabase(new FileInfo(fileSpec));

            Assert.AreEqual(pd.Count, 6);

            // Add some miscellaneous parameters, some valid, some not
            pd.SetParameter(new Parameter("Hi there"), "Whatever");
            pd.SetParameter(new Parameter(new[] { "1", "2", "3" }), "    Whatever ");            // extra whitespace is trimmed
            pd.SetParameter(new Parameter(new[] { "a", "b", "c" }).Pop().Push("d"), "Whatever"); // This becomes a.b.d
            Assert.AreEqual(pd.Count, 9);

            foreach (var k in pd.Keys)
            {
                context.WriteLine("{0} = {1}", k, pd[k]);
            }

            context.WriteLine("");
            context.WriteLine("\n\n PRINTING ALL PARAMETERS (Including Shadowed) \n\n");

            var memStream   = new MemoryStream();
            var temp_writer = new StreamWriter(memStream, Encoding.Default)
            {
                AutoFlush = true
            };

            pd.List(temp_writer, true);
            memStream.Position = 0;
            context.WriteLine(new StreamReader(memStream).ReadToEnd());
            memStream.Close();



            context.WriteLine("\n\n PRINTING SORTED PARAMETERS (Excluding Shadowed) \n\n");
            memStream = new MemoryStream();
            var temp_writer2 = new StreamWriter(memStream, Encoding.Default)
            {
                AutoFlush = true
            };

            pd.List(temp_writer2, false);
            memStream.Position = 0;
            context.WriteLine(new StreamReader(memStream).ReadToEnd());
            memStream.Close();
        }
Ejemplo n.º 3
0
        public void OneLayerAdHocParametersTest()
        {
            var pd = new ParameterDatabase();

            Assert.AreEqual(pd.Count, 0);

            // Add some miscellaneous parameters, some valid, some not
            pd.SetParameter(new Parameter("Hi there"), "Whatever");
            pd.SetParameter(new Parameter(new[] { "1", "2", "3" }), "    Whatever ");            // extra whitespace is trimmed
            pd.SetParameter(new Parameter(new[] { "a", "b", "c" }).Pop().Push("d"), "Whatever"); // This becomes a.b.d
            Assert.AreEqual(pd.Count, 3);

            foreach (var k in pd.Keys)
            {
                Assert.AreEqual(pd.GetProperty(k.ToString()), "Whatever");
                context.WriteLine("{0} = {1}", k, pd[k]);
            }

            context.WriteLine("");
            context.WriteLine("\n\n PRINTING ALL PARAMETERS \n\n");

            using (var memStream = new MemoryStream())
            {
                var temp_writer = new StreamWriter(memStream, Encoding.Default)
                {
                    AutoFlush = true
                };
                // let the database write to our stream
                pd.List(temp_writer, false); // No shadowed parameters here
                memStream.Position = 0;
                // now write those out for diagnostics
                context.WriteLine(new StreamReader(memStream).ReadToEnd());
            }
        }