@@ -354,20 +354,33 @@ private void AssertChangeStreamDocument(ChangeStreamDocument<BsonDocument> actua
354
354
{
355
355
JsonDrivenHelper. EnsureAllFieldsAreValid( expectedDocument, "_id", "documentKey", "operationType", "ns", "fullDocument") ;
356
356
357
+ // assert that all properties of a ChangeStreamDocument can be accessed without an exception being thrown
358
+ var backingDocument = actualDocument. BackingDocument;
359
+ var clusterTime = actualDocument. ClusterTime;
360
+ var collectionNamespace = actualDocument. CollectionNamespace;
361
+ var documentKey = actualDocument. DocumentKey;
362
+ var fullDocument = actualDocument. FullDocument;
363
+ var operationType = actualDocument. OperationType;
364
+ var resumeToken = actualDocument. ResumeToken;
365
+ var updateDescription = actualDocument. UpdateDescription;
366
+
367
+ backingDocument. Should( ) . NotBeNull( ) ;
368
+ clusterTime. Should( ) . NotBeNull( ) ;
369
+
357
370
if ( expectedDocument. Contains( "_id") )
358
371
{
359
- actualDocument . ResumeToken . Should( ) . NotBeNull( ) ;
372
+ resumeToken . Should( ) . NotBeNull( ) ;
360
373
}
361
374
362
375
if ( expectedDocument. Contains( "documentKey") )
363
376
{
364
- actualDocument . DocumentKey . Should( ) . NotBeNull( ) ;
377
+ documentKey . Should( ) . NotBeNull( ) ;
365
378
}
366
379
367
380
if ( expectedDocument. Contains( "operationType") )
368
381
{
369
382
var expectedOperationType = ( ChangeStreamOperationType) Enum. Parse( typeof ( ChangeStreamOperationType) , expectedDocument[ "operationType"] . AsString, ignoreCase: true) ;
370
- actualDocument . OperationType . Should( ) . Be( expectedOperationType) ;
383
+ operationType . Should( ) . Be( expectedOperationType) ;
371
384
}
372
385
373
386
if ( expectedDocument. Contains( "ns") )
@@ -377,15 +390,14 @@ private void AssertChangeStreamDocument(ChangeStreamDocument<BsonDocument> actua
377
390
var expectedDatabaseName = ns[ "db"] . AsString;
378
391
var expectedCollectionName = ns[ "coll"] . AsString;
379
392
var expectedCollectionNamespace = new CollectionNamespace( new DatabaseNamespace( expectedDatabaseName) , expectedCollectionName) ;
380
- actualDocument . CollectionNamespace . Should( ) . Be( expectedCollectionNamespace) ;
393
+ collectionNamespace . Should( ) . Be( expectedCollectionNamespace) ;
381
394
}
382
395
383
396
if ( expectedDocument. Contains( "fullDocument") )
384
397
{
385
- var actualFullDocument = actualDocument. FullDocument;
386
- actualFullDocument. Remove( "_id") ;
387
398
var expectedFullDocument = expectedDocument[ "fullDocument"] . AsBsonDocument;
388
- actualFullDocument. Should( ) . Be( expectedFullDocument) ;
399
+ fullDocument. Remove( "_id") ;
400
+ fullDocument. Should( ) . Be( expectedFullDocument) ;
389
401
}
390
402
}
391
403
0 commit comments