public UriTemplateBuilder(UriTemplateBuilder builder) { if (builder == null) { throw new ArgumentNullException("builder"); } this.components = new List <IUriComponent>(builder.components); }
public UriTemplateBuilder(UriTemplateBuilder builder) { if (builder == null) { throw new ArgumentNullException("builder"); } this.components = new List<IUriTemplateComponent>(builder.components); }
public void BuildExampleTest() { var template = new UriTemplateBuilder() .Append("http://example.org/") .Append(new VarSpec("area")) .Append("/last-news") .Append('?', new VarSpec("type"), new VarSpec("count")) .Build(); Assert.AreEqual("http://example.org/{area}/last-news{?type,count}", template.ToString()); }
public void BuildLiteralTest() { var builder = new UriTemplateBuilder(); builder.Append("abc"); var actual = builder.Build().Template; Assert.AreEqual("abc", actual); builder.Append("/def"); actual = builder.Build().Template; Assert.AreEqual("abc/def", actual); }
public void BuildHighLevelExpressionTest( [Values('+', '#', '.', '/', ';', '?', '&')] char expressionOp) { var builder = new UriTemplateBuilder(); builder.Append(expressionOp, new VarSpec("test")); var expected = "{" + expressionOp + "test}"; var actual = builder.Build().Template; Assert.AreEqual(expected, actual); }
public void BuildHighLevelsExpressionTests() { var ops = new char[] { '+', '#', '.', '/', ';', '?', '&' }; var builder = new UriTemplateBuilder(); foreach (var op in ops) { builder.Append(op, new VarSpec("test")); } var actual = string.Join(string.Empty, ops.Select(x => "{" + x + "test}").ToArray()); Assert.AreEqual(actual, builder.Build().Template); }
public void BuildExpressionTest() { var builder = new UriTemplateBuilder(); builder.Append(new VarSpec("test")); Assert.AreEqual("{test}", builder.Build().Template); }
public void BuildExpressionsTest() { var builder = new UriTemplateBuilder(); builder.Append(new VarSpec("t1"), new VarSpec("t2"), new VarSpec("t3")); Assert.AreEqual("{t1,t2,t3}", builder.Build().Template); }