private void test_fully_peekable_stream(SKStream stream, int limit) { for (var i = 1; !stream.IsAtEnd; i++) { Assert.Equal(0, compare_peek_to_read(stream, i)); } }
static void test_read(SKStream bufferedStream, byte[] expectations, int bytesToRead) { // output for reading bufferedStream. var storage = new byte[bytesToRead]; var bytesRead = bufferedStream.Read(storage, bytesToRead); Assert.True(bytesRead == bytesToRead || bufferedStream.IsAtEnd); Assert.Equal(expectations.Take(bytesRead), storage.Take(bytesRead)); }
// Test that hasLength() returns the correct value, based on the stream // being wrapped. A length can only be known if the wrapped stream has a // length and it has a position (so its initial position can be taken into // account when computing the length). private static void test_hasLength(SKStream bufferedStream, SKStream streamBeingBuffered) { if (streamBeingBuffered.HasLength && streamBeingBuffered.HasPosition) { Assert.True(bufferedStream.HasLength); } else { Assert.False(bufferedStream.HasLength); } }
public ImageLayer(string pFilename, bool pActive = true) { mActive = pActive; mName = System.IO.Path.GetFileName(pFilename); //Open the defined image mFile = new SKFileStream(pFilename); mBitmap = new SKBitmap(); mBitmap = SKBitmap.Decode(mFile); paint = new SKPaint(); var transparency = SKColors.Black; // 127 => 50% paint.BlendMode = SKBlendMode.Plus; var cf = SKColorFilter.CreateBlendMode(transparency, SKBlendMode.DstIn); paint.ColorFilter = cf; }
private int compare_peek_to_read(SKStream stream, int bytesToPeek) { Assert.True(bytesToPeek > 0); var peekStorage = SKData.Create(bytesToPeek); var readStorage = SKData.Create(bytesToPeek); var bytesPeeked = stream.Peek(peekStorage.Data, bytesToPeek); var bytesRead = stream.Read(readStorage.Data, bytesToPeek); // bytesRead should only be less than attempted if the stream is at the // end. Assert.True(bytesRead == bytesToPeek || stream.IsAtEnd); // peek and read should behave the same, except peek returned to the // original position, so they read the same data. Assert.Equal(peekStorage.ToArray().Take(bytesPeeked), readStorage.ToArray().Take(bytesPeeked)); // A stream should never be able to peek more than it can read. Assert.True(bytesRead >= bytesPeeked); return(bytesRead - bytesPeeked); }
private static void test_rewind(SKStream bufferedStream, bool shouldSucceed) { var success = bufferedStream.Rewind(); Assert.Equal(shouldSucceed, success); }