@@ -260,6 +260,65 @@ public void Max()
260260 Assert . AreEqual ( 96 , value ) ;
261261 }
262262
263+ [ Test ]
264+ public void Median_CellRangeOfNonNumericValues_ThrowsApplicationException ( )
265+ {
266+ //Arrange
267+ var ws = workbook . Worksheets . First ( ) ;
268+
269+ //Act - Assert
270+ Assert . Throws < ApplicationException > ( ( ) =>
271+ {
272+ ws . Evaluate ( "AVERAGE(D3:D45)" ) ;
273+ } ) ;
274+ }
275+
276+ [ Test ]
277+ public void Median_EvenCountOfCellRange_ReturnsAverageOfTwoElementsInMiddleOfSortedList ( )
278+ {
279+ //Arrange
280+ var ws = workbook . Worksheets . First ( ) ;
281+
282+ //Act
283+ double value = ws . Evaluate ( "MEDIAN(I3:I10)" ) . CastTo < double > ( ) ;
284+
285+ //Assert
286+ Assert . AreEqual ( 244.225 , value , tolerance ) ;
287+ }
288+
289+ [ Test ]
290+ public void Median_EvenCountOfManualNumbers_ReturnsAverageOfTwoElementsInMiddleOfSortedList ( )
291+ {
292+ //Act
293+ double value = workbook . Evaluate ( "MEDIAN(-27.5,93.93,64.51,-70.56)" ) . CastTo < double > ( ) ;
294+
295+ //Assert
296+ Assert . AreEqual ( 18.505 , value , tolerance ) ;
297+ }
298+
299+ [ Test ]
300+ public void Median_OddCountOfCellRange_ReturnsElementInMiddleOfSortedList ( )
301+ {
302+ //Arrange
303+ var ws = workbook . Worksheets . First ( ) ;
304+
305+ //Act
306+ double value = ws . Evaluate ( "MEDIAN(I3:I11)" ) . CastTo < double > ( ) ;
307+
308+ //Assert
309+ Assert . AreEqual ( 189.05 , value , tolerance ) ;
310+ }
311+
312+ [ Test ]
313+ public void Median_OddCountOfManualNumbers_ReturnsElementInMiddleOfSortedList ( )
314+ {
315+ //Act
316+ double value = workbook . Evaluate ( "MEDIAN(-27.5,93.93,64.51,-70.56,101.65)" ) . CastTo < double > ( ) ;
317+
318+ //Assert
319+ Assert . AreEqual ( 64.51 , value , tolerance ) ;
320+ }
321+
263322 [ Test ]
264323 public void Min ( )
265324 {
@@ -391,66 +450,6 @@ public void VarP()
391450 value = workbook . Evaluate ( @"=VARP(Data!H:H)" ) . CastTo < double > ( ) ;
392451 Assert . AreEqual ( 2189.430863 , value , tolerance ) ;
393452 }
394-
395- [ Test ]
396- public void Median_OddCountOfManualNumbers_ReturnsElementInMiddleOfSortedList ( )
397- {
398- //Act
399- double value = workbook . Evaluate ( "MEDIAN(-27.5,93.93,64.51,-70.56,101.65)" ) . CastTo < double > ( ) ;
400-
401- //Assert
402- Assert . AreEqual ( 64.51 , value , tolerance ) ;
403- }
404-
405- [ Test ]
406- public void Median_OddCountOfCellRange_ReturnsElementInMiddleOfSortedList ( )
407- {
408- //Arrange
409- var ws = workbook . Worksheets . First ( ) ;
410-
411- //Act
412- double value = ws . Evaluate ( "MEDIAN(I3:I11)" ) . CastTo < double > ( ) ;
413-
414- //Assert
415- Assert . AreEqual ( 189.05 , value , tolerance ) ;
416- }
417-
418- [ Test ]
419- public void Median_EvenCountOfManualNumbers_ReturnsAverageOfTwoElementsInMiddleOfSortedList ( )
420- {
421- //Act
422- double value = workbook . Evaluate ( "MEDIAN(-27.5,93.93,64.51,-70.56)" ) . CastTo < double > ( ) ;
423-
424- //Assert
425- Assert . AreEqual ( 18.505 , value , tolerance ) ;
426- }
427-
428- [ Test ]
429- public void Median_EvenCountOfCellRange_ReturnsAverageOfTwoElementsInMiddleOfSortedList ( )
430- {
431- //Arrange
432- var ws = workbook . Worksheets . First ( ) ;
433-
434- //Act
435- double value = ws . Evaluate ( "MEDIAN(I3:I10)" ) . CastTo < double > ( ) ;
436-
437- //Assert
438- Assert . AreEqual ( 244.225 , value , tolerance ) ;
439- }
440-
441- [ Test ]
442- public void Median_CellRangeOfNonNumericValues_ThrowsApplicationException ( )
443- {
444- //Arrange
445- var ws = workbook . Worksheets . First ( ) ;
446-
447- //Act - Assert
448- Assert . Throws < ApplicationException > ( ( ) =>
449- {
450- ws . Evaluate ( "AVERAGE(D3:D45)" ) ;
451- } ) ;
452- }
453-
454453 private XLWorkbook SetupWorkbook ( )
455454 {
456455 var wb = new XLWorkbook ( ) ;
0 commit comments