55using NUnit . Framework ;
66using Shuttle . Core . Data . Tests . Fakes ;
77
8- namespace Shuttle . Core . Data . Tests
8+ namespace Shuttle . Core . Data . Tests ;
9+
10+ [ TestFixture ]
11+ public class AssemblerExtensionsFixture
912{
10- [ TestFixture ]
11- public class AssemblerExtensionsFixture
12- {
13- [ Test ]
14- public void Should_be_able_to_assemble_item ( )
15- {
16- var now = DateTime . Now ;
17- var mappedData = new MappedData ( ) ;
18-
19- var orderTable = new DataTable ( ) ;
20-
21- orderTable . Columns . Add ( "OrderNumber" , typeof ( string ) ) ;
22- orderTable . Columns . Add ( "OrderDate" , typeof ( DateTime ) ) ;
23-
24- const string orderNumber = "ON-10" ;
25-
26- mappedData . Add ( new MappedRow < Order > ( orderTable . Rows . Add ( orderNumber , now ) , new Order ( orderNumber , now ) ) ) ;
27-
28- var orderLineTable = new DataTable ( ) ;
29-
30- orderLineTable . Columns . Add ( "OrderNumber" , typeof ( string ) ) ;
31- orderLineTable . Columns . Add ( "ProductId" , typeof ( string ) ) ;
32- orderLineTable . Columns . Add ( "Quantity" , typeof ( int ) ) ;
33- orderLineTable . Columns . Add ( "UnitCost" , typeof ( double ) ) ;
34-
35- mappedData . Add ( new List < MappedRow < OrderLine > >
36- {
37- new MappedRow < OrderLine > ( orderLineTable . Rows . Add ( orderNumber , "SKU-1" , 5 , 10 ) , new OrderLine ( "SKU-1" , 5 , 10 ) ) ,
38- new MappedRow < OrderLine > ( orderLineTable . Rows . Add ( orderNumber , "SKU-2" , 1 , 65 ) , new OrderLine ( "SKU-2" , 1 , 65 ) ) ,
39- new MappedRow < OrderLine > ( orderLineTable . Rows . Add ( orderNumber , "SKU-3" , 10 , 10.5 ) , new OrderLine ( "SKU-3" , 10 , 10.5 ) )
40- } ) ;
41-
42- var order = new OrderAssembler ( ) . AssembleItem ( mappedData ) ;
43-
44- Assert . AreEqual ( orderNumber , order . OrderNumber ) ;
45- Assert . AreEqual ( now , order . OrderDate ) ;
46- Assert . AreEqual ( 3 , order . Lines . Count ( ) ) ;
47- Assert . AreEqual ( 50 , order . Lines . ElementAt ( 0 ) . TotalCost ( ) ) ;
48- Assert . AreEqual ( 65 , order . Lines . ElementAt ( 1 ) . TotalCost ( ) ) ;
49- Assert . AreEqual ( 105 , order . Lines . ElementAt ( 2 ) . TotalCost ( ) ) ;
50- Assert . AreEqual ( 220 , order . Total ( ) ) ;
51- }
52- }
13+ [ Test ]
14+ public void Should_be_able_to_assemble_item ( )
15+ {
16+ var now = DateTime . Now ;
17+ var mappedData = new MappedData ( ) ;
18+
19+ var orderTable = new DataTable ( ) ;
20+
21+ orderTable . Columns . Add ( "OrderNumber" , typeof ( string ) ) ;
22+ orderTable . Columns . Add ( "OrderDate" , typeof ( DateTime ) ) ;
23+
24+ const string orderNumber = "ON-10" ;
25+
26+ mappedData . Add ( new MappedRow < Order > ( orderTable . Rows . Add ( orderNumber , now ) , new Order ( orderNumber , now ) ) ) ;
27+
28+ var orderLineTable = new DataTable ( ) ;
29+
30+ orderLineTable . Columns . Add ( "OrderNumber" , typeof ( string ) ) ;
31+ orderLineTable . Columns . Add ( "ProductId" , typeof ( string ) ) ;
32+ orderLineTable . Columns . Add ( "Quantity" , typeof ( int ) ) ;
33+ orderLineTable . Columns . Add ( "UnitCost" , typeof ( double ) ) ;
34+
35+ mappedData . Add ( new List < MappedRow < OrderLine > >
36+ {
37+ new ( orderLineTable . Rows . Add ( orderNumber , "SKU-1" , 5 , 10 ) , new OrderLine ( "SKU-1" , 5 , 10 ) ) ,
38+ new ( orderLineTable . Rows . Add ( orderNumber , "SKU-2" , 1 , 65 ) , new OrderLine ( "SKU-2" , 1 , 65 ) ) ,
39+ new ( orderLineTable . Rows . Add ( orderNumber , "SKU-3" , 10 , 10.5 ) , new OrderLine ( "SKU-3" , 10 , 10.5 ) )
40+ } ) ;
41+
42+ var order = new OrderAssembler ( ) . AssembleItem ( mappedData ) ;
43+
44+ Assert . AreEqual ( orderNumber , order . OrderNumber ) ;
45+ Assert . AreEqual ( now , order . OrderDate ) ;
46+ Assert . AreEqual ( 3 , order . Lines . Count ( ) ) ;
47+ Assert . AreEqual ( 50 , order . Lines . ElementAt ( 0 ) . TotalCost ( ) ) ;
48+ Assert . AreEqual ( 65 , order . Lines . ElementAt ( 1 ) . TotalCost ( ) ) ;
49+ Assert . AreEqual ( 105 , order . Lines . ElementAt ( 2 ) . TotalCost ( ) ) ;
50+ Assert . AreEqual ( 220 , order . Total ( ) ) ;
51+ }
5352}
0 commit comments