$\definecolor{highlight}{RGB}{2, 154, 207}$$\definecolor{extralight}{RGB}{217, 35, 15}$

Como vimos na solução da equação, precisamos sempre do valor de $\color{extralight}X_{n}$ (úlimo $X$ calculado). Na primeira vez, como não fizemos nenhum cálculo ainda, utilizamos o $\color{extralight}X_{0}$ (seed) que definimos para dar início aos cálculos.



Para conseguir sempre ter o valor do último $X$ calculado vamos deixar a nossa classe instanciável. Ao instanciar nossa classe com os valores para a equação, é importante garantir que tais valores são válidos. Vamos criar um teste que instancia a nossa classe com dois cenários de valores inválidos e outro teste que a instancie com valores válidos e confira se tais valores foram realmente definidos:


Teste falhando, vamos ao código. Precisamos criar um método constructor que receba os valores, verifique se eles são válidos utilizando o método valid_variables? que criamos e após isso defina os valores recebidos nas variáveis de instância. Vamos precisar criar também read accessors para conseguir ler os valores das variáveis:


Pronto, com tudo preparado agora podemos finalmente criar o método que gera o número pseudoaleatório.