public void EnsuresNonNullArguments()
            {
                var client = new ObservableWatchedClient(Substitute.For <IGitHubClient>());

                Assert.Throws <ArgumentNullException>(() => client.CheckWatched(null, "name"));
                Assert.Throws <ArgumentNullException>(() => client.CheckWatched("owner", null));
                Assert.Throws <ArgumentException>(() => client.CheckWatched("", "name"));
                Assert.Throws <ArgumentException>(() => client.CheckWatched("owner", ""));
            }
            public void CallIntoClient()
            {
                var gitHub = Substitute.For <IGitHubClient>();
                var client = new ObservableWatchedClient(gitHub);

                client.CheckWatched("owner", "name");

                gitHub.Activity.Watching.Received().CheckWatched("owner", "name");
            }
            public void RequestsCorrectUrlWithRepositoryId()
            {
                var gitHub = Substitute.For <IGitHubClient>();
                var client = new ObservableWatchedClient(gitHub);

                client.CheckWatched(1);

                gitHub.Activity.Watching.Received().CheckWatched(1);
            }