コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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");
        }