1+ @TestOn ("dart-vm" )
2+ 
3+ import  'package:test/test.dart' ;
4+ import  'package:DartAngular2SmartTable/smart_table_component.dart' ;
5+ 
6+ void  main () {
7+  test ('transform() asc sort' , () {
8+  OrderByPipe  orderByPipe =  new  OrderByPipe ();
9+  SmartTableRecord  alexRecord =  new  SmartTableRecord ('Alex' ,
10+  35 ,
11+  Sex .male (),
12+  new  Department ('Russia dept.' ),
13+  new  Address ('Moscow' , 'Fuchika str.' , '12F' ));
14+  SmartTableRecord  mariaRecord =  new  SmartTableRecord ('Maria' ,
15+  25 ,
16+  Sex .female (),
17+  new  Department ('Italy dept.' ),
18+  new  Address ('Milano' , 'Corso Magento str.' , '32' ));
19+  SmartTableRecord  innaRecord =  new  SmartTableRecord ('Inna' ,
20+  51 ,
21+  Sex .female (),
22+  new  Department ('Russia dept.' ),
23+  new  Address ('Moscow' , 'Fuchika str.' , '98q' ));
24+  List <SmartTableRecord > smartTableRecordList =  [alexRecord, mariaRecord, innaRecord];
25+ 
26+  List <SmartTableRecord > smartTableRecordListNameByAsc =  [alexRecord, innaRecord, mariaRecord];
27+ 
28+  List <SmartTableRecord > smartTableRecordListResult = 
29+  orderByPipe.transform (smartTableRecordList, 'name' , 'asc' );
30+ 
31+  expect (smartTableRecordListResult, smartTableRecordListNameByAsc);
32+  });
33+ 
34+  test ('transform() des sort' , () {
35+  OrderByPipe  orderByPipe =  new  OrderByPipe ();
36+  SmartTableRecord  alexRecord =  new  SmartTableRecord ('Alex' ,
37+  35 ,
38+  Sex .male (),
39+  new  Department ('Russia dept.' ),
40+  new  Address ('Moscow' , 'Fuchika str.' , '12F' ));
41+  SmartTableRecord  mariaRecord =  new  SmartTableRecord ('Maria' ,
42+  25 ,
43+  Sex .female (),
44+  new  Department ('Italy dept.' ),
45+  new  Address ('Milano' , 'Corso Magento str.' , '32' ));
46+  SmartTableRecord  innaRecord =  new  SmartTableRecord ('Inna' ,
47+  51 ,
48+  Sex .female (),
49+  new  Department ('Russia dept.' ),
50+  new  Address ('Moscow' , 'Fuchika str.' , '98q' ));
51+  List <SmartTableRecord > smartTableRecordList =  [alexRecord, mariaRecord, innaRecord];
52+ 
53+  List <SmartTableRecord > smartTableRecordListNameByDes =  [mariaRecord, innaRecord, alexRecord];
54+ 
55+  List <SmartTableRecord > smartTableRecordListResult = 
56+  orderByPipe.transform (smartTableRecordList, 'name' , 'des' );
57+ 
58+  expect (smartTableRecordListResult, smartTableRecordListNameByDes);
59+  });
60+ 
61+  test ('transform() wrong order' , () {
62+  OrderByPipe  orderByPipe =  new  OrderByPipe ();
63+  SmartTableRecord  alexRecord =  new  SmartTableRecord ('Alex' ,
64+  35 ,
65+  Sex .male (),
66+  new  Department ('Russia dept.' ),
67+  new  Address ('Moscow' , 'Fuchika str.' , '12F' ));
68+  SmartTableRecord  mariaRecord =  new  SmartTableRecord ('Maria' ,
69+  25 ,
70+  Sex .female (),
71+  new  Department ('Italy dept.' ),
72+  new  Address ('Milano' , 'Corso Magento str.' , '32' ));
73+  SmartTableRecord  innaRecord =  new  SmartTableRecord ('Inna' ,
74+  51 ,
75+  Sex .female (),
76+  new  Department ('Russia dept.' ),
77+  new  Address ('Moscow' , 'Fuchika str.' , '98q' ));
78+  List <SmartTableRecord > smartTableRecordList =  [alexRecord, mariaRecord, innaRecord];
79+ 
80+  List <SmartTableRecord > smartTableRecordListNameWrongOrder =  [alexRecord, mariaRecord, innaRecord];
81+ 
82+  List <SmartTableRecord > smartTableRecordListResult = 
83+  orderByPipe.transform (smartTableRecordList, 'name' , 'wrongOrder' );
84+ 
85+  expect (smartTableRecordListResult, smartTableRecordListNameWrongOrder);
86+  });
87+ 
88+  test ('transform() wrong field' , () {
89+  OrderByPipe  orderByPipe =  new  OrderByPipe ();
90+  SmartTableRecord  alexRecord =  new  SmartTableRecord ('Alex' ,
91+  35 ,
92+  Sex .male (),
93+  new  Department ('Russia dept.' ),
94+  new  Address ('Moscow' , 'Fuchika str.' , '12F' ));
95+  SmartTableRecord  mariaRecord =  new  SmartTableRecord ('Maria' ,
96+  25 ,
97+  Sex .female (),
98+  new  Department ('Italy dept.' ),
99+  new  Address ('Milano' , 'Corso Magento str.' , '32' ));
100+  SmartTableRecord  innaRecord =  new  SmartTableRecord ('Inna' ,
101+  51 ,
102+  Sex .female (),
103+  new  Department ('Russia dept.' ),
104+  new  Address ('Moscow' , 'Fuchika str.' , '98q' ));
105+  List <SmartTableRecord > smartTableRecordList =  [alexRecord, mariaRecord, innaRecord];
106+ 
107+  try  {
108+  orderByPipe.transform (smartTableRecordList, 'wrongField' , 'asc' );
109+  expect (true , false );
110+  } on  NoSuchMethodError  {
111+  expect (true , true );
112+  }
113+  });
114+ }
0 commit comments