@@ -57,22 +57,59 @@ public void SummaryAbove()
57
57
[ Fact ]
58
58
public void ScanForGroupsTest ( )
59
59
{
60
- LoadTemplate ( "9_plaindata.xlsx" ) ;
60
+ void AssertGroup ( SubtotalGroup group , string expectedAddress , string expectedTitle )
61
+ {
62
+ group . Range . RangeAddress . ToString ( ) . Should ( ) . Be ( expectedAddress ) ;
63
+ group . Level . Should ( ) . Be ( 1 ) ;
64
+ group . GroupTitle . Should ( ) . Be ( expectedTitle ) ;
65
+ }
66
+
67
+ _workbook = new XLWorkbook ( ) ;
68
+ var sheet = _workbook . AddWorksheet ( "test" ) ;
69
+ sheet . Range ( "A2:A5" ) . Value = "val1" ;
70
+ sheet . Range ( "A6:A9" ) . Value = "val2" ;
71
+ sheet . Range ( "A10:A13" ) . Value = "val3" ;
72
+
73
+ sheet . Range ( "B2:B4" ) . Value = "val4" ;
74
+ sheet . Range ( "B5:B11" ) . Value = "val5" ;
75
+ sheet . Range ( "B12:B13" ) . Value = "val6" ;
76
+
77
+ sheet . Range ( "C2:C3" ) . Value = "val7" ;
78
+ sheet . Range ( "C4:C6" ) . Value = "val8" ;
79
+ sheet . Range ( "C7:C8" ) . Value = "val9" ;
80
+ sheet . Range ( "C9:C12" ) . Value = "val7" ;
81
+ sheet . Range ( "C13:C13" ) . Value = "val8" ;
82
+
83
+ _rng = sheet . Range ( "A2:C13" ) ;
61
84
62
- SubtotalGroup [ ] groups ;
63
85
using ( var subtotal = new Subtotal ( _rng ) )
86
+ {
87
+ var groups = subtotal . ScanForGroups ( 1 ) ;
88
+ groups . Length . Should ( ) . Be ( 3 ) ;
89
+ AssertGroup ( groups [ 0 ] , "A2:C5" , "val1" ) ;
90
+ AssertGroup ( groups [ 1 ] , "A6:C9" , "val2" ) ;
91
+ AssertGroup ( groups [ 2 ] , "A10:C13" , "val3" ) ;
92
+
64
93
groups = subtotal . ScanForGroups ( 2 ) ;
94
+ groups . Length . Should ( ) . Be ( 5 ) ;
95
+ AssertGroup ( groups [ 0 ] , "A2:C4" , "val4" ) ;
96
+ AssertGroup ( groups [ 1 ] , "A5:C5" , "val5" ) ;
97
+ AssertGroup ( groups [ 2 ] , "A6:C9" , "val5" ) ;
98
+ AssertGroup ( groups [ 3 ] , "A10:C11" , "val5" ) ;
99
+ AssertGroup ( groups [ 4 ] , "A12:C13" , "val6" ) ;
65
100
66
- groups . Length . Should ( ) . Be ( 3 ) ;
67
- groups [ 0 ] . Range . RangeAddress . ToString ( ) . Should ( ) . Be ( "C3:I26" ) ;
68
- groups [ 0 ] . Level . Should ( ) . Be ( 1 ) ;
69
- groups [ 0 ] . GroupTitle . Should ( ) . Be ( "Central" ) ;
70
- groups [ 1 ] . Range . RangeAddress . ToString ( ) . Should ( ) . Be ( "C27:I38" ) ;
71
- groups [ 1 ] . Level . Should ( ) . Be ( 1 ) ;
72
- groups [ 1 ] . GroupTitle . Should ( ) . Be ( "East" ) ;
73
- groups [ 2 ] . Range . RangeAddress . ToString ( ) . Should ( ) . Be ( "C39:I44" ) ;
74
- groups [ 2 ] . Level . Should ( ) . Be ( 1 ) ;
75
- groups [ 2 ] . GroupTitle . Should ( ) . Be ( "West" ) ;
101
+ groups = subtotal . ScanForGroups ( 3 ) ;
102
+ groups . Length . Should ( ) . Be ( 9 ) ;
103
+ AssertGroup ( groups [ 0 ] , "A2:C3" , "val7" ) ;
104
+ AssertGroup ( groups [ 1 ] , "A4:C4" , "val8" ) ;
105
+ AssertGroup ( groups [ 2 ] , "A5:C5" , "val8" ) ;
106
+ AssertGroup ( groups [ 3 ] , "A6:C6" , "val8" ) ;
107
+ AssertGroup ( groups [ 4 ] , "A7:C8" , "val9" ) ;
108
+ AssertGroup ( groups [ 5 ] , "A9:C9" , "val7" ) ;
109
+ AssertGroup ( groups [ 6 ] , "A10:C11" , "val7" ) ;
110
+ AssertGroup ( groups [ 7 ] , "A12:C12" , "val7" ) ;
111
+ AssertGroup ( groups [ 8 ] , "A13:C13" , "val8" ) ;
112
+ }
76
113
}
77
114
78
115
[ Fact ]
0 commit comments