3131import static org .junit .Assert .assertEquals ;
3232import static org .junit .Assert .assertFalse ;
3333import static org .junit .Assert .assertNotNull ;
34- import static org .junit .Assert .assertNull ;
3534import static org .junit .Assert .assertTrue ;
3635import static org .junit .Assert .fail ;
3736import static org .junit .Assume .assumeFalse ;
@@ -43,24 +42,32 @@ public class DBCollectionTest extends TestCase {
4342 public void shouldCreateIdOnInsertIfThereIsNone () {
4443 BasicDBObject document = new BasicDBObject ();
4544 collection .insert (document );
45+ assertEquals (ObjectId .class , document .get ("_id" ).getClass ());
4646 assertEquals (document , collection .findOne ());
4747 }
4848
4949 @ Test
50- public void shouldPreserveNullIdOnInsert () {
50+ public void shouldCreateIdOnInsertIfTheValueIsNull () {
5151 BasicDBObject document = new BasicDBObject ("_id" , null );
5252 collection .insert (document );
53- assertNull ( document .get ("_id" ));
53+ assertEquals ( ObjectId . class , document .get ("_id" ). getClass ( ));
5454 assertEquals (document , collection .findOne ());
5555 }
5656
5757 @ Test
58- public void saveShouldUpdateAnExistingDocumentWithNullId () {
58+ public void saveShouldInsertADocumentWithNullId () {
5959 BasicDBObject document = new BasicDBObject ("_id" , null );
60- collection .insert (document );
61- document .put ("x" , 1 );
6260 collection .save (document );
63- assertNull (document .get ("_id" ));
61+ assertEquals (ObjectId .class , document .get ("_id" ).getClass ());
62+ assertEquals (document , collection .findOne ());
63+ }
64+
65+ @ Test
66+ public void saveShouldInsertADocumentWithNewObjectId () {
67+ ObjectId newObjectId = new ObjectId ();
68+ BasicDBObject document = new BasicDBObject ("_id" , newObjectId );
69+ collection .save (document );
70+ assertEquals (newObjectId , document .get ("_id" ));
6471 assertEquals (document , collection .findOne ());
6572 }
6673
0 commit comments