Exemplo n.º 1
0
        public void Add_PrivateTags_ShouldBeSortedInGroupByteElementCreatorOrder(ushort group, ushort hiElem,
                                                                                 ushort loElem, string hiCreator, string loCreator)
        {
            var dataset = new DicomDataset
            {
                { new DicomTag(group, hiElem, hiCreator), 2 },
                { new DicomTag(group, loElem, loCreator), 1 }
            };

            var firstElem    = dataset.First().Tag.Element;
            var firstCreator = dataset.First().Tag.PrivateCreator.Creator;

            Assert.Equal(loElem, firstElem);
            Assert.Equal(loCreator, firstCreator);
        }
Exemplo n.º 2
0
 public void Add_OtherDoubleElementWithMultipleDoubles_Succeeds()
 {
     var dataset = new DicomDataset();
     dataset.Add(DicomTag.DoubleFloatPixelData, 3.45, 6.78, 9.01);
     Assert.IsType(typeof(DicomOtherDouble), dataset.First());
     Assert.Equal(3, dataset.Get<double[]>(DicomTag.DoubleFloatPixelData).Length);
 }
Exemplo n.º 3
0
 public void Add_OtherDoubleElement_Succeeds()
 {
     var tag = DicomTag.DoubleFloatPixelData;
     var dataset = new DicomDataset();
     dataset.Add(tag, 3.45);
     Assert.IsType<DicomOtherDouble>(dataset.First(item => item.Tag.Equals(tag)));
 }
Exemplo n.º 4
0
 public void Add_UniversalResourceElement_Succeeds()
 {
     var dataset = new DicomDataset();
     dataset.Add(DicomTag.URNCodeValue, "abc");
     Assert.IsType(typeof(DicomUniversalResource), dataset.First());
     Assert.Equal("abc", dataset.Get<string>(DicomTag.URNCodeValue));
 }
Exemplo n.º 5
0
 public void Add_UnlimitedCharactersElementWithMultipleStrings_Succeeds()
 {
     var dataset = new DicomDataset();
     dataset.Add(DicomTag.LongCodeValue, "a", "b", "c");
     Assert.IsType(typeof(DicomUnlimitedCharacters), dataset.First());
     Assert.Equal("c", dataset.Get<string>(DicomTag.LongCodeValue, 2));
 }
Exemplo n.º 6
0
 public void Add_UniversalResourceElement_Succeeds()
 {
     var tag = DicomTag.URNCodeValue;
     var dataset = new DicomDataset();
     dataset.Add(tag, "abc");
     Assert.IsType<DicomUniversalResource>(dataset.First(item => item.Tag.Equals(tag)));
     Assert.Equal("abc", dataset.Get<string>(tag));
 }
Exemplo n.º 7
0
 public void Add_UnlimitedCharactersElementWithMultipleStrings_Succeeds()
 {
     var tag = DicomTag.LongCodeValue;
     var dataset = new DicomDataset();
     dataset.Add(tag, "a", "b", "c");
     Assert.IsType<DicomUnlimitedCharacters>(dataset.First(item => item.Tag.Equals(tag)));
     Assert.Equal("c", dataset.Get<string>(tag, 2));
 }
Exemplo n.º 8
0
 public void Add_OtherDoubleElementWithMultipleDoubles_Succeeds()
 {
     var tag = DicomTag.DoubleFloatPixelData;
     var dataset = new DicomDataset();
     dataset.Add(tag, 3.45, 6.78, 9.01);
     Assert.IsType<DicomOtherDouble>(dataset.First(item => item.Tag.Equals(tag)));
     Assert.Equal(3, dataset.Get<double[]>(tag).Length);
 }
        public void OnElement_ValidData_AddsCorrectTypeToDataset(DicomTag tag, DicomVR vr, string data, Type expected)
        {
            var dataset = new DicomDataset();
            var observer = new DicomDatasetReaderObserver(dataset);
            var buffer = new MemoryByteBuffer(Encoding.ASCII.GetBytes(data));

            observer.OnElement(null, tag, vr, buffer);
            Assert.IsType(expected, dataset.First());
        }
Exemplo n.º 10
0
        public void OnElement_ValidData_AddsCorrectTypeToDataset(DicomTag tag, DicomVR vr, string data, Type expected)
        {
            var dataset  = new DicomDataset();
            var observer = new DicomDatasetReaderObserver(dataset);
            var buffer   = new MemoryByteBuffer(Encoding.ASCII.GetBytes(data));

            observer.OnElement(null, tag, vr, buffer);
            Assert.IsType(expected, dataset.First());
        }
Exemplo n.º 11
0
        public void Add_UniversalResourceElementWithMultipleStrings_OnlyFirstValueIsUsed()
        {
            var dataset = new DicomDataset();
            dataset.Add(DicomTag.URNCodeValue, "a", "b", "c");
            Assert.IsType(typeof(DicomUniversalResource), dataset.First());

            var data = dataset.Get<string[]>(DicomTag.URNCodeValue);
            Assert.Equal(1, data.Length);
            Assert.Equal("a", data.First());
        }
Exemplo n.º 12
0
        public void Add_OtherDoubleElement_Succeeds()
        {
            var tag     = DicomTag.DoubleFloatPixelData;
            var dataset = new DicomDataset
            {
                { tag, 3.45 }
            };

            Assert.IsType <DicomOtherDouble>(dataset.First(item => item.Tag.Equals(tag)));
        }
Exemplo n.º 13
0
        public void Add_UniversalResourceElement_Succeeds()
        {
            var tag     = DicomTag.URNCodeValue;
            var dataset = new DicomDataset
            {
                { tag, "abc" }
            };

            Assert.IsType <DicomUniversalResource>(dataset.First(item => item.Tag.Equals(tag)));
            Assert.Equal("abc", dataset.GetSingleValue <string>(tag));
        }
Exemplo n.º 14
0
        public void Add_UnlimitedCharactersElementWithMultipleStrings_Succeeds()
        {
            var tag     = DicomTag.LongCodeValue;
            var dataset = new DicomDataset
            {
                { tag, "a", "b", "c" }
            };

            Assert.IsType <DicomUnlimitedCharacters>(dataset.First(item => item.Tag.Equals(tag)));
            Assert.Equal("c", dataset.GetValue <string>(tag, 2));
        }
Exemplo n.º 15
0
        public void Add_UniversalResourceElementWithMultipleStrings_OnlyFirstValueIsUsed()
        {
            var tag = DicomTag.URNCodeValue;
            var dataset = new DicomDataset();
            dataset.Add(tag, "a", "b", "c");
            Assert.IsType<DicomUniversalResource>(dataset.First(item => item.Tag.Equals(tag)));

            var data = dataset.Get<string[]>(tag);
            Assert.Equal(1, data.Length);
            Assert.Equal("a", data.First());
        }
Exemplo n.º 16
0
        public void Add_OtherDoubleElementWithMultipleDoubles_Succeeds()
        {
            var tag     = DicomTag.DoubleFloatPixelData;
            var dataset = new DicomDataset
            {
                { tag, 3.45, 6.78, 9.01 }
            };

            Assert.IsType <DicomOtherDouble>(dataset.First(item => item.Tag.Equals(tag)));
            Assert.Equal(3, dataset.GetValues <double>(tag).Length);
        }
Exemplo n.º 17
0
        public void Add_MultiVMStringTags_YieldsMultipleValues(DicomTag tag, string[] values, Type expectedType)
        {
            var dataset = new DicomDataset();
            dataset.Add(tag, values);

            Assert.IsType(expectedType, dataset.First(item => item.Tag.Equals(tag)));

            var data = dataset.Get<string[]>(tag);
            Assert.Equal(values.Length, data.Length);
            Assert.Equal(values.Last(), data.Last());
        }
Exemplo n.º 18
0
        public void Add_ShortTextElementWithEmptyValues_Succeeds()
        {
            var tag     = DicomTag.SelectorSTValue;
            var dataset = new DicomDataset();

            dataset.Add <string>(tag);
            Assert.IsType <DicomShortText>(dataset.First(item => item.Tag.Equals(tag)));

            var data = dataset.GetValues <string>(tag);

            Assert.Single(data, string.IsNullOrEmpty);
        }
Exemplo n.º 19
0
        public void Add_RegularTags_ShouldBeSortedInGroupElementOrder(ushort group, ushort hiElem, ushort loElem)
        {
            var dataset = new DicomDataset
            {
                { new DicomTag(group, hiElem), 2 },
                { new DicomTag(group, loElem), 1 }
            };

            var firstElem = dataset.First().Tag.Element;

            Assert.Equal(loElem, firstElem);
        }
Exemplo n.º 20
0
        public void Add_UniversalResourceElementWithEmptyValues_Succeeds()
        {
            var tag     = DicomTag.URNCodeValue;
            var dataset = new DicomDataset();

            dataset.Add <string>(tag);
            Assert.IsType <DicomUniversalResource>(dataset.First(item => item.Tag.Equals(tag)));

            var data = dataset.GetValues <string>(tag);

            Assert.Single(data, string.IsNullOrEmpty);
        }
Exemplo n.º 21
0
        public void Add_UnsignedShortElementWithEmptyValues_Succeeds()
        {
            var tag     = DicomTag.SamplesPerPixel;
            var dataset = new DicomDataset();

            dataset.Add <ushort>(tag);
            Assert.IsType <DicomUnsignedShort>(dataset.First(item => item.Tag.Equals(tag)));

            var data = dataset.GetValues <ushort>(tag);

            Assert.Empty(data);
        }
Exemplo n.º 22
0
        public void Add_MultiVMStringTags_YieldsMultipleValues(DicomTag tag, string[] values, Type expectedType)
        {
            var dataset = new DicomDataset
            {
                { tag, values }
            };

            Assert.IsType(expectedType, dataset.First(item => item.Tag.Equals(tag)));

            var data = dataset.GetValues <string>(tag);

            Assert.Equal(values.Length, data.Length);
            Assert.Equal(values.Last(), data.Last());
        }
Exemplo n.º 23
0
        public void Add_UniversalResourceElementWithMultipleStrings_OnlyFirstValueIsUsed()
        {
            var tag     = DicomTag.URNCodeValue;
            var dataset = new DicomDataset
            {
                { tag, "a", "b", "c" }
            };

            Assert.IsType <DicomUniversalResource>(dataset.First(item => item.Tag.Equals(tag)));

            var data = dataset.GetValues <string>(tag);

            Assert.Single(data);
            Assert.Equal("a", data.First());
        }
Exemplo n.º 24
0
        private void ValidateSopInstanceExists(DicomDataset ds)
        {
            var queryFactory = new DataAccess.Matching.ConditionFactory();

            queryFactory.BeginProcessingElements();

            queryFactory.ProcessElement(ds.First(n => n.Tag == DicomTag.SOPInstanceUID));

            IEnumerable <DicomDataset> queryDs = DataAccessHelper.DataAccess.Search(queryFactory.EndProcessingElements( ),
                                                                                    new QueryOptions( ), Enum.GetName(typeof(ObjectQueryLevel),
                                                                                                                      ObjectQueryLevel.Instance));

            Assert.IsNotNull(queryDs);
            Assert.AreEqual(queryDs.Count( ), 1);
            Assert.AreEqual(ds.GetSingleValue <string>(DicomTag.SOPInstanceUID), queryDs.First( ).GetSingleValue <string>(DicomTag.SOPInstanceUID));
        }
Exemplo n.º 25
0
 public void Add_OtherDoubleElement_Succeeds()
 {
     var dataset = new DicomDataset();
     dataset.Add(DicomTag.DoubleFloatPixelData, 3.45);
     Assert.IsType(typeof(DicomOtherDouble), dataset.First());
 }