Esempio n. 1
0
        public void BulkDataRead()
        {
            var path     = Path.GetFullPath("test.txt");
            var bulkData = new BulkUriByteBuffer("file:" + path);

            Assert.Throws <InvalidOperationException>(() => bulkData.Data);
            Assert.Throws <InvalidOperationException>(() => bulkData.Size);

            bulkData.GetData();

            var target = new DicomDataset();

            target.Add(new DicomOtherWord(DicomTag.PixelData, bulkData));
            var json           = JsonConvert.SerializeObject(target, Formatting.Indented, new JsonDicomConverter());
            var reconstituated = JsonConvert.DeserializeObject <DicomDataset>(json, new JsonDicomConverter());

            Console.WriteLine(json);
            var json2 = JsonConvert.SerializeObject(reconstituated, Formatting.Indented, new JsonDicomConverter());

            Assert.Equal(json, json2);

            ((BulkUriByteBuffer)reconstituated.Get <IByteBuffer>(DicomTag.PixelData)).GetData();

            Assert.True(ValueEquals(target, reconstituated));

            byte[] expectedPixelData = File.ReadAllBytes("test.txt");

            Assert.Equal(target.Get <IByteBuffer>(DicomTag.PixelData).Size, (uint)expectedPixelData.Length);
            Assert.True(target.Get <byte[]>(DicomTag.PixelData).SequenceEqual(expectedPixelData));
            Assert.Equal(reconstituated.Get <IByteBuffer>(DicomTag.PixelData).Size, (uint)expectedPixelData.Length);
            Assert.True(reconstituated.Get <byte[]>(DicomTag.PixelData).SequenceEqual(expectedPixelData));
        }
        private static IByteBuffer ReadJsonBulkDataUri(JsonReader reader)
        {
            reader.Read();
            if (reader.TokenType != JsonToken.String)
            {
                throw new JsonReaderException("Malformed DICOM json");
            }
            var data = new BulkUriByteBuffer((string)reader.Value);

            reader.Read();
            return(data);
        }
Esempio n. 3
0
        public void TestReadBulkData()
        {
            var path     = Path.GetFullPath("test.txt");
            var bulkData = new BulkUriByteBuffer("file:" + path);

            Assert.Throws <InvalidOperationException>(() => bulkData.Data);
            Assert.Throws <InvalidOperationException>(() => bulkData.Size);

            bulkData.GetData();

            byte[] expected = File.ReadAllBytes("test.txt");

            Assert.True(bulkData.Data.SequenceEqual(expected));
            Assert.Equal(bulkData.Size, (uint)expected.Length);
        }