@@ -281,5 +281,40 @@ public void TranslateInstantiation_InvalidExpression()
281
281
var expression = GetTransform ( e => e . SingleNumber ) ;
282
282
ExpressionTranslation . TranslateInstantiation ( expression ) ;
283
283
}
284
+
285
+ [ TestMethod ]
286
+ public void TranslateMember_SingleLevelMember ( )
287
+ {
288
+ var expression = GetTransform ( e => e . SingleString ) ;
289
+ var result = ExpressionTranslation . TranslateMember ( expression ) ;
290
+ var expected = new BsonString ( "SingleString" ) ;
291
+ Assert . AreEqual ( expected , result ) ;
292
+ }
293
+
294
+ [ TestMethod ]
295
+ public void TranslateMember_MultiLevelMember ( )
296
+ {
297
+ var expression = GetTransform ( e => e . SingleModel . SingleNumber ) ;
298
+ var result = ExpressionTranslation . TranslateMember ( expression ) ;
299
+ var expected = new BsonString ( "SingleModel.SingleNumber" ) ;
300
+ Assert . AreEqual ( expected , result ) ;
301
+ }
302
+
303
+ [ TestMethod ]
304
+ public void TranslateMember_MemberWithArrayIndex_AtStart ( )
305
+ {
306
+ var expression = GetTransform ( e => e . ArrayOfModels [ 3 ] . SingleNumber ) ;
307
+ var result = ExpressionTranslation . TranslateMember ( expression ) ;
308
+ var expected = new BsonString ( "ArrayOfModels.3.SingleNumber" ) ;
309
+ Assert . AreEqual ( expected , result ) ;
310
+ }
311
+ [ TestMethod ]
312
+ public void TranslateMember_MemberWithArrayIndex_AtEnd ( )
313
+ {
314
+ var expression = GetTransform ( e => e . SingleModel . ArrayOfModels [ 2 ] ) ;
315
+ var result = ExpressionTranslation . TranslateMember ( expression ) ;
316
+ var expected = new BsonString ( "SingleModel.ArrayOfModels.2" ) ;
317
+ Assert . AreEqual ( expected , result ) ;
318
+ }
284
319
}
285
320
}
0 commit comments