public void Creation_WeightedMean_FailWithContextSizeOutOfRange() { var accumulator = new ConvolutionAccumulator_Float(CellPassConsts.NullHeight, ConvolutionMaskSize.Mask3X3); Action act = () => _ = new WeightedMeanFilter <float>(accumulator, (ConvolutionMaskSize)100, 2.0, NullInfillMode.NoInfill); act.Should().Throw <ArgumentException>().WithMessage("Context size of 100 is out of range: 3..11"); }
public void Creation_WeightedMean() { var accumulator = new ConvolutionAccumulator_Float(CellPassConsts.NullHeight, ConvolutionMaskSize.Mask3X3); var filter = new WeightedMeanFilter <float>(accumulator, ConvolutionMaskSize.Mask3X3, 2.0, NullInfillMode.NoInfill); filter.Should().NotBeNull(); }
public void Creation_WeightedMean_CenterWeightCorrect() { var accumulator = new ConvolutionAccumulator_Float(CellPassConsts.NullHeight, ConvolutionMaskSize.Mask3X3); var filter = new WeightedMeanFilter <float>(accumulator, ConvolutionMaskSize.Mask3X3, 2.0, NullInfillMode.NoInfill); filter.Should().NotBeNull(); filter.FilterMatrix[1, 1].Should().Be(2 / 10.0d); }