static void Main(string[] args) { var document = new Document(); document.Add(new Hyperlink() { Text = "Text", Url = "https://github.com" }); document.Add(new BoldText() { Text = "Text" }); document.Add(new PlainText() { Text = "Text" }); var htmlVisitor = new HtmlVisitor(); document.Accept(htmlVisitor); System.Console.WriteLine(htmlVisitor.Result); var laTeXVisitor = new LaTeXVisitor(); document.Accept(laTeXVisitor); System.Console.WriteLine(laTeXVisitor.Result); var plainTextVisitor = new PlainTextVisitor(); document.Accept(plainTextVisitor); System.Console.WriteLine(plainTextVisitor.Result); System.Console.ReadLine(); }
private static void Main() { /*List<DocumentPart> parts = new List<DocumentPart> * { * new PlainText {Text = "Some plain text"}, * new Hyperlink {Text = "google.com", Url = "https://www.google.by/"}, * new BoldText {Text = "Some bold text"} * }; * * Document document = new Document(parts); * * Console.WriteLine(document.ToHtml()); * * Console.WriteLine(document.ToPlainText()); * * Console.WriteLine(document.ToLaTeX());*/ var htmlVisitor = new HtmlVisitor(); var laTeXVisitor = new LaTeXVisitor(); var plainTextVisitor = new PlainTextVisitor(); var parts = new List <Task5.Solution.Document.DocumentPart> { new Task5.Solution.Document.PlainText { Text = "Some plain text" }, new Task5.Solution.Document.Hyperlink { Text = "google.com", Url = "https://www.google.by/" }, new Task5.Solution.Document.BoldText { Text = "Some bold text" } }; var document = new Task5.Solution.Document.Document(parts); System.Console.WriteLine(document.Convert(htmlVisitor)); System.Console.WriteLine(document.Convert(laTeXVisitor)); System.Console.WriteLine(document.Convert(plainTextVisitor)); System.Console.ReadLine(); }
public void VisitDictionary() { Dictionary<object, object> dict = new Dictionary<object, object>(); dict.Add("first", 1); dict.Add(2, "second"); PlainTextVisitor visitor = new PlainTextVisitor(_writer); DictionaryElement elem = new DictionaryElement("dict", dict); elem.Visit(visitor); _stream.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(_stream); string actual = reader.ReadToEnd(); string expected = "Name: dict\r\n" + " Class: Int32, Name: first, Value: 1\r\n" + " Class: String, Name: 2, Value: second\r\n"; Assert.AreEqual(expected, actual); }
public void VisitEnumerable() { List<object> list = new List<object>(); list.Add("first"); list.Add(2); list.Add(3.0); PlainTextVisitor visitor = new PlainTextVisitor(_writer); EnumerableElement elem = new EnumerableElement("elem_root", list); elem.Visit(visitor); _stream.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(_stream); string actual = reader.ReadToEnd(); string expected = "Name: elem_root\r\n" + " Class: String, Name: elem_root, Value: first\r\n" + " Class: Int32, Name: elem_root, Value: 2\r\n" + " Class: Double, Name: elem_root, Value: 3\r\n"; Assert.AreEqual(expected, actual); }
public static string ToPlainText(this DocumentPart part) { Visitor visitor = new PlainTextVisitor(); return(visitor.Visit(part)); }
public void VisitMCSClass() { Mono.CSharp.ClassC mcsclass = new Mono.CSharp.ClassC(); mcsclass.SetValue(5); MCSClassElement elem = new MCSClassElement("mcsclass", mcsclass); PlainTextVisitor visitor = new PlainTextVisitor(_writer); elem.Visit(visitor); _stream.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(_stream); string actual = reader.ReadToEnd(); string expected = "Class: ClassC, Name: mcsclass\r\n" + " Class: Int32, Name: _value, Value: 5\r\n"; Assert.AreEqual(expected, actual); }
public void VisitSystem() { System.String str = "some string"; SystemElement elem = new SystemElement("str", str); PlainTextVisitor visitor = new PlainTextVisitor(_writer); elem.Visit(visitor); _stream.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(_stream); string actual = reader.ReadToEnd(); string expected = "Class: String, Name: str, Value: some string\r\n"; Assert.AreEqual(expected, actual); }
public void VisitNested() { Mono.CSharp.ClassE typeWithNestedType = new Mono.CSharp.ClassE(); typeWithNestedType.SetValue(5); MCSClassElement elem = new MCSClassElement("type", typeWithNestedType); PlainTextVisitor visitor = new PlainTextVisitor(_writer); elem.Visit(visitor); _stream.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(_stream); string actual = reader.ReadToEnd(); string expected = "Class: ClassE, Name: type\r\n" + " Class: ClassC, Name: _classC\r\n" + " Class: Int32, Name: _value, Value: 5\r\n"; Assert.AreEqual(expected, actual); }
public void VisitMCSOtherElement() { Mono.CSharp.ClassD mcsother = new Mono.CSharp.ClassD(); mcsother.SetValue(5); MCSOtherElement elem = new MCSOtherElement("mcsother", mcsother); PlainTextVisitor visitor = new PlainTextVisitor(_writer); elem.Visit(visitor); _stream.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(_stream); string actual = reader.ReadToEnd(); string expected = "Class: ClassD, Name: mcsother, Value: 5\r\n"; Assert.AreEqual(expected, actual); }