public void AddOrUpdate_DicomItemOnExistingPrivateTag_PrivateGroupShouldCorrespondToPrivateCreator() { var dataset = new DicomDataset(); var tag1 = new DicomTag(0x3001, 0x08, "PRIVATE"); var tag2 = new DicomTag(0x3001, 0x12, "PRIVATE"); var tag3 = new DicomTag(0x3001, 0x08, "ALSOPRIVATE"); // By using the .Add(DicomTag, ...) method, private tags get automatically updated so that a private // creator group number is generated (if private creator is new) and inserted into the tag element. dataset.Add(tag1, 1); dataset.Add(tag2, 3.14); dataset.Add(tag3, "COOL"); var tag1Private = dataset.GetPrivateTag(tag1); var contained = dataset.SingleOrDefault(item => item.Tag.Group == tag1Private.Group && item.Tag.Element == tag1Private.Element); Assert.NotNull(contained); // Should confirm that element of the tag is not updated to include the private creator group number. dataset.AddOrUpdate(new DicomIntegerString(tag1, 50)); contained = dataset.SingleOrDefault(item => item.Tag.Group == tag1Private.Group && item.Tag.Element == tag1Private.Element); Assert.NotNull(contained); var thirdItem = dataset.ElementAt(2); Assert.Equal(thirdItem, contained); }