77using Microsoft . VisualStudio . TestTools . UnitTesting ;
88using Newtonsoft . Json ;
99
10- namespace Chsword . Excel2Object . Tests
10+ namespace Chsword . Excel2Object . Tests ;
11+
12+ [ TestClass ]
13+ public class ExcelTest : BaseExcelTest
1114{
12- [ TestClass ]
13- public class ExcelTest : BaseExcelTest
15+ [ TestMethod ]
16+ public void ConvertXlsBytesTest ( )
1417 {
15- [ TestMethod ]
16- public void ConvertXlsBytesTest ( )
17- {
18- var models = GetModels ( ) ;
19- var bytes = ExcelHelper . ObjectToExcelBytes ( models ) ;
20- Assert . IsTrue ( bytes . Length > 0 ) ;
21- var importer = new ExcelImporter ( ) ;
22- var result = importer . ExcelToObject < ReportModel > ( bytes ) . ToList ( ) ;
23- models . AreEqual ( result ) ;
24- }
18+ var models = GetModels ( ) ;
19+ var bytes = ExcelHelper . ObjectToExcelBytes ( models ) ;
20+ Assert . IsTrue ( bytes . Length > 0 ) ;
21+ var importer = new ExcelImporter ( ) ;
22+ var result = importer . ExcelToObject < ReportModel > ( bytes ) . ToList ( ) ;
23+ models . AreEqual ( result ) ;
24+ }
2525
2626
27- [ TestMethod ]
28- public void ConvertXlsFileTest ( )
29- {
30- var models = GetModels ( ) ;
31- var bytes = ExcelHelper . ObjectToExcelBytes ( models ) ;
32- var path = GetFilePath ( "test.xls" ) ;
33- File . WriteAllBytes ( path , bytes ) ;
34- Assert . IsTrue ( File . Exists ( path ) ) ;
35- var importer = new ExcelImporter ( ) ;
36- var result = importer . ExcelToObject < ReportModel > ( path ) . ToList ( ) ;
37- Assert . AreEqual ( models . Count , result . Count ) ;
38- models . AreEqual ( result ) ;
39- }
27+ [ TestMethod ]
28+ public void ConvertXlsFileTest ( )
29+ {
30+ var models = GetModels ( ) ;
31+ var bytes = ExcelHelper . ObjectToExcelBytes ( models ) ;
32+ var path = GetFilePath ( "test.xls" ) ;
33+ File . WriteAllBytes ( path , bytes ) ;
34+ Assert . IsTrue ( File . Exists ( path ) ) ;
35+ var importer = new ExcelImporter ( ) ;
36+ var result = importer . ExcelToObject < ReportModel > ( path ) . ToList ( ) ;
37+ Assert . AreEqual ( models . Count , result . Count ) ;
38+ models . AreEqual ( result ) ;
39+ }
4040
41- [ TestMethod ]
42- public void ConvertXlsFileUseObjectToExcelTest ( )
43- {
44- var models = GetModels ( ) ;
45- var path = GetFilePath ( "test.xls" ) ;
46- ExcelHelper . ObjectToExcel ( models , path ) ;
47- Assert . IsTrue ( File . Exists ( path ) ) ;
48- var importer = new ExcelImporter ( ) ;
49- var result = importer . ExcelToObject < ReportModel > ( path ) . ToList ( ) ;
50- Assert . AreEqual ( models . Count , result . Count ) ;
51- models . AreEqual ( result ) ;
52- }
41+ [ TestMethod ]
42+ public void ConvertXlsFileUseObjectToExcelTest ( )
43+ {
44+ var models = GetModels ( ) ;
45+ var path = GetFilePath ( "test.xls" ) ;
46+ ExcelHelper . ObjectToExcel ( models , path ) ;
47+ Assert . IsTrue ( File . Exists ( path ) ) ;
48+ var importer = new ExcelImporter ( ) ;
49+ var result = importer . ExcelToObject < ReportModel > ( path ) . ToList ( ) ;
50+ Assert . AreEqual ( models . Count , result . Count ) ;
51+ models . AreEqual ( result ) ;
52+ }
5353
54- [ TestMethod ]
55- public void ConvertXlsFromDataTable ( )
56- {
57- DataTable dt = new DataTable ( ) ;
58- dt . Columns . Add ( new DataColumn ( "姓名" , typeof ( string ) ) ) ;
59- dt . Columns . Add ( new DataColumn ( "Age" , typeof ( int ) ) ) ;
60- DataRow dr = dt . NewRow ( ) ;
61- dr [ "姓名" ] = "吴老狗" ;
62- dr [ "Age" ] = 19 ;
63- dt . Rows . Add ( dr ) ;
64- var bytes = ExcelHelper . ObjectToExcelBytes ( dt , ExcelType . Xls ) ;
65- var path = GetFilePath ( "test.xls" ) ;
66- File . WriteAllBytes ( path , bytes ) ;
67- Assert . IsTrue ( File . Exists ( path ) ) ;
68- }
54+ [ TestMethod ]
55+ public void ConvertXlsFromDataTable ( )
56+ {
57+ var dt = new DataTable ( ) ;
58+ dt . Columns . Add ( new DataColumn ( "姓名" , typeof ( string ) ) ) ;
59+ dt . Columns . Add ( new DataColumn ( "Age" , typeof ( int ) ) ) ;
60+ var dr = dt . NewRow ( ) ;
61+ dr [ "姓名" ] = "吴老狗" ;
62+ dr [ "Age" ] = 19 ;
63+ dt . Rows . Add ( dr ) ;
64+ var bytes = ExcelHelper . ObjectToExcelBytes ( dt , ExcelType . Xls ) ;
65+ var path = GetFilePath ( "test.xls" ) ;
66+ File . WriteAllBytes ( path , bytes ) ;
67+ Assert . IsTrue ( File . Exists ( path ) ) ;
68+ }
6969
70- [ TestMethod ]
71- public void ConvertXlsxBytesTest ( )
72- {
73- var models = GetModels ( ) ;
74- var array = ExcelHelper . ObjectToExcelBytes ( models , ExcelType . Xlsx ) ;
75- Assert . IsTrue ( array . Length != 0 ) ;
76- var excelImporter = new ExcelImporter ( ) ;
77- var result = excelImporter . ExcelToObject < ReportModel > ( array ) . ToList ( ) ;
78- models . AreEqual ( result ) ;
79- }
70+ [ TestMethod ]
71+ public void ConvertXlsxBytesTest ( )
72+ {
73+ var models = GetModels ( ) ;
74+ var array = ExcelHelper . ObjectToExcelBytes ( models , ExcelType . Xlsx ) ;
75+ Assert . IsTrue ( array . Length != 0 ) ;
76+ var excelImporter = new ExcelImporter ( ) ;
77+ var result = excelImporter . ExcelToObject < ReportModel > ( array ) . ToList ( ) ;
78+ models . AreEqual ( result ) ;
79+ }
8080
81- [ TestMethod ]
82- public void ConvertXlsxFileTest ( )
83- {
84- var models = GetModels ( ) ;
85- var bytes = ExcelHelper . ObjectToExcelBytes ( models , ExcelType . Xlsx ) ;
86- var path = GetFilePath ( "test.xlsx" ) ;
87- File . WriteAllBytes ( path , bytes ) ;
88- Assert . IsTrue ( File . Exists ( path ) ) ;
89- var importer = new ExcelImporter ( ) ;
90- var result = importer . ExcelToObject < ReportModel > ( path ) . ToList ( ) ;
91- Assert . AreEqual ( models . Count , result . Count ) ;
92- models . AreEqual ( result ) ;
93- }
81+ [ TestMethod ]
82+ public void ConvertXlsxFileTest ( )
83+ {
84+ var models = GetModels ( ) ;
85+ var bytes = ExcelHelper . ObjectToExcelBytes ( models , ExcelType . Xlsx ) ;
86+ var path = GetFilePath ( "test.xlsx" ) ;
87+ File . WriteAllBytes ( path , bytes ) ;
88+ Assert . IsTrue ( File . Exists ( path ) ) ;
89+ var importer = new ExcelImporter ( ) ;
90+ var result = importer . ExcelToObject < ReportModel > ( path ) . ToList ( ) ;
91+ Assert . AreEqual ( models . Count , result . Count ) ;
92+ models . AreEqual ( result ) ;
93+ }
9494
95- [ TestMethod ]
96- public void ConvertXlsxWithDictionary ( )
95+ [ TestMethod ]
96+ public void ConvertXlsxWithDictionary ( )
97+ {
98+ var list = new List < Dictionary < string , object > >
9799 {
98- var list = new List < Dictionary < string , object > >
99- {
100- new Dictionary < string , object > { [ "姓名" ] = "吴老狗" , [ "Age" ] = "19" } ,
101- new Dictionary < string , object > { [ "姓名" ] = "老林" , [ "Age" ] = "50" }
102- } ;
103- var bytes = ExcelHelper . ObjectToExcelBytes ( list , ExcelType . Xlsx ) ;
104- var path = GetFilePath ( "test.xlsx" ) ;
105- File . WriteAllBytes ( path , bytes ) ;
106- var result = ExcelHelper . ExcelToObject < Dictionary < string , object > > ( bytes ) . ToList ( ) ;
107- Assert . AreEqual (
108- JsonConvert . SerializeObject ( list ) ,
109- JsonConvert . SerializeObject ( result )
110- ) ;
111- }
100+ new ( ) { [ "姓名" ] = "吴老狗" , [ "Age" ] = "19" } ,
101+ new ( ) { [ "姓名" ] = "老林" , [ "Age" ] = "50" }
102+ } ;
103+ var bytes = ExcelHelper . ObjectToExcelBytes ( list , ExcelType . Xlsx ) ;
104+ var path = GetFilePath ( "test.xlsx" ) ;
105+ File . WriteAllBytes ( path , bytes ) ;
106+ var result = ExcelHelper . ExcelToObject < Dictionary < string , object > > ( bytes ) . ToList ( ) ;
107+ Assert . AreEqual (
108+ JsonConvert . SerializeObject ( list ) ,
109+ JsonConvert . SerializeObject ( result )
110+ ) ;
111+ }
112112
113- private ReportModelCollection GetModels ( )
113+ private ReportModelCollection GetModels ( )
114+ {
115+ return new ReportModelCollection
114116 {
115- return new ReportModelCollection
117+ new ( )
118+ {
119+ Name = "a" , Title = "b" , Enabled = true
120+ } ,
121+ new ( )
122+ {
123+ Name = "c" , Title = "d" , Enabled = false
124+ } ,
125+ new ( )
116126 {
117- new ReportModel
118- {
119- Name = "a" , Title = "b" , Enabled = true
120- } ,
121- new ReportModel
122- {
123- Name = "c" , Title = "d" , Enabled = false
124- } ,
125- new ReportModel
126- {
127- Name = "f" , Title = "e" , Uri = new Uri ( "http://chsword.cnblogs.com" )
128- }
129- } ;
130- }
127+ Name = "f" , Title = "e" , Uri = new Uri ( "http://chsword.cnblogs.com" )
128+ }
129+ } ;
131130 }
132131}
0 commit comments