using System; using System.Drawing; using Blacklight.Core; using UnitTestSharp; namespace Blacklight.WebGL2.UnitTests { public class WebGL2CursorSurfaceTests : TestFixture { public static CursorImage Cursor(int width, int height) { return new CursorImage( new byte[width * height * CursorImage.BytesPerPixel], new Size(width, height), Point.Empty); } public class IsWithinBrowserLimitTests : TestFixture { public void SmallCursor_IsAccepted() { CheckTrue(WebGL2CursorSurface.IsWithinBrowserLimit(Cursor(32, 32))); } public void ExactlyTheLimit_IsAccepted() { CheckTrue(WebGL2CursorSurface.IsWithinBrowserLimit( Cursor(WebGL2CursorSurface.MaximumSide, WebGL2CursorSurface.MaximumSide))); } public void OnePixelTooWide_IsRefused() { CheckFalse(WebGL2CursorSurface.IsWithinBrowserLimit( Cursor(WebGL2CursorSurface.MaximumSide + 1, WebGL2CursorSurface.MaximumSide))); } public void OnePixelTooTall_IsRefused() { CheckFalse(WebGL2CursorSurface.IsWithinBrowserLimit( Cursor(WebGL2CursorSurface.MaximumSide, WebGL2CursorSurface.MaximumSide + 1))); } public void NullCursor_Throws() { CheckThrow(typeof(ArgumentNullException)); WebGL2CursorSurface.IsWithinBrowserLimit(null); } } } }