123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- using System.Text;
- using UnitTests;
- using Xunit.Abstractions;
- namespace Terminal.Gui.DrawingTests;
- public class ThicknessTests (ITestOutputHelper output)
- {
- [Fact]
- [AutoInitShutdown]
- public void DrawTests ()
- {
- ((FakeDriver)Application.Driver!).SetBufferSize (60, 60);
- var t = new Thickness (0, 0, 0, 0);
- var r = new Rectangle (5, 5, 40, 15);
- Application.Driver?.FillRect (
- new (0, 0, Application.Driver!.Cols, Application.Driver!.Rows),
- (Rune)' '
- );
- t.Draw (r, ViewDiagnosticFlags.Thickness, "Test");
- DriverAssert.AssertDriverContentsWithFrameAre (
- @"
- Test (Left=0,Top=0,Right=0,Bottom=0)",
- output
- );
- t = new (1, 1, 1, 1);
- r = new (5, 5, 40, 15);
- Application.Driver?.FillRect (
- new (0, 0, Application.Driver!.Cols, Application.Driver!.Rows),
- (Rune)' '
- );
- t.Draw (r, ViewDiagnosticFlags.Thickness, "Test");
- DriverAssert.AssertDriverContentsWithFrameAre (
- @"
- TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
- T T
- T T
- T T
- T T
- T T
- T T
- T T
- T T
- T T
- T T
- T T
- T T
- T T
- TTTest (Left=1,Top=1,Right=1,Bottom=1)TT",
- output
- );
- t = new (1, 2, 3, 4);
- r = new (5, 5, 40, 15);
- Application.Driver?.FillRect (
- new (0, 0, Application.Driver!.Cols, Application.Driver!.Rows),
- (Rune)' '
- );
- t.Draw (r, ViewDiagnosticFlags.Thickness, "Test");
- DriverAssert.AssertDriverContentsWithFrameAre (
- @"
- TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
- TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
- T TTT
- T TTT
- T TTT
- T TTT
- T TTT
- T TTT
- T TTT
- T TTT
- T TTT
- TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
- TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
- TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
- TTTest (Left=1,Top=2,Right=3,Bottom=4)TT",
- output
- );
- t = new (-1, 1, 1, 1);
- r = new (5, 5, 40, 15);
- Application.Driver?.FillRect (
- new (0, 0, Application.Driver!.Cols, Application.Driver!.Rows),
- (Rune)' '
- );
- t.Draw (r, ViewDiagnosticFlags.Thickness, "Test");
- DriverAssert.AssertDriverContentsWithFrameAre (
- @"
- TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
- T
- T
- T
- T
- T
- T
- T
- T
- T
- T
- T
- T
- T
- TTest (Left=-1,Top=1,Right=1,Bottom=1)TT",
- output
- );
- }
- [Fact]
- [AutoInitShutdown]
- public void DrawTests_Ruler ()
- {
- // Add a frame so we can see the ruler
- var f = new FrameView { X = 0, Y = 0, Width = Dim.Fill (), Height = Dim.Fill () };
- var top = new Toplevel ();
- top.Add (f);
- RunState rs = Application.Begin (top);
- ((FakeDriver)Application.Driver!).SetBufferSize (45, 20);
- var t = new Thickness (0, 0, 0, 0);
- var r = new Rectangle (2, 2, 40, 15);
- Application.RunIteration (ref rs);
- t.Draw (r, ViewDiagnosticFlags.Ruler, "Test");
- DriverAssert.AssertDriverContentsAre (
- @"
- ┌───────────────────────────────────────────┐
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- │ │
- └───────────────────────────────────────────┘",
- output
- );
- t = new (1, 1, 1, 1);
- r = new (1, 1, 40, 15);
- top.SetNeedsDraw ();
- Application.RunIteration (ref rs);
- t.Draw (r, ViewDiagnosticFlags.Ruler, "Test");
- DriverAssert.AssertDriverContentsAre (
- @"
- ┌───────────────────────────────────────────┐
- │|123456789|123456789|123456789|123456789 │
- │1 1 │
- │2 2 │
- │3 3 │
- │4 4 │
- │5 5 │
- │6 6 │
- │7 7 │
- │8 8 │
- │9 9 │
- │- - │
- │1 1 │
- │2 2 │
- │3 3 │
- │|123456789|123456789|123456789|123456789 │
- │ │
- │ │
- │ │
- └───────────────────────────────────────────┘",
- output
- );
- t = new (1, 2, 3, 4);
- r = new (2, 2, 40, 15);
- top.SetNeedsDraw ();
- Application.RunIteration (ref rs);
- t.Draw (r, ViewDiagnosticFlags.Ruler, "Test");
- DriverAssert.AssertDriverContentsWithFrameAre (
- @"
- ┌───────────────────────────────────────────┐
- │ │
- │ |123456789|123456789|123456789|123456789 │
- │ 1 1 │
- │ 2 2 │
- │ 3 3 │
- │ 4 4 │
- │ 5 5 │
- │ 6 6 │
- │ 7 7 │
- │ 8 8 │
- │ 9 9 │
- │ - - │
- │ 1 1 │
- │ 2 2 │
- │ 3 3 │
- │ |123456789|123456789|123456789|123456789 │
- │ │
- │ │
- └───────────────────────────────────────────┘",
- output
- );
- t = new (-1, 1, 1, 1);
- r = new (5, 5, 40, 15);
- top.SetNeedsDraw ();
- Application.RunIteration (ref rs);
- t.Draw (r, ViewDiagnosticFlags.Ruler, "Test");
- DriverAssert.AssertDriverContentsWithFrameAre (
- @"
- ┌───────────────────────────────────────────┐
- │ │
- │ │
- │ │
- │ │
- │ |123456789|123456789|123456789|123456789
- │ 1
- │ 2
- │ 3
- │ 4
- │ 5
- │ 6
- │ 7
- │ 8
- │ 9
- │ -
- │ 1
- │ 2
- │ 3
- └────|123456789|123456789|123456789|123456789",
- output
- );
- top.Dispose ();
- }
- }
|