public async Task BasicAddingTest() { // Act var results = await algorithm.AddWatermark(CancellationToken.None).ToListAsync(); var watermarked = results[0]; var cleaned = results[1]; var extractedWatermark = results[2]; // Assert watermarked.Label.Should().Be("Watermarked"); cleaned.Label.Should().Be("Cleaned"); extractedWatermark.Label.Should().Be("Extracted watermark"); AssertBitmapsAreEqual(watermarked.Image, new Color[2, 2] { { Color.FromArgb(255, 0, 0), Color.FromArgb(1, 254, 0) }, { Color.FromArgb(0, 0, 2), Color.FromArgb(0, 0, 3) } }); // Cleaning process has a random element. The cleaned image will not be tested. AssertBitmapsAreEqual(extractedWatermark.Image, new Color[2, 2] { { Color.FromArgb(255, 0, 0), Color.FromArgb(255, 0, 0) }, { Color.FromArgb(0, 0, 0), Color.FromArgb(0, 0, 255) } }); }
protected override Task ProcessAdding(CancellationToken ct) { return(Task.Run(async() => { ct.ThrowIfCancellationRequested(); var p = ReadParameters(); ct.ThrowIfCancellationRequested(); var algorithm = new Lsb(p); var result = algorithm.AddWatermark(ct); await ShowAlgorithmOutput(result); })); }