public void Create_WhenCalledWithRefreshableTokenBasedQuery_ReturnsRefreshableTokenWithValuesFromRefreshableTokenBasedQuery()
        {
            string   tokenType    = _fixture.Create <string>();
            string   accessToken  = _fixture.Create <string>();
            string   refreshToken = _fixture.Create <string>();
            DateTime expires      = _fixture.Create <DateTime>();
            IRefreshableTokenBasedQuery refreshableTokenBasedQuery = _fixture.BuildRefreshableTokenBasedQueryMock(tokenType, accessToken, refreshToken, expires).Object;

            IRefreshableToken result = Sut.Create(refreshableTokenBasedQuery);

            Assert.That(result, Is.Not.Null);
            Assert.That(result.TokenType, Is.EqualTo(tokenType));
            Assert.That(result.AccessToken, Is.EqualTo(accessToken));
            Assert.That(result.RefreshToken, Is.EqualTo(refreshToken));
            Assert.That(result.Expires, Is.EqualTo(expires));
        }
        public static IRefreshableToken Create(IRefreshableTokenBasedQuery refreshableTokenBasedQuery)
        {
            NullGuard.NotNull(refreshableTokenBasedQuery, nameof(refreshableTokenBasedQuery));

            return(new RefreshableToken(refreshableTokenBasedQuery.TokenType, refreshableTokenBasedQuery.AccessToken, refreshableTokenBasedQuery.RefreshToken, refreshableTokenBasedQuery.Expires));
        }