public void PocoCanBeSerialized() { // Given a class representation of BIML var biml = new Biml(); biml.Tables = new List <Table> { new Table { Name = "Table1", Columns = new List <Column> { new Column { Name = "Column1", DataType = "string", Length = "11", Annotations = new List <Annotation> { new Annotation { AnnotationType = "Tag", Tag = "col1", Value = "abc" }, new Annotation { AnnotationType = "Tag", Tag = "col2", Value = "xyz" } } }, new Column { Name = "Column2", DataType = "string", Length = "12" } }, Annotations = new List <Annotation> { new Annotation { AnnotationType = "Description", Tag = "tag1", Value = "TableAnnotation1" }, new Annotation { AnnotationType = "Tag", Tag = "tag2", Value = "TableAnnotation2" }, }, Indexes = new List <Index> { new Index { Name = "IX_Table1" } }, Keys = new Keys { PrimaryKey = new PrimaryKey { Name = "PK_Table1" }, UniqueKey = new UniqueKey { Name = "UK_Table1_2", Columns = new List <Column> { new Column { ColumnName = "Column1" } } } } } }; // When the class is serialized string output = ""; var serializer = new XmlSerializer(biml.GetType()); using (var writer = new StringWriter()) { serializer.Serialize(writer, biml); output = writer.ToString(); } // Then valid XML is generated output.Should().NotBeNullOrEmpty(); output.Should().Contain("Biml"); }
public void PocoCanBeSerialized() { // Given a class representation of BIML var biml = new Biml(); biml.Tables = new List<Table> { new Table { Name = "Table1", Columns = new List<Column> { new Column { Name = "Column1", DataType = "string", Length = "11", Annotations = new List<Annotation> { new Annotation { AnnotationType = "Tag", Tag = "col1", Value = "abc" }, new Annotation { AnnotationType = "Tag", Tag = "col2", Value = "xyz" } } }, new Column { Name = "Column2", DataType = "string", Length = "12" } }, Annotations = new List<Annotation> { new Annotation {AnnotationType = "Description", Tag = "tag1", Value = "TableAnnotation1"}, new Annotation {AnnotationType = "Tag", Tag = "tag2", Value = "TableAnnotation2"}, }, Indexes = new List<Index> { new Index {Name = "IX_Table1"} }, Keys = new Keys { PrimaryKey = new PrimaryKey { Name = "PK_Table1" }, UniqueKey = new UniqueKey { Name = "UK_Table1_2", Columns = new List<Column> { new Column {ColumnName = "Column1"} } } } } }; // When the class is serialized string output = ""; var serializer = new XmlSerializer( biml.GetType() ); using( var writer = new StringWriter() ) { serializer.Serialize( writer, biml ); output = writer.ToString(); } // Then valid XML is generated output.Should().NotBeNullOrEmpty(); output.Should().Contain( "Biml" ); }