Skip to content

Commit 4e5322b

Browse files
author
rstam
committed
Fixed CSHARP-415 and CSHARP-417. Fix is actually in earlier commits. In this commit I'm just making sure there are adequate unit tests to verify the fix.
1 parent 3dcaec7 commit 4e5322b

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

BsonUnitTests/ObjectModel/BsonDocumentTests.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -310,14 +310,22 @@ public void TestContainsValue()
310310
}
311311

312312
[Test]
313-
public void TestCreate()
313+
public void TestCreateFromDictionary()
314314
{
315-
var dictionary = new Dictionary<string, object> { { "x", 1 } };
315+
var dictionary = new Dictionary<string, object> { { "x", 1 }, { "n", null }, { "a", new object[] { 1, null } } }; // null will be mapped to BsonNull.Value
316316
var document = BsonDocument.Create(dictionary);
317-
Assert.AreEqual(1, document.ElementCount);
317+
Assert.AreEqual(3, document.ElementCount);
318318
Assert.AreEqual(1, document["x"].AsInt32);
319+
Assert.AreSame(BsonNull.Value, document["n"]);
320+
Assert.IsTrue(document["a"].IsBsonArray);
321+
Assert.AreEqual(2, document["a"].AsBsonArray.Count);
322+
Assert.AreEqual(1, document["a"].AsBsonArray[0].AsInt32);
323+
Assert.AreSame(BsonNull.Value, document["a"].AsBsonArray[1]);
319324
Assert.AreEqual(true, document.Contains("x"));
325+
Assert.AreEqual(true, document.Contains("n"));
326+
Assert.AreEqual(true, document.Contains("a"));
320327
Assert.AreEqual(true, document.ContainsValue(1));
328+
Assert.AreEqual(true, document.ContainsValue(BsonNull.Value));
321329
}
322330

323331
[Test]

0 commit comments

Comments
 (0)