Exemple #1
0
        public void XmlSaveAndRestore()
        {
            var random = new Random(0);
            var saveds = new DemoPayload[3];

            for (var i = 0; i < saveds.Length; i++)
            {
                saveds[i] = new DemoPayload {
                    Text = i.ToString(), Number = random.Next(100, 1000)
                };
            }

            var builder = new StringBuilder();

            for (var i = 0; i < saveds.Length; i++)
            {
                var xml = XmlFragmentHelper.EncodeXmlFragment(saveds[i]);
                builder.AppendLine(xml);
            }

            var fileContent = builder.ToString();
            var restoreds   = XmlFragmentHelper.DecodeXmlFragments <DemoPayload>(fileContent);

            Assert.IsNotNull(restoreds);
            Assert.AreEqual(saveds.Length, restoreds.Length);
            for (var i = 0; i < saveds.Length; i++)
            {
                Assert.AreEqual(saveds[i].Text, restoreds[i].Text);
                Assert.AreEqual(saveds[i].Number, restoreds[i].Number);
            }
        }
Exemple #2
0
        public void RecordAcceptedSuggestion(int index, int seed, string suggestion)
        {
            var record = new SuggestionAcceptance {
                UtcNow = DateTime.UtcNow.Ticks, TickCount = Environment.TickCount, Seed = seed, Index = index, Word = suggestion
            };

            XmlFragmentHelper.WriteLog(AcceptedSuggestionFilePath, record);
        }
Exemple #3
0
        public string GetHistoryText()
        {
            var records = XmlFragmentHelper.ReadLog <Spoken>(HistoryFilePath);

            var text = string.Join(Environment.NewLine, from r in records select r.Text);

            return(text);
        }
Exemple #4
0
 public void RecordHistory(string text, bool isInPrivate)
 {
     if (!isInPrivate)
     {
         var record = new Spoken {
             UtcNowTicks = DateTime.UtcNow.Ticks, TickCount = Environment.TickCount, IsInPrivate = isInPrivate, Text = text
         };
         XmlFragmentHelper.WriteLog(HistoryFilePath, record);
     }
 }
Exemple #5
0
        public void SerializeXmlElementViaHelper()
        {
            var ob = new DemoPayload {
                Text = "Some Text", Number = 42
            };

            var xml = XmlFragmentHelper.EncodeXmlFragment(ob);

            Assert.AreEqual("<DemoPayload Text=\"Some Text\" Number=\"42\" />", xml);
        }
Exemple #6
0
        static string GetLocalHistoryText()
        {
            var filePath = SettingsDirectory.GetDefaultSettingsFilePath("spoken.txt");

            var records = XmlFragmentHelper.ReadLog <Spoken>(filePath);

            var text = string.Join(Environment.NewLine, from r in records select r.Text);

            return(text);
        }
Exemple #7
0
        public void DeserializeManyElements()
        {
            var xml = "<DemoPayload Text=\"One\" Number=\"1\" /><DemoPayload Text=\"Two\" Number=\"2\" />";

            var obs = XmlFragmentHelper.DecodeXmlFragments <DemoPayload>(xml);

            Assert.IsNotNull(obs);
            Assert.AreEqual(2, obs.Length);
            Assert.AreEqual("One", obs[0].Text);
            Assert.AreEqual(1, obs[0].Number);
            Assert.AreEqual("Two", obs[1].Text);
            Assert.AreEqual(2, obs[1].Number);
        }
Exemple #8
0
        public void WriteAndReadLogFile()
        {
            var tempPath            = Path.GetTempPath();
            var targetRootDirectory = Path.Combine(tempPath, Guid.NewGuid().ToString());
            var targetPath          = Path.Combine(targetRootDirectory, "Testing", Guid.NewGuid().ToString(), "TestLogFile.xml");

            try
            {
                {
                    var payloads = XmlFragmentHelper.ReadLog <DemoPayload>(targetPath);

                    Assert.AreEqual(0, payloads.Length);
                }

                {
                    XmlFragmentHelper.WriteLog(targetPath, new DemoPayload {
                        Text = "First", Number = 101
                    });

                    var lines = File.ReadAllLines(targetPath);
                    Assert.AreEqual(1, lines.Length);
                    Assert.AreEqual("<DemoPayload Text=\"First\" Number=\"101\" />", lines[0]);
                }

                {
                    XmlFragmentHelper.WriteLog(targetPath, new DemoPayload {
                        Text = "Second", Number = 102
                    });

                    var lines = File.ReadAllLines(targetPath);
                    Assert.AreEqual(2, lines.Length);
                    Assert.AreEqual("<DemoPayload Text=\"First\" Number=\"101\" />", lines[0]);
                    Assert.AreEqual("<DemoPayload Text=\"Second\" Number=\"102\" />", lines[1]);
                }

                {
                    var payloads = XmlFragmentHelper.ReadLog <DemoPayload>(targetPath);

                    Assert.AreEqual(2, payloads.Length);
                    Assert.AreEqual("First", payloads[0].Text);
                    Assert.AreEqual(101, payloads[0].Number);
                    Assert.AreEqual("Second", payloads[1].Text);
                    Assert.AreEqual(102, payloads[1].Number);
                }
            }
            finally
            {
                Directory.Delete(targetRootDirectory, true);
            }
        }
Exemple #9
0
        static void Main(string[] args)
        {
            var stream = new WebClient().OpenRead("http://www.gutenberg.org/cache/epub/2600/pg2600.txt");

            //var stream = File.OpenRead(@"C:\Users\petea\Desktop\pg2600.txt");

            using (var reader = new StreamReader(stream))
            {
                ProcessText(reader);
            }

            var builder = new StringBuilder();

            foreach (var record in records)
            {
                var fragment = XmlFragmentHelper.EncodeXmlFragment(record);
                builder.AppendLine(fragment);
            }
            File.WriteAllText("WarAndPeace.xml", builder.ToString());
        }