123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- using Xunit.Abstractions;
- namespace Terminal.Gui.LayoutTests;
- public class FrameTests (ITestOutputHelper output)
- {
- private readonly ITestOutputHelper _output = output;
- [Fact]
- public void Frame_Empty_Default ()
- {
- View view = new ();
- Assert.Equal(Rectangle.Empty, view.Frame);
- view.BeginInit();
- view.EndInit();
- Assert.Equal (Rectangle.Empty, view.Frame);
- }
- [Fact]
- public void Frame_Set_Sets ()
- {
- Rectangle frame = new (1, 2, 3, 4);
- View view = new ();
- Assert.Equal (Rectangle.Empty, view.Frame);
- view.BeginInit ();
- view.EndInit ();
- view.Frame = frame;
- Assert.Equal (frame, view.Frame);
- }
- // Moved this test from AbsoluteLayoutTests
- // TODO: Refactor as Theory
- [Fact]
- [TestRespondersDisposed]
- public void Frame_Set ()
- {
- var frame = new Rectangle (1, 2, 3, 4);
- var newFrame = new Rectangle (1, 2, 30, 40);
- var v = new View ();
- Assert.True (v.LayoutStyle == LayoutStyle.Absolute);
- v.Dispose ();
- v = new View { Frame = frame };
- Assert.True (v.LayoutStyle == LayoutStyle.Absolute);
- v.Frame = newFrame;
- Assert.True (v.LayoutStyle == LayoutStyle.Absolute);
- Assert.Equal (newFrame, v.Frame);
- Assert.Equal (
- new Rectangle (0, 0, newFrame.Width, newFrame.Height),
- v.Viewport
- ); // With Absolute Viewport *is* deterministic before Layout
- Assert.Equal (Pos.Absolute (1), v.X);
- Assert.Equal (Pos.Absolute (2), v.Y);
- Assert.Equal (Dim.Absolute (30), v.Width);
- Assert.Equal (Dim.Absolute (40), v.Height);
- v.Dispose ();
- v = new View { X = frame.X, Y = frame.Y, Text = "v" };
- v.Frame = newFrame;
- Assert.True (v.LayoutStyle == LayoutStyle.Absolute);
- Assert.Equal (newFrame, v.Frame);
- Assert.Equal (
- new Rectangle (0, 0, newFrame.Width, newFrame.Height),
- v.Viewport
- ); // With Absolute Viewport *is* deterministic before Layout
- Assert.Equal (Pos.Absolute (1), v.X);
- Assert.Equal (Pos.Absolute (2), v.Y);
- Assert.Equal (Dim.Absolute (30), v.Width);
- Assert.Equal (Dim.Absolute (40), v.Height);
- v.Dispose ();
- newFrame = new Rectangle (10, 20, 30, 40);
- v = new View { Frame = frame };
- v.Frame = newFrame;
- Assert.True (v.LayoutStyle == LayoutStyle.Absolute);
- Assert.Equal (newFrame, v.Frame);
- Assert.Equal (
- new Rectangle (0, 0, newFrame.Width, newFrame.Height),
- v.Viewport
- ); // With Absolute Viewport *is* deterministic before Layout
- Assert.Equal (Pos.Absolute (10), v.X);
- Assert.Equal (Pos.Absolute (20), v.Y);
- Assert.Equal (Dim.Absolute (30), v.Width);
- Assert.Equal (Dim.Absolute (40), v.Height);
- v.Dispose ();
- v = new View { X = frame.X, Y = frame.Y, Text = "v" };
- v.Frame = newFrame;
- Assert.True (v.LayoutStyle == LayoutStyle.Absolute);
- Assert.Equal (newFrame, v.Frame);
- Assert.Equal (
- new Rectangle (0, 0, newFrame.Width, newFrame.Height),
- v.Viewport
- ); // With Absolute Viewport *is* deterministic before Layout
- Assert.Equal (Pos.Absolute (10), v.X);
- Assert.Equal (Pos.Absolute (20), v.Y);
- Assert.Equal (Dim.Absolute (30), v.Width);
- Assert.Equal (Dim.Absolute (40), v.Height);
- v.Dispose ();
- }
- }
|