public async void ReservedPortAvailableFromProperty()
            {
                var request = new ReservePortRequest(100);

                launcher.SendMessageAsync <ReservePortRequest, ReservePortResponse>(Arg.Any <ReservePortRequest>())
                .ReturnsTask(new ReservePortResponse("", 200));

                var reservedPort = await proxy.ReservePortAsync(100);

                Assert.Equal(200, proxy.AssignedPort);
            }
            public async void CachesFirstReservation()
            {
                var request = new ReservePortRequest(100);

                launcher.SendMessageAsync <ReservePortRequest, ReservePortResponse>(Arg.Any <ReservePortRequest>())
                .ReturnsTask(new ReservePortResponse("", 100));

                var reservedPort = await proxy.ReservePortAsync(100);

                launcher.SendMessageAsync <ReservePortRequest, ReservePortResponse>(Arg.Any <ReservePortRequest>())
                .ReturnsTask(new ReservePortResponse("", 200));

                var nextReservation = await proxy.ReservePortAsync(200);

                Assert.Equal(reservedPort, nextReservation);
            }