public void Empty() { SharkPath path = new SharkPath(""); Assert.True(path.MatchesRoute("/")); Assert.False(path.MatchesRoute("")); }
public void DefaultTypeIsString() { SharkPath path = new SharkPath("/path/{var}/otherpath"); Dictionary <string, Type> variables = path.GetVariableTypes(); Assert.True(variables.ContainsKey("var")); Assert.Equal(variables["var"], typeof(string)); }
public void SimpleRoute() { SharkPath path = new SharkPath("/hello"); Assert.True(path.MatchesRoute("/hello")); Assert.False(path.MatchesRoute("/")); Assert.False(path.MatchesRoute("/hell")); Assert.False(path.MatchesRoute("/helloo")); Assert.False(path.MatchesRoute("/helio")); }
public void CheckVariableValues() { SharkPath path = new SharkPath("/root/{str:string}/{i:int}"); Dictionary <string, object> values = path.ParseRoute("/root/astring/1234"); Assert.Equal(values.Count, 2); Assert.True(values.ContainsKey("str")); Assert.Equal(values["str"].GetType(), typeof(string)); Assert.Equal((string)values["str"], "astring"); Assert.True(values.ContainsKey("i")); Assert.Equal(values["i"].GetType(), typeof(int)); Assert.Equal((int)values["i"], 1234); }
public void EverySupportedType() { SharkPath path = new SharkPath("/{vs:string}/{vc:char}/{vb:bool}/{vby:byte}/{vsh:short}/{vi:int}/{vl:long}/{vf:float}/{vd:double}/{vus:ushort}/{vui:uint}/{vul:ulong}"); Dictionary <string, Type> variables = path.GetVariableTypes(); Assert.True(variables.ContainsKey("vs")); Assert.Equal(variables["vs"], typeof(string)); Assert.True(variables.ContainsKey("vc")); Assert.Equal(variables["vc"], typeof(char)); Assert.True(variables.ContainsKey("vb")); Assert.Equal(variables["vb"], typeof(bool)); Assert.True(variables.ContainsKey("vby")); Assert.Equal(variables["vby"], typeof(byte)); Assert.True(variables.ContainsKey("vsh")); Assert.Equal(variables["vsh"], typeof(short)); Assert.True(variables.ContainsKey("vi")); Assert.Equal(variables["vi"], typeof(int)); Assert.True(variables.ContainsKey("vl")); Assert.Equal(variables["vl"], typeof(long)); Assert.True(variables.ContainsKey("vf")); Assert.Equal(variables["vf"], typeof(float)); Assert.True(variables.ContainsKey("vd")); Assert.Equal(variables["vd"], typeof(double)); Assert.True(variables.ContainsKey("vus")); Assert.Equal(variables["vus"], typeof(ushort)); Assert.True(variables.ContainsKey("vui")); Assert.Equal(variables["vui"], typeof(uint)); Assert.True(variables.ContainsKey("vul")); Assert.Equal(variables["vul"], typeof(ulong)); }
public void DuplicateVariables() { SharkPath path = new SharkPath("/{var1:int}/{var1:int}"); Assert.Throws <ArgumentException>(() => path.ParseRoute("/1/2")); }