public void WithHostAndPort() { var original = new ClientSessionUri("localhost", 54321); original.ShouldBeSameAs(original.WithHostAndPort(null, null)); original.ShouldBeSameAs(original.WithHostAndPort("localhost", null)); original.ShouldBeSameAs(original.WithHostAndPort(null, 54321)); original.ShouldBeSameAs(original.WithHostAndPort("localhost", 54321)); var modifiedHost = original.WithHostAndPort("127.0.0.1", null); original.ShouldNotEqual(modifiedHost); modifiedHost.Host.ShouldEqual("127.0.0.1"); modifiedHost.Port.ShouldEqual(original.Port); original.ShouldEqual(modifiedHost.WithHostAndPort(original.Host, null)); var modifiedPort = original.WithHostAndPort(null, 50000); original.ShouldNotEqual(modifiedPort); modifiedPort.Host.ShouldEqual(original.Host); modifiedPort.Port.ShouldEqual((ushort)50000); original.ShouldEqual(modifiedPort.WithHostAndPort(null, original.Port)); var modifiedBoth = original.WithHostAndPort("127.0.0.1", 50000); original.ShouldNotEqual(modifiedBoth); modifiedBoth.Host.ShouldEqual("127.0.0.1"); modifiedBoth.Port.ShouldEqual((ushort)50000); original.ShouldEqual(modifiedBoth.WithHostAndPort(original.Host, original.Port)); }
public void WithParameters() { var original = new ClientSessionUri(AgentType.iOS, ClientSessionKind.Workbook); original.ShouldBeSameAs(original.WithParameters(null)); original.ShouldBeSameAs(original.WithParameters(Array.Empty <KeyValuePair <string, string> > ())); var parameters = new [] { new KeyValuePair <string, string> ("feature", "xamarin.forms"), new KeyValuePair <string, string> ("random thing", "blah & blah") }; var modified = original.WithParameters(parameters); modified.Parameters.Length.ShouldEqual(2); modified.Parameters.SequenceShouldEqual(parameters); var fromSystemUri = CSU("/v1?sessionKind=Workbook&agentType=iOS&feature=xamarin.forms&random%20thing=blah%20%26%20blah"); fromSystemUri.ShouldEqual(modified); }
public void WithAssemblySearchPaths() { var original = new ClientSessionUri(AgentType.iOS, ClientSessionKind.LiveInspection); original.ShouldBeSameAs(original.WithAssemblySearchPaths(null)); original.ShouldBeSameAs(original.WithAssemblySearchPaths(new string [0])); var modified = original.WithAssemblySearchPaths(new [] { "hello" }); modified.AssemblySearchPaths.Length.ShouldEqual(1); modified.AssemblySearchPaths [0].ShouldEqual("hello"); original = new ClientSessionUri("localhost", 54321, new [] { "a", "b", "c" }); original.ShouldBeSameAs(original.WithAssemblySearchPaths(new [] { "a", "b", "c" })); original.WithAssemblySearchPaths(null).AssemblySearchPaths.Length.ShouldEqual(0); original.WithAssemblySearchPaths(new string [0]).AssemblySearchPaths.Length.ShouldEqual(0); modified = original.WithAssemblySearchPaths(new [] { "x", "y" }); modified.AssemblySearchPaths.Length.ShouldEqual(2); modified.AssemblySearchPaths [0].ShouldEqual("x"); modified.AssemblySearchPaths [1].ShouldEqual("y"); }