public void GetInstance_null_returns_current() { var info = ConsoleFormatInfo.GetInstance(null); info.Should() .BeSameAs(ConsoleFormatInfo.CurrentInfo); }
public void GetFormat_returns_null() { var info = new ConsoleFormatInfo(); info.GetFormat(typeof(NumberFormatInfo)) .Should() .BeNull(); }
public void GetFormat_returns_instance() { var info = new ConsoleFormatInfo(); info.GetFormat(typeof(ConsoleFormatInfo)) .Should() .BeSameAs(info); }
public void GetInstance_returns_same() { var info = new ConsoleFormatInfo(); var instance = ConsoleFormatInfo.GetInstance(info); instance.Should().BeSameAs(info); instance.Should().NotBeSameAs(ConsoleFormatInfo.CurrentInfo); }
public void GetInstance_calls_GetFormat_on_provider() { var info = new ConsoleFormatInfo(); var provider = new MockFormatProvider() { TestInfo = info }; var instance = ConsoleFormatInfo.GetInstance(provider); instance.Should().BeSameAs(info); instance.Should().NotBeSameAs(ConsoleFormatInfo.CurrentInfo); provider.GetFormatCallCount.Should().Be(1); }
public void Can_create_modify_and_readonly_format_info() { var info = new ConsoleFormatInfo(); info.IsReadOnly.Should().BeFalse(); info.SupportsAnsiCodes = true; info.SupportsAnsiCodes.Should().BeTrue(); var readonlyInfo = ConsoleFormatInfo.ReadOnly(info); readonlyInfo.IsReadOnly.Should().BeTrue(); Assert.Throws <InvalidOperationException>(() => readonlyInfo.SupportsAnsiCodes = false); }
public void Control_codes_respect_ConsoleFormatInfo(bool supportsAnsiCodes) { IFormattable code = new AnsiControlCode($"{Ansi.Esc}[s"); IFormatProvider provider = new ConsoleFormatInfo() { SupportsAnsiCodes = supportsAnsiCodes }; string output = code.ToString(null, provider); if (supportsAnsiCodes) { output.Should().Contain(Ansi.Esc); } else { output.Should().BeEmpty(); } }
public void Set_current_throws_argnull() { var info = new ConsoleFormatInfo(); Assert.Throws <ArgumentNullException>(() => ConsoleFormatInfo.CurrentInfo = null); }
public void ReadOnly_throws_argnull() { Assert.Throws <ArgumentNullException>(() => ConsoleFormatInfo.ReadOnly(null)); }