public void RespectSettingsChange() { var image = new Image <Gray, byte>(10, 10); for (var i = 0; i < image.Width; i++) { for (var j = 0; j < image.Height; j++) { image[i, j] = new Gray(255); } } var detector = new PeopleDetector(DetectionSettings.Default, logger.Object); detector.OnNext(image); Assert.True(detector.PeopleDetected); detector.Settings = new DetectionSettings(1.1); detector.Reset(); detector.OnNext(image); Assert.False(detector.PeopleDetected); }
public void SetMaskToNullOnReset() { var detector = new PeopleDetector(new DetectionSettings(1), logger.Object); detector.OnNext(new Image <Gray, byte>(1, 1)); detector.Reset(); Assert.Null(detector.Mask); }
public void SetMaskToNullWhenStreamErrorsOut() { var detector = new PeopleDetector(new DetectionSettings(1), logger.Object); detector.OnNext(new Image <Gray, byte>(1, 1)); detector.OnError(new System.Exception()); Assert.Null(detector.Mask); }
public void SetMaskToNullWhenStreamEnds() { var detector = new PeopleDetector(new DetectionSettings(1), logger.Object); detector.OnNext(new Image <Gray, byte>(1, 1)); detector.OnCompleted(); Assert.Null(detector.Mask); }
public void NotifyWhenPeopleNotDetected() { var propertiesChanged = new List <string>(); var detector = new PeopleDetector(new DetectionSettings(1), logger.Object); detector.PropertyChanged += (_, e) => propertiesChanged.Add(e.PropertyName); detector.OnNext(new Image <Gray, byte>(1, 1)); Assert.Contains(propertiesChanged, s => nameof(IPeopleDetector.PeopleDetected).Equals(s)); }
public void NotDetectPresenceIfMaskIsBlack() { var image = new Image <Gray, byte>(10, 10); for (var i = 0; i < image.Width; i++) { for (var j = 0; j < image.Height; j++) { image[i, j] = new Gray(0); } } var detector = new PeopleDetector(DetectionSettings.Default, logger.Object); detector.OnNext(image); Assert.False(detector.PeopleDetected); }