5
5
using NUnit . Framework ;
6
6
using Shuttle . Core . Data . Tests . Fakes ;
7
7
8
- namespace Shuttle . Core . Data . Tests
8
+ namespace Shuttle . Core . Data . Tests ;
9
+
10
+ [ TestFixture ]
11
+ public class AssemblerExtensionsFixture
9
12
{
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
+ }
53
52
}
0 commit comments