@@ -15,7 +15,7 @@ public void Method_TryGetStartDate_returns_True_when_FromDate_eq_BeginDate()
1515 var weekDays = new WeekDays ( DayOfWeek . Monday ) ;
1616 var firstDayOfWeek = DayOfWeek . Monday ;
1717 var interval = 1 ;
18- var patternHash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , interval ) ;
18+ var patternHash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , interval , DayOfWeek . Sunday ) ;
1919
2020 // Act
2121 var canStart = WeeklyRecurrenceHelper . TryGetStartDate (
@@ -40,7 +40,7 @@ public void Method_TryGetStartDate_returns_True_when_FromDate_gt_BeginDate()
4040 var weekDays = new WeekDays ( DayOfWeek . Monday , DayOfWeek . Friday ) ;
4141 var firstDayOfWeek = DayOfWeek . Monday ;
4242 var interval = 1 ;
43- var patternHash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , interval ) ;
43+ var patternHash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , interval , DayOfWeek . Sunday ) ;
4444
4545 // Act
4646 var canStart = WeeklyRecurrenceHelper . TryGetStartDate (
@@ -65,7 +65,7 @@ public void Method_TryGetStartDate_returns_False_when_FromDate_eq_BeginDate_and_
6565 var weekDays = new WeekDays ( DayOfWeek . Saturday ) ;
6666 var firstDayOfWeek = DayOfWeek . Monday ;
6767 var interval = 1 ;
68- var patternHash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , interval ) ;
68+ var patternHash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , interval , DayOfWeek . Sunday ) ;
6969
7070 // Act
7171 var canStart = WeeklyRecurrenceHelper . TryGetStartDate (
@@ -90,7 +90,7 @@ public void Method_TryGetStartDate_returns_False_when_FromDate_gt_BeginDate_and_
9090 var weekDays = new WeekDays ( DayOfWeek . Monday , DayOfWeek . Saturday ) ;
9191 var firstDayOfWeek = DayOfWeek . Monday ;
9292 var interval = 1 ;
93- var patternHash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , interval ) ;
93+ var patternHash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , interval , DayOfWeek . Sunday ) ;
9494
9595 // Act
9696 var canStart = WeeklyRecurrenceHelper . TryGetStartDate (
@@ -115,7 +115,7 @@ public void Method_TryGetStartDate_returns_Result_eq_FromDate()
115115 var fromDate = beginDate . AddDays ( 7 * interval * 2 ) ;
116116 var weekDays = new WeekDays ( DayOfWeek . Monday ) ;
117117 var firstDayOfWeek = DayOfWeek . Monday ;
118- var patternHash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , interval ) ;
118+ var patternHash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , interval , DayOfWeek . Sunday ) ;
119119
120120 // Act
121121 WeeklyRecurrenceHelper . TryGetStartDate (
@@ -140,7 +140,7 @@ public void Method_TryGetStartDate_returns_Result_eq_FromDate_2()
140140 var firstDayOfWeek = DayOfWeek . Monday ;
141141 var weekDays = new WeekDays ( DayOfWeek . Sunday , DayOfWeek . Monday ) ;
142142 var interval = 1 ;
143- var patternHash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , interval ) ;
143+ var patternHash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , interval , DayOfWeek . Sunday ) ;
144144
145145 // Act
146146 WeeklyRecurrenceHelper . TryGetStartDate (
@@ -156,14 +156,52 @@ public void Method_TryGetStartDate_returns_Result_eq_FromDate_2()
156156 startDate . Should ( ) . Be ( fromDate ) ;
157157 }
158158
159+ [ Fact ]
160+ public void Method_GetPatternHash_returns_correct_hash_for_Sunday_and_Monday_with_Sunday_as_FirstDayOfWeek ( )
161+ {
162+ // Arrange
163+ var weekDays = new WeekDays ( DayOfWeek . Sunday , DayOfWeek . Monday ) ;
164+
165+ // Act
166+ var hash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , 2 , DayOfWeek . Sunday ) ;
167+
168+ //Assert
169+ hash [ DayOfWeek . Sunday ] . Should ( ) . Be ( 1 ) ;
170+ hash [ DayOfWeek . Monday ] . Should ( ) . Be ( 13 ) ;
171+ hash [ DayOfWeek . Tuesday ] . Should ( ) . Be ( 0 ) ;
172+ hash [ DayOfWeek . Wednesday ] . Should ( ) . Be ( 0 ) ;
173+ hash [ DayOfWeek . Thursday ] . Should ( ) . Be ( 0 ) ;
174+ hash [ DayOfWeek . Friday ] . Should ( ) . Be ( 0 ) ;
175+ hash [ DayOfWeek . Saturday ] . Should ( ) . Be ( 0 ) ;
176+ }
177+
178+ [ Fact ]
179+ public void Method_GetPatternHash_returns_correct_hash_for_Sunday_and_Monday_with_Monday_as_FirstDayOfWeek ( )
180+ {
181+ // Arrange
182+ var weekDays = new WeekDays ( DayOfWeek . Sunday , DayOfWeek . Monday ) ;
183+
184+ // Act
185+ var hash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , 2 , DayOfWeek . Monday ) ;
186+
187+ //Assert
188+ hash [ DayOfWeek . Sunday ] . Should ( ) . Be ( 8 ) ;
189+ hash [ DayOfWeek . Monday ] . Should ( ) . Be ( 6 ) ;
190+ hash [ DayOfWeek . Tuesday ] . Should ( ) . Be ( 0 ) ;
191+ hash [ DayOfWeek . Wednesday ] . Should ( ) . Be ( 0 ) ;
192+ hash [ DayOfWeek . Thursday ] . Should ( ) . Be ( 0 ) ;
193+ hash [ DayOfWeek . Friday ] . Should ( ) . Be ( 0 ) ;
194+ hash [ DayOfWeek . Saturday ] . Should ( ) . Be ( 0 ) ;
195+ }
196+
159197 [ Fact ]
160198 public void Method_GetPatternHash_returns_correct_hash_for_one_day ( )
161199 {
162200 // Arrange
163201 var weekDays = new WeekDays ( DayOfWeek . Monday ) ;
164202
165203 // Act
166- var hash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , 1 ) ;
204+ var hash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , 1 , DayOfWeek . Sunday ) ;
167205
168206 //Assert
169207 hash [ DayOfWeek . Sunday ] . Should ( ) . Be ( 0 ) ;
@@ -182,7 +220,7 @@ public void Method_GetPatternHash_returns_correct_hash_for_two_days()
182220 var weekDays = new WeekDays ( DayOfWeek . Tuesday , DayOfWeek . Friday ) ;
183221
184222 // Act
185- var hash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , 1 ) ;
223+ var hash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , 1 , DayOfWeek . Sunday ) ;
186224
187225 //Assert
188226 hash [ DayOfWeek . Sunday ] . Should ( ) . Be ( 0 ) ;
@@ -209,7 +247,7 @@ public void Method_GetPatternHash_returns_correct_hash_for_seven_days()
209247 ) ;
210248
211249 // Act
212- var hash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , 1 ) ;
250+ var hash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , 1 , DayOfWeek . Sunday ) ;
213251
214252 //Assert
215253 hash [ DayOfWeek . Sunday ] . Should ( ) . Be ( 1 ) ;
@@ -234,7 +272,7 @@ public void Method_GetPatternHash_returns_correct_hash_for_seven_days_2()
234272 true ) ;
235273
236274 // Act
237- var hash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , 1 ) ;
275+ var hash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , 1 , DayOfWeek . Sunday ) ;
238276
239277 //Assert
240278 hash [ DayOfWeek . Sunday ] . Should ( ) . Be ( 1 ) ;
@@ -262,7 +300,7 @@ public void Method_8_GetPatternHash_returns_correct_hash_for_seven_days()
262300 var weekDays = new WeekDays ( weekDaysArray ) ;
263301
264302 // Act
265- var hash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , 1 ) ;
303+ var hash = WeeklyRecurrenceHelper . GetPatternHash ( weekDays , 1 , DayOfWeek . Sunday ) ;
266304
267305 //Assert
268306 hash [ DayOfWeek . Sunday ] . Should ( ) . Be ( 1 ) ;
0 commit comments