public void TestConvertToBsonViaJson() { Person person = new Person { Id = "51ca5da43d1b18cc15000000", Name = "Luke Skywalker", Gender = "Male", DateOfBirth = new DateTime(1977, 5, 25) }; //// person.DateOfDeath = Deliberately excluded BsonDocument document = BsonConverter.ConvertToBsonViaJson(person); Assert.AreEqual(person.Id, document["_id"].AsObjectId.ToString()); Assert.AreEqual(person.Name, document["Name"].AsString); Assert.AreEqual(person.Gender, document["Gender"].AsString); Assert.AreEqual(person.DateOfBirth.ToUniversalTime(), document["DateOfBirth"].ToUniversalTime()); Assert.IsTrue(document["DateOfDeath"].IsBsonNull); }
public void TestTwoWay() { Person p1 = new Person { DateOfBirth = DateTime.Now, Gender = "Female", Id = Guid.NewGuid().ToString("N"), Name = "Jane Bloggs" }; string token = EncryptedJsonSerializer.Serialize(this.crypto, p1); Person p2 = EncryptedJsonSerializer.Deserialize<Person>(this.crypto, token); Assert.AreEqual(p1.DateOfBirth.ToUniversalTime().ToShortDateString(), p2.DateOfBirth.ToUniversalTime().ToShortDateString()); Assert.IsNull(p2.DateOfDeath); Assert.AreEqual(p1.Gender, p2.Gender); Assert.AreEqual(p1.Id, p2.Id); Assert.AreEqual(p1.Name, p2.Name); }
public void TestConvertToBsonViaJsonNewDocument() { Person person = new Person { Name = "Luke Skywalker", Gender = "Male", DateOfBirth = new DateTime(1977, 5, 25) }; //// person.Id = Deliberately excluded //// person.DateOfDeath = Deliberately excluded BsonDocument document = BsonConverter.ConvertToBsonViaJson(person); Assert.IsFalse(document.Contains("_id")); }
public void SerializeDateTimeValue() { Person person = new Person { DateOfBirth = new DateTime(2012, 9, 11, 1, 12, 56, 345, DateTimeKind.Utc) }; string json = JsonConvert.SerializeObject(person); Assert.AreNotEqual(-1, json.IndexOf("\"DateOfBirth\":{\"$date\":1347325976345}", StringComparison.Ordinal)); }
public void SerializeNull() { Person person = new Person { DateOfBirth = new DateTime(2012, 9, 11, 1, 12, 56, 345, DateTimeKind.Utc) }; string json = JsonConvert.SerializeObject(person); Assert.AreNotEqual(-1, json.IndexOf("\"DateOfDeath\":null", StringComparison.Ordinal)); }
public void CanSerializeBsonId() { Person person = new Person { Id = "503bfe78d7eaf00e5c903ecc", Name = "Joe Bloggs", Gender = "Male", DateOfBirth = DateTime.Now }; string json = JsonConvert.SerializeObject(person); Assert.AreNotEqual(-1, json.IndexOf("\"_id\":{\"$oid\":\"503bfe78d7eaf00e5c903ecc\"", StringComparison.Ordinal)); JObject jObject = JObject.Parse(json); Assert.AreEqual(person.Id, jObject.SelectToken("_id").Value<string>("$oid")); }