@@ -490,4 +490,94 @@ public void registersMultiplePullAllClauses() {
490
490
assertThat (pullAll .get ("field1" ), is (notNullValue ()));
491
491
assertThat (pullAll .get ("field2" ), is (notNullValue ()));
492
492
}
493
+
494
+ /**
495
+ * @see DATAMONGO-1404
496
+ */
497
+ @ Test (expected = IllegalArgumentException .class )
498
+ public void maxShouldThrowExceptionForNullMultiplier () {
499
+ new Update ().max ("key" , null );
500
+ }
501
+
502
+ /**
503
+ * @see DATAMONGO-1404
504
+ */
505
+ @ Test (expected = IllegalArgumentException .class )
506
+ public void minShouldThrowExceptionForNullMultiplier () {
507
+ new Update ().min ("key" , null );
508
+ }
509
+
510
+ /**
511
+ * @see DATAMONGO-1404
512
+ */
513
+ @ Test
514
+ public void getUpdateObjectShouldReturnCorrectRepresentationForMax () {
515
+
516
+ Update update = new Update ().max ("key" , 10 );
517
+
518
+ assertThat (update .getUpdateObject (), equalTo (new Document ().append ("$max" , new Document ("key" , 10 ))));
519
+ }
520
+
521
+ /**
522
+ * @see DATAMONGO-1404
523
+ */
524
+ @ Test
525
+ public void getUpdateObjectShouldReturnCorrectRepresentationForMin () {
526
+
527
+ Update update = new Update ().min ("key" , 10 );
528
+
529
+ assertThat (update .getUpdateObject (), equalTo (new Document ().append ("$min" , new Document ("key" , 10 ))));
530
+ }
531
+
532
+ /**
533
+ * @see DATAMONGO-1404
534
+ */
535
+ @ Test
536
+ public void shouldSuppressPreviousValueForMax () {
537
+
538
+ Update update = new Update ().max ("key" , 10 );
539
+
540
+ update .max ("key" , 99 );
541
+
542
+ assertThat (update .getUpdateObject (), equalTo (new Document ().append ("$max" , new Document ("key" , 99 ))));
543
+ }
544
+
545
+ /**
546
+ * @see DATAMONGO-1404
547
+ */
548
+ @ Test
549
+ public void shouldSuppressPreviousValueForMin () {
550
+
551
+ Update update = new Update ().min ("key" , 10 );
552
+
553
+ update .max ("key" , 99 );
554
+
555
+ assertThat (update .getUpdateObject (), equalTo (new Document ().append ("$min9" , new Document ("key" , 99 ))));
556
+ }
557
+
558
+ /**
559
+ * @see DATAMONGO-1404
560
+ */
561
+ @ Test
562
+ public void getUpdateObjectShouldReturnCorrectDateRepresentationForMax () {
563
+
564
+ final java .util .Date date = new java .util .Date ();
565
+
566
+ Update update = new Update ().max ("key" , date );
567
+
568
+ assertThat (update .getUpdateObject (), equalTo (new Document ().append ("$max" , new Document ("key" , date ))));
569
+ }
570
+
571
+ /**
572
+ * @see DATAMONGO-1404
573
+ */
574
+ @ Test
575
+ public void getUpdateObjectShouldReturnCorrectDateRepresentationForMin () {
576
+
577
+ final java .util .Date date = new java .util .Date ();
578
+
579
+ Update update = new Update ().min ("key" , date );
580
+
581
+ assertThat (update .getUpdateObject (), equalTo (new Document ().append ("$min" , new Document ("key" , date ))));
582
+ }
493
583
}
0 commit comments