public async Task TranslateCached()
        {
            var result = await instance.Translate(Language.English, Language.Lithuanian, "mother").ConfigureAwait(false);

            Assert.AreEqual(16, result.Translations.Length);
            var result2 = await instance.Translate(Language.English, Language.Lithuanian, "mother").ConfigureAwait(false);

            Assert.AreSame(result2, result);
        }
        public async Task Translate()
        {
            var response = ServiceResponse <ServiceResult <TranslationResult> > .GoodResponse(
                new HttpResponseMessage(HttpStatusCode.OK),
                new ServiceResult <TranslationResult>
            {
                Result = new TranslationResult(),
                Code   = 200
            });

            mockDictionaryManager
            .Setup(
                item => item.Translate(It.IsAny <TranslationRequest>(), CancellationToken.None))
            .Returns(Task.FromResult(response));
            var result = await instance.Translate(Language.English, Language.Lithuanian, "Test").ConfigureAwait(false);

            Assert.AreEqual(response.Data.Result, result);
            object value;

            cacheHelper.MemoryCache.Verify(item => item.TryGetValue(It.IsAny <string>(), out value));
            cacheHelper.MemoryCache.Verify(item => item.CreateEntry(It.IsAny <object>()));
        }