private static void ValidatePrivateCreator(DicomTag tag, string privateCreator, string tagPath)
        {
            if (!tag.IsPrivate)
            {
                // Standard tags should not have private creator.
                if (!string.IsNullOrWhiteSpace(privateCreator))
                {
                    throw new ExtendedQueryTagEntryValidationException(
                              string.Format(CultureInfo.InvariantCulture, DicomCoreResource.PrivateCreatorNotEmpty, tagPath));
                }
                return;
            }

            // PrivateCreator Tag should not have privateCreator.
            if (tag.DictionaryEntry == DicomDictionary.PrivateCreatorTag)
            {
                if (!string.IsNullOrWhiteSpace(privateCreator))
                {
                    throw new ExtendedQueryTagEntryValidationException(
                              string.Format(CultureInfo.InvariantCulture, DicomCoreResource.PrivateCreatorNotEmptyForPrivateIdentificationCode, tagPath));
                }
                return;
            }

            // Private tag except PrivateCreator requires privateCreator
            if (string.IsNullOrWhiteSpace(privateCreator))
            {
                throw new ExtendedQueryTagEntryValidationException(
                          string.Format(CultureInfo.InvariantCulture, DicomCoreResource.MissingPrivateCreator, tagPath));
            }

            try
            {
                DicomElementMinimumValidation.ValidateLO(privateCreator, nameof(privateCreator));
            }
            catch (DicomElementValidationException ex)
            {
                throw new ExtendedQueryTagEntryValidationException(
                          string.Format(CultureInfo.InvariantCulture, DicomCoreResource.PrivateCreatorNotValidLO, tagPath), ex);
            }
        }
 public void GivenLOInvalidValue_WhenValidating_Throws(string value)
 {
     Assert.Throws <DicomElementValidationException>(() => DicomElementMinimumValidation.ValidateLO(value, nameof(value)));
 }