public async Task RequestsCorrectUrl()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new CurrenciesClient(connection);

                await client.GetAll();

                Received.InOrder(async() =>
                {
                    await connection.GetAll <Currency>(Arg.Is <Uri>(u => u.ToString() == "currencies"));
                });
            }
            public async Task RequestsCorrectUrlWithTerm()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new CurrenciesClient(connection);

                await client.GetAll("fake");

                Received.InOrder(async() =>
                {
                    await connection
                    .GetAll <Currency>(
                        Arg.Is <Uri>(u => u.ToString() == "currencies"),
                        Arg.Is <Dictionary <string, string> >(d => d.Count == 1 &&
                                                              d["term"] == "fake"));
                });
            }