public void CanDeserializeAnEmbeddedDocument() { // Arrange var recordCsvSerializer = new RecordCSVSerializer(null); const string fieldValue = "field"; const string recordString = "TestClassName@Map:{\"EmbeddedDocumentField\":(Name:\"" + fieldValue + "\")}"; // Act var actualDocument = recordCsvSerializer.Deserialize(recordString); // Assert Assert.AreEqual(fieldValue, actualDocument.GetField<string>("Map.EmbeddedDocumentField.Name")); }
public void CanDeserializeARecordStringContainingNestedEmbeddedMaps() { // Arrange var recordCsvSerializer = new RecordCSVSerializer(null); const int innerInteger = 1; string recordString = "TestClassName@EmbeddedMap:{\"NestedEmbeddedMap\":{\"InnerInteger\":" + innerInteger + "}}"; // Act var actualDocument = recordCsvSerializer.Deserialize(recordString); // Assert Assert.AreEqual(innerInteger, actualDocument.GetField<int>("EmbeddedMap.NestedEmbeddedMap.InnerInteger")); }
public void CanDeserializeARecordIdInEmbeddedMap() { // Arrange var recordCsvSerializer = new RecordCSVSerializer(null); const int integerField = 1; var orid = new ORID(1, 2); string recordString = "TestClassName@EmbeddedMap:{\"RecordIdField\":" + orid + "},TestField:" + integerField; // Act var actualDocument = recordCsvSerializer.Deserialize(recordString); // Assert Assert.AreEqual(orid, actualDocument.GetField<ORID>("EmbeddedMap.RecordIdField")); Assert.AreEqual(integerField, actualDocument.GetField<int>("TestField")); }
public void CanDeserializeARecordStringContainingNestedArraysOfEmbeddedMaps() { // Arrange var recordCsvSerializer = new RecordCSVSerializer(null); const int innerInteger = 1; string recordString = "TestClassName@EmbeddedMap:[{\"NestedEmbeddedMap\":[{\"InnerInteger\":" + innerInteger + "}]}]"; // Act var actualDocument = recordCsvSerializer.Deserialize(recordString); // Assert var firstLevelEmbeddedMaps = actualDocument.GetField<List<object>>("EmbeddedMap").Cast<ODocument>().ToArray(); var nestedMaps = firstLevelEmbeddedMaps[0].GetField<List<object>>("NestedEmbeddedMap").Cast<ODocument>().ToArray(); Assert.AreEqual(1, firstLevelEmbeddedMaps.Length); Assert.AreEqual(1, nestedMaps.Length); Assert.AreEqual(innerInteger, nestedMaps[0].GetField<int>("InnerInteger")); }