using Blacklight.Core; using System; using UnitTestSharp; namespace Glass.Blacklight.UnitTests { public class HostClipboardTests : TestFixture { public class FakeHostClipboard : IHostClipboard { public string Held { get; set; } public bool TryGetText(out string text) { text = Held; return Held != null; } public void SetText(string text) { Held = text; } } public class CtorTests : TestFixture { public void NullHost_Throws() { CheckThrow(typeof(ArgumentNullException)); new HostClipboard(null); } } public class TryGetTextTests : TestFixture { public void ReturnsWhatTheHostHolds() { var clipboard = new HostClipboard(new FakeHostClipboard { Held = "abc" }); Check(clipboard.TryGetText(out string text)); CheckEqual("abc", text); } public void WithNothingOnTheHost_ReturnsFalse() { var clipboard = new HostClipboard(new FakeHostClipboard()); CheckFalse(clipboard.TryGetText(out string text)); CheckNull(text); } } public class SetTextTests : TestFixture { public void PutsTheTextOnTheHost() { var host = new FakeHostClipboard(); new HostClipboard(host).SetText("abc"); CheckEqual("abc", host.Held); } } } }