Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }