public void TestMeasure(double availableWidth, double availableHeight)
        {
            var view     = new Mock <IEditor>();
            var drawable = new EditorDrawable(view.Object);
            var size     = drawable.Measure(availableWidth, availableHeight);

            Assert.Equal(new Size(availableWidth, DeviceInfo.ScalingFactor), size);
        }
        public void TestOnFocusedUnfocused()
        {
            var view      = new Mock <IEditor>();
            var drawable  = new EditorDrawable(view.Object);
            var exception = Record.Exception(() =>
            {
                drawable.OnFocused();
                drawable.OnUnfocused();
            });

            Assert.Null(exception);
        }
        public void TestDraw(bool isFocused, bool isTextNullOrEmpty)
        {
            var view = new Mock <IEditor>();

            view.Setup(x => x.IsFocused).Returns(isFocused);
            view.Setup(x => x.Text).Returns(isTextNullOrEmpty ? "" : "Text");
            Assert.Equal(isFocused, view.Object.IsFocused);

            var canvas    = new Mock <ICanvas>();
            var drawable  = new EditorDrawable(view.Object);
            var exception = Record.Exception(() =>
            {
                drawable.Draw(canvas.Object, new RectF(0, 0, 100, 100));
            });

            Assert.Null(exception);
        }