123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using Terminal.Gui;
- using Xunit;
- // Alias Console to MockConsole so we don't accidentally use Console
- using Console = Terminal.Gui.FakeConsole;
- namespace Terminal.Gui.ConsoleDrivers {
- public class AttributeTests {
- [Fact]
- public void Constuctors_Constuct ()
- {
- var driver = new FakeDriver ();
- Application.Init (driver, new FakeMainLoop (() => FakeConsole.ReadKey (true)));
- driver.Init (() => { });
- // Test parameterless constructor
- var attr = new Attribute ();
- Assert.Equal (default (int), attr.Value);
- Assert.Equal (default (Color), attr.Foreground);
- Assert.Equal (default (Color), attr.Background);
- // Test value, foreground, background
- var value = 42;
- var fg = new Color ();
- fg = Color.Red;
- var bg = new Color ();
- bg = Color.Blue;
- attr = new Attribute (value, fg, bg);
- Assert.Equal (value, attr.Value);
- Assert.Equal (fg, attr.Foreground);
- Assert.Equal (bg, attr.Background);
- // value, foreground, background
- attr = new Attribute (fg, bg);
- Assert.Equal (fg, attr.Foreground);
- Assert.Equal (bg, attr.Background);
- driver.End ();
- Application.Shutdown ();
- }
- [Fact]
- public void Implicit_Assign ()
- {
- var driver = new FakeDriver ();
- Application.Init (driver, new FakeMainLoop (() => FakeConsole.ReadKey (true)));
- driver.Init (() => { });
- var attr = new Attribute ();
- var value = 42;
- var fg = new Color ();
- fg = Color.Red;
- var bg = new Color ();
- bg = Color.Blue;
- // Test converstion to int
- attr = new Attribute (value, fg, bg);
- int value_implicit = (int)attr.Value;
- Assert.Equal (value, value_implicit);
- // Test converstion from int
- attr = value;
- Assert.Equal (value, attr.Value);
- driver.End ();
- Application.Shutdown ();
- }
- [Fact]
- public void Make_Asserts_IfNotInit ()
- {
- var fg = new Color ();
- fg = Color.Red;
- var bg = new Color ();
- bg = Color.Blue;
- Assert.Throws<InvalidOperationException> (() => Attribute.Make (fg, bg));
- }
- [Fact]
- public void Make_Creates ()
- {
- var driver = new FakeDriver ();
- Application.Init (driver, new FakeMainLoop (() => FakeConsole.ReadKey (true)));
- driver.Init (() => { });
- var fg = new Color ();
- fg = Color.Red;
- var bg = new Color ();
- bg = Color.Blue;
- var attr = Attribute.Make (fg, bg);
- Assert.Equal (fg, attr.Foreground);
- Assert.Equal (bg, attr.Background);
- driver.End ();
- Application.Shutdown ();
- }
- [Fact]
- public void Get_Asserts_IfNotInit ()
- {
- Assert.Throws<InvalidOperationException> (() => Attribute.Get ());
- }
- [Fact]
- public void Get_Gets ()
- {
- var driver = new FakeDriver ();
- Application.Init (driver, new FakeMainLoop (() => FakeConsole.ReadKey (true)));
- driver.Init (() => { });
- var value = 42;
- var fg = new Color ();
- fg = Color.Red;
- var bg = new Color ();
- bg = Color.Blue;
- var attr = new Attribute (value, fg, bg);
- driver.SetAttribute (attr);
- var ret_attr = Attribute.Get ();
- Assert.Equal (value, ret_attr.Value);
- Assert.Equal (fg, ret_attr.Foreground);
- Assert.Equal (bg, ret_attr.Background);
- driver.End ();
- Application.Shutdown ();
- }
- }
- }
|