public void WhenHealthVaultFileTransformedToFhir_ThenValuesEqual()
        {
            File file = new File();

            string resourceName = "Microsoft.HealthVault.Fhir.UnitTests.Samples.HealthVaultIcon.png";

            using (System.IO.Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
            {
                DocumentReferenceHelper.WriteByteArrayToHealthVaultFile(file, DocumentReferenceHelper.StreamToByteArray(stream));
            }

            file.ContentType = new CodableValue("image/png");

            var documentReference = file.ToFhir() as DocumentReference;

            Assert.IsNotNull(documentReference);
            Assert.IsNotNull(documentReference.Type);
            Assert.AreEqual(documentReference.Content.Count, 1);
            Assert.IsNotNull(documentReference.Content[0].Attachment);
            Assert.IsNotNull(documentReference.Content[0].Attachment.Data);
            Assert.AreEqual(documentReference.Content[0].Attachment.ContentType, file.ContentType.ToString());

            string fileContentBase64Encoded        = Convert.ToBase64String(file.Content);
            string fhirAttachmentDataBase64Encoded = Convert.ToBase64String(documentReference.Content[0].Attachment.Data);

            Assert.AreEqual(fhirAttachmentDataBase64Encoded, fileContentBase64Encoded);
        }
        public void WhenHealthVaultFileTransformedToFhirToHealthVault_ThenValuesEqual()
        {
            File inputFile = new File();

            string resourceName = "Microsoft.HealthVault.Fhir.UnitTests.Samples.HealthVaultIcon.png";

            using (System.IO.Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
            {
                DocumentReferenceHelper.WriteByteArrayToHealthVaultFile(inputFile, DocumentReferenceHelper.StreamToByteArray(stream));
            }

            inputFile.ContentType   = new CodableValue("image/png");
            inputFile.EffectiveDate = new NodaTime.LocalDateTime(2016, 12, 10, 2, 45, 30);

            var documentReference = inputFile.ToFhir() as DocumentReference;

            var file = documentReference.ToHealthVault() as File;

            Assert.IsNotNull(file);
            Assert.IsNotNull(file.ContentType);
            Assert.AreEqual(file.ContentType.ToString(), inputFile.ContentType.ToString());

            string inputFileContentBase64Encoded = Convert.ToBase64String(inputFile.Content);
            string hvFileContentBase64Encoded    = Convert.ToBase64String(file.Content);

            Assert.AreEqual(inputFileContentBase64Encoded, hvFileContentBase64Encoded);
        }