public void SelectTypeHandler_UnknownType_ThrowsException()
        {
            // Arrange
            var mockProvider = new MockProvider();
            var typeHandlerSelector = new TypeHandlerSelector(mockProvider.GetPatientInfoProviderFake(), mockProvider.GetStudyInfoProviderFake(), mockProvider.GetSeriesInfoProviderFake());

            // Act + Assert
            Assert.That(() => typeHandlerSelector.SelectTypeHandler("unknownType"), Throws.ArgumentException);
        }
        public void SelectTypeHandler_NullType_ThrowsException()
        {
            // Arrange
            var mockProvider = new MockProvider();
            var typeHandlerSelector = new TypeHandlerSelector(mockProvider.GetPatientInfoProviderFake(), mockProvider.GetStudyInfoProviderFake(), mockProvider.GetSeriesInfoProviderFake());

            // Act + Assert
            Assert.That(() => typeHandlerSelector.SelectTypeHandler(null), Throws.InstanceOf<ArgumentNullException>());
        }
        public void SelectTypeHandler_ReturnsAccordingToTheType(string type, Type expectedType)
        {
            // Arrange
            var mockProvider = new MockProvider();
            var typeHandlerSelector = new TypeHandlerSelector(mockProvider.GetPatientInfoProviderFake(), mockProvider.GetStudyInfoProviderFake(), mockProvider.GetSeriesInfoProviderFake());

            // Act
            var handlerSelector = typeHandlerSelector.SelectTypeHandler(type);

            // Assert
            Assert.That(handlerSelector, Is.InstanceOf(expectedType));
        }