public void GivenDocumentsWhenWrittenAndReadThenDocumentsIsReturned() { var documents = new Documents { WorkItems = new List <WorkItem> { new WorkItem { BoundaryId = 5 } }, WorkItemOperations = new List <WorkItemOperation> { new WorkItemOperation { Description = "Hello" } }, LoggedData = new List <LoggedData> { new LoggedData { OperationData = new List <OperationData> { new OperationData() } }, }, }; var filePath = Path.Combine(_testCardPath, "adm", "document.adm"); _protobufSerializer.Write(filePath, documents); var documentsIn = _protobufSerializer.Read <Documents>(filePath); Assert.AreEqual(documents.WorkItems.First().BoundaryId, documentsIn.WorkItems.First().BoundaryId); Assert.AreEqual(documents.WorkItemOperations.First().Description, documentsIn.WorkItemOperations.First().Description); Assert.AreEqual(documents.LoggedData.First().Id.ReferenceId, documentsIn.LoggedData.First().Id.ReferenceId); Assert.AreEqual(documents.LoggedData.First().OperationData.First().Id.ReferenceId, documentsIn.LoggedData.First().OperationData.First().Id.ReferenceId); }