@@ -519,55 +519,48 @@ def test_group(self):
519
519
db = self .db
520
520
db .drop_collection ("test" )
521
521
522
- self .assertEqual ([], db .test .group ([], {},
523
- {"count" : 0 },
524
- "function (obj, prev) { "
525
- "prev.count++; }" ))
526
- self .assertEqual ([], db .test .group ([], {},
527
- {"count" : 0 },
528
- "function (obj, prev) { "
529
- "prev.count++; }" , command = True ))
522
+ def group_checker (args , expected ):
523
+ eval = db .test .group (* args )
524
+ cmd = db .test .group (* args , command = True )
525
+ self .assertEqual (eval , expected )
526
+ self .assertEqual (cmd , expected )
527
+ self .assertEqual (eval , cmd )
528
+ #last one is not strictly necessary but there for completeness
529
+
530
+
531
+ args = [[], {},
532
+ {"count" : 0 },
533
+ "function (obj, prev) { prev.count++; }" ]
534
+ expected = []
535
+ group_checker (args , expected )
530
536
531
537
db .test .save ({"a" : 2 })
532
538
db .test .save ({"b" : 5 })
533
539
db .test .save ({"a" : 1 })
534
540
535
- self .assertEqual (3 , db .test .group ([], {},
536
- {"count" : 0 },
537
- "function (obj, prev) { "
538
- "prev.count++; }" )[0 ]["count" ])
539
- self .assertEqual (3 , db .test .group ([], {},
540
- {"count" : 0 },
541
- "function (obj, prev) { "
542
- "prev.count++; }" ,
543
- command = True )[0 ]["count" ])
544
- self .assertEqual (1 , db .test .group ([],
545
- {"a" : {"$gt" : 1 }},
546
- {"count" : 0 },
547
- "function (obj, prev) { "
548
- "prev.count++; }" )[0 ]["count" ])
549
- self .assertEqual (1 , db .test .group ([],
550
- {"a" : {"$gt" : 1 }},
551
- {"count" : 0 },
552
- "function (obj, prev) { "
553
- "prev.count++; }" ,
554
- command = True )[0 ]["count" ])
541
+ args = [[], {},
542
+ {"count" : 0 },
543
+ "function (obj, prev) { prev.count++; }" ]
544
+ expected = [{'count' : 3 }]
545
+ group_checker (args , expected )
546
+
547
+ args = [[],
548
+ {"a" : {"$gt" : 1 }},
549
+ {"count" : 0 },
550
+ "function (obj, prev) { prev.count++; }" ]
551
+ expected = [{'count' : 1 }]
552
+ group_checker (args , expected )
555
553
556
554
db .test .save ({"a" : 2 , "b" : 3 })
557
555
556
+ args = [["a" ], {},
557
+ {"count" : 0 },
558
+ "function (obj, prev) { prev.count++; }" ]
558
559
# NOTE maybe we can't count on this ordering being right
559
560
expected = [{"a" : 2 , "count" : 2 },
560
561
{"a" : None , "count" : 1 },
561
562
{"a" : 1 , "count" : 1 }]
562
- self .assertEqual (expected , db .test .group (["a" ], {},
563
- {"count" : 0 },
564
- "function (obj, prev) { "
565
- "prev.count++; }" ,
566
- command = True ))
567
- self .assertEqual (expected , db .test .group (["a" ], {},
568
- {"count" : 0 },
569
- "function (obj, prev) { "
570
- "prev.count++; }" ))
563
+ group_checker (args , expected )
571
564
572
565
# modifying finalize
573
566
args = [["a" ], {},
@@ -577,8 +570,7 @@ def test_group(self):
577
570
expected = [{"a" : 2 , "count" : 3 },
578
571
{"a" : None , "count" : 2 },
579
572
{"a" : 1 , "count" : 2 }]
580
- self .assertEqual (expected , db .test .group (* args , command = True ))
581
- self .assertEqual (expected , db .test .group (* args ))
573
+ group_checker (args , expected )
582
574
583
575
# returning finalize
584
576
args = [["a" ], {},
@@ -588,9 +580,7 @@ def test_group(self):
588
580
expected = [2 , # a:2
589
581
1 , # a:None
590
582
1 ] # a:1
591
- self .assertEqual (expected , db .test .group (* args , command = True ))
592
- self .assertEqual (expected , db .test .group (* args ))
593
-
583
+ group_checker (args , expected )
594
584
595
585
self .assertRaises (OperationFailure , db .test .group , [], {}, {}, "5 ++ 5" )
596
586
self .assertRaises (OperationFailure , db .test .group , [], {}, {}, "5 ++ 5" , command = True )
0 commit comments