public void TextWriterStyles_CanEvaluateStyleWithRequiredArgs() { MockTextWriterStyleFactory mockFactory = new MockTextWriterStyleFactory(); TextWriterStyleBase command = mockFactory.Create("helloWorldArgs:firstName=Jordan,lastName=Bleu"); string result = command.Evaluate(null, null, null, -1, null); Assert.AreEqual(result, "Hello Jordan Bleu!"); }
public void TextWriterStyles_CanEvaluateStyleWithWackyExtraArgs() { MockTextWriterStyleFactory mockFactory = new MockTextWriterStyleFactory(); TextWriterStyleBase command = mockFactory.Create("helloworld:asdf=123"); string result = command.Evaluate(null, null, null, -1, null); Assert.AreEqual(result, "HELLO WORLD!"); }
public void ColorStyle_FailsSuccessfully() { MockTextWriterStyleFactory mockFactory = new MockTextWriterStyleFactory(); string hex = "#poop"; Assert.Throws <StyleValidationException>(() => { TextWriterStyleBase command = mockFactory.Create($"color:hex={hex}"); }); }
public void EndColorStyle_Works() { MockTextWriterStyleFactory mockFactory = new MockTextWriterStyleFactory(); TextWriterStyleBase command = mockFactory.Create("endcolor"); StringBuilder sb = new StringBuilder(); string result = command.Evaluate(null, null, sb, -1, null); Assert.AreEqual(sb.ToString(), "</color>"); }
public void ColorStyle_Works() { MockTextWriterStyleFactory mockFactory = new MockTextWriterStyleFactory(); string hex = "#AABBCC"; TextWriterStyleBase command = mockFactory.Create($"color:hex={hex}"); // This style should append to the builder not the text StringBuilder builder = new StringBuilder(); string result = command.Evaluate(null, null, builder, -1, null); Assert.AreEqual(builder.ToString(), $"<{hex}>"); }
public void TextWriterStyles_CanValidateRequiredArgs() { MockTextWriterStyleFactory mockFactory = new MockTextWriterStyleFactory(); try { TextWriterStyleBase command = mockFactory.Create("helloWorldArgs:firstName=Jordan"); } catch (InvalidOperationException) { Assert.Pass(); } // We shouldn't get this far because we're totes missing args Assert.Fail("Didn't catch any exceptions but we should have."); }