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 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);
        }