public DicomDatasetValidator(IOptions <FeatureConfiguration> featureConfiguration, IDicomElementMinimumValidator minimumValidator) { EnsureArg.IsNotNull(featureConfiguration?.Value, nameof(featureConfiguration)); EnsureArg.IsNotNull(minimumValidator, nameof(minimumValidator)); _enableFullDicomItemValidation = featureConfiguration.Value.EnableFullDicomItemValidation; _minimumValidator = minimumValidator; }
public async Task GivenDicomTagWithDifferentVR_WhenValidated_ThenShouldSkip() { var featureConfiguration = Options.Create(new FeatureConfiguration() { EnableFullDicomItemValidation = false }); DicomTag tag = DicomTag.Date; DicomElement element = new DicomDateTime(tag, DateTime.Now); _dicomDataset.AddOrUpdate(element); _queryTags.Clear(); _queryTags.Add(new QueryTag(tag.BuildExtendedQueryTagStoreEntry())); IDicomElementMinimumValidator validator = Substitute.For <IDicomElementMinimumValidator>(); _dicomDatasetValidator = new DicomDatasetValidator(featureConfiguration, validator, _queryTagService); await _dicomDatasetValidator.ValidateAsync(_dicomDataset, requiredStudyInstanceUid : null); validator.DidNotReceive().Validate(Arg.Any <DicomElement>()); }
public async Task GivenDicomTagWithDifferentVR_WhenValidated_ThenShouldThrowException() { var featureConfiguration = Options.Create(new FeatureConfiguration() { EnableFullDicomItemValidation = false }); DicomTag tag = DicomTag.Date; DicomElement element = new DicomDateTime(tag, DateTime.Now); _dicomDataset.AddOrUpdate(element); _queryTags.Clear(); _queryTags.Add(new QueryTag(tag.BuildExtendedQueryTagStoreEntry())); IDicomElementMinimumValidator validator = Substitute.For <IDicomElementMinimumValidator>(); _dicomDatasetValidator = new DicomDatasetValidator(featureConfiguration, validator, _queryTagService); await AssertThrowsAsyncWithMessage <DatasetValidationException>( () => _dicomDatasetValidator.ValidateAsync(_dicomDataset, requiredStudyInstanceUid: null), expectedMessage : $"The extended query tag '{tag}' is expected to have VR 'DA' but has 'DT' in file."); validator.DidNotReceive().Validate(Arg.Any <DicomElement>()); }
public DicomElementMinimumValidatiorTests() { _validator = new DicomElementMinimumValidator(); }