using Moq; using XP.Common.Logging.Interfaces; using XplorePlane.Services; using Xunit; namespace XplorePlane.Tests.Services { public class ImageProcessingServiceTests { [Fact] public void DiscoverProcessors_LoadsKnownProcessors() { var logger = new Mock(); logger.Setup(l => l.ForModule()).Returns(logger.Object); using var service = new ImageProcessingService(logger.Object); var processors = service.GetAvailableProcessors(); Assert.Contains("GaussianBlur", processors); Assert.Contains("ShockFilter", processors); Assert.Contains("BandPassFilter", processors); Assert.Contains("Division", processors); Assert.Contains("Contour", processors); Assert.True(processors.Count >= 20, $"Expected many discovered processors, got {processors.Count}."); } } }