public void Create_WhenCalledWithRefreshableTokenBasedCommand_ReturnsRefreshableTokenWithValuesFromRefreshableTokenBasedCommand()
        {
            string   tokenType    = _fixture.Create <string>();
            string   accessToken  = _fixture.Create <string>();
            string   refreshToken = _fixture.Create <string>();
            DateTime expires      = _fixture.Create <DateTime>();
            IRefreshableTokenBasedCommand refreshableTokenBasedCommand = _fixture.BuildRefreshableTokenBasedCommandMock(tokenType, accessToken, refreshToken, expires).Object;

            IRefreshableToken result = Sut.Create(refreshableTokenBasedCommand);

            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(IRefreshableTokenBasedCommand refreshableTokenBasedCommand)
        {
            NullGuard.NotNull(refreshableTokenBasedCommand, nameof(refreshableTokenBasedCommand));

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