Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(927)

Side by Side Diff: packages/charted/test.disabled/charts/transformers/transpose_transformer_test.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 library charted.test.transposetransformer;
2
3 import 'package:charted/charts/charts.dart';
4 import 'package:unittest/unittest.dart';
5
6 main() {
7 List COLUMNS = [
8 new ChartColumnSpec(label:'Country', type:ChartColumnSpec.TYPE_STRING),
9 new ChartColumnSpec(label:'Stats1'),
10 new ChartColumnSpec(label:'Stats2'),
11 new ChartColumnSpec(label:'Stats3')
12 ];
13
14 const List DATA = const [
15 const['USA', 9.50, 50, 2000],
16 const['Japan',1.50, 99, 2000],
17 const['Taiwan', 3.50, 127, 1337],
18 const['France', 2.50, 29, 6000],
19 const['Germany', 10.99, 999, 10000],
20 const['England', 2.50, 10, 3000],
21 const['Brazil', 1.50, 27, 6000],
22 const['Argentina', 5.50, 37, 2000],
23 ];
24
25 ChartData inputData = new ChartData(COLUMNS, DATA);
26
27 test('Transpose ChartData', () {
28 TransposeTransformer transformer = new TransposeTransformer();
29 ChartData result = transformer.transform(inputData);
30 // Expected data:
31 // ['Stats1', 9.50, 1.50, 3.50, 2.50, 10.99, 2.50, 1.50, 5.50]
32 // ['Stats2', 50, 99, 127, 29, 999, 10, 27, 37]
33 // ['Stats3', 2000, 2000, 1337, 6000, 10000, 3000, 6000, 2000]
34 // While The chart column spec should contain new column specs with label
35 // equal to the list of country names.
36
37 // Stats1
38 expect(result.rows.elementAt(0).elementAt(0), equals('Stats1'));
39 expect(result.rows.elementAt(0).elementAt(1), equals(9.50));
40 expect(result.rows.elementAt(0).elementAt(2), equals(1.50));
41 expect(result.rows.elementAt(0).elementAt(3), equals(3.50));
42 expect(result.rows.elementAt(0).elementAt(4), equals(2.50));
43 expect(result.rows.elementAt(0).elementAt(5), equals(10.99));
44
45 // Stats2
46 expect(result.rows.elementAt(1).elementAt(0), equals('Stats2'));
47 expect(result.rows.elementAt(1).elementAt(1), equals(50));
48 expect(result.rows.elementAt(1).elementAt(2), equals(99));
49 expect(result.rows.elementAt(1).elementAt(3), equals(127));
50 expect(result.rows.elementAt(1).elementAt(4), equals(29));
51 expect(result.rows.elementAt(1).elementAt(5), equals(999));
52
53 // Stats3
54 expect(result.rows.elementAt(2).elementAt(0), equals('Stats3'));
55 expect(result.rows.elementAt(2).elementAt(1), equals(2000));
56 expect(result.rows.elementAt(2).elementAt(2), equals(2000));
57 expect(result.rows.elementAt(2).elementAt(3), equals(1337));
58 expect(result.rows.elementAt(2).elementAt(4), equals(6000));
59 expect(result.rows.elementAt(2).elementAt(5), equals(10000));
60
61 // ColumnSpecs
62 expect(result.columns.elementAt(0).label, equals('Country'));
63 expect(result.columns.elementAt(1).label, equals('USA'));
64 expect(result.columns.elementAt(2).label, equals('Japan'));
65 expect(result.columns.elementAt(3).label, equals('Taiwan'));
66 expect(result.columns.elementAt(4).label, equals('France'));
67 expect(result.columns.elementAt(5).label, equals('Germany'));
68 expect(result.columns.elementAt(6).label, equals('England'));
69 expect(result.columns.elementAt(7).label, equals('Brazil'));
70
71 });
72
73 test('Transposing data twice should produce the original data', () {
74 TransposeTransformer t1 = new TransposeTransformer();
75 TransposeTransformer t2 = new TransposeTransformer();
76 ChartData result = t2.transform(t1.transform(inputData));
77
78 // Check all values are the same in the result and original data.
79 for (var i = 0; i < result.rows.length; i++) {
80 var row = result.rows.elementAt(i);
81 for (var j = 0; j < row.length; j++) {
82 expect(row.elementAt(j),
83 equals((DATA.elementAt(i) as List).elementAt(j)));
84 }
85 }
86
87 for (var i = 0; i < result.columns.length; i++) {
88 expect(result.columns.elementAt(i).label,
89 equals((COLUMNS.elementAt(i) as ChartColumnSpec).label));
90 }
91 });
92 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698