TemplateTest.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Masuit.Tools.Strings;
  2. using System;
  3. using Xunit;
  4. namespace Masuit.Tools.Test
  5. {
  6. public class TemplateTest
  7. {
  8. [Fact]
  9. public void Render_Template()
  10. {
  11. var tmp = new Template("{{name}},你好!");
  12. tmp.Set("name", "万金油");
  13. string s = tmp.Render();
  14. Assert.Equal("万金油,你好!", s);
  15. }
  16. [Fact]
  17. public void Render_TemplateWithMultiVariables()
  18. {
  19. var tmp = new Template("{{one}},{{two}},{{three}}");
  20. string s = tmp.Set("one", "1").Set("two", "2").Set("three", "3").Render();
  21. Assert.Equal("1,2,3", s);
  22. }
  23. [Fact]
  24. public void Render_TemplateWithUncoverVariable()
  25. {
  26. var tmp = new Template("{{name}},{{greet}}!");
  27. tmp.Set("name", "万金油");
  28. try
  29. {
  30. string s = tmp.Render();
  31. }
  32. catch (Exception e)
  33. {
  34. Assert.IsType<ArgumentException>(e);
  35. Assert.Equal("模版变量{{greet}}未被使用", e.Message);
  36. }
  37. }
  38. }
  39. }