Skip to content

Instantly share code, notes, and snippets.

@m3nd3s
Created November 20, 2015 12:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save m3nd3s/b62c0aa01a02039f1d8b to your computer and use it in GitHub Desktop.
Save m3nd3s/b62c0aa01a02039f1d8b to your computer and use it in GitHub Desktop.
Coding Dojo Fizz Buzz
class FizzBuzz
attr_reader :lista
def initialize
@lista = 1..100
end
def divisor_3_5 (numero)
if(numero%5 == 0 && numero%3 ==0)
"fizzbuzz"
elsif (numero%3 ==0)
"fizz"
elsif (numero%5 == 0)
"buzz"
else
numero
end
end
def resultado
lista.map do |i|
divisor_3_5(i)
end
end
def imprimir
resultado.join("\n")
end
end
require 'fizz_buzz'
require 'spec_helper'
describe FizzBuzz do
it "Deveria ter numeros de 1 a 100" do
fizzbuzz= FizzBuzz.new
expect(fizzbuzz.lista).to eql(1..100)
end
it " Retornar 1" do
fizzbuzz= FizzBuzz.new
expect(fizzbuzz.divisor_3_5(1)).to eql(1)
end
it " Retorna Fizz" do
fizzbuzz= FizzBuzz.new
expect(fizzbuzz.divisor_3_5(3)).to eql("fizz")
end
it " Retorna Buzz" do
fizzbuzz= FizzBuzz.new
expect(fizzbuzz.divisor_3_5(5)).to eql("buzz")
end
it " Retorna FizzBuzz" do
fizzbuzz= FizzBuzz.new
expect(fizzbuzz.divisor_3_5(15)).to eql("fizzbuzz")
end
it " Retorna Buzz" do
fizzbuzz= FizzBuzz.new
expect(fizzbuzz.divisor_3_5(21)).to eql("fizz")
end
it " Retorna 21" do
fizzbuzz= FizzBuzz.new
expect(fizzbuzz.divisor_3_5(21)).to eql("fizz")
end
it " Retorna lista" do
fizzbuzz= FizzBuzz.new
resultado = fizzbuzz.resultado()
expect(resultado[2]).to eql("fizz")
end
it " Retorna lista buzz" do
fizzbuzz= FizzBuzz.new
resultado = fizzbuzz.resultado()
expect(resultado[9]).to eql("buzz")
end
it " Retorna lista 11" do
fizzbuzz= FizzBuzz.new
resultado = fizzbuzz.resultado()
expect(resultado[10]).to eql(11)
end
it " Retorna lista 45" do
fizzbuzz= FizzBuzz.new
resultado = fizzbuzz.resultado()
expect(resultado[44]).to eql("fizzbuzz")
end
it " Retorna lista nil, numero fora da lista" do
fizzbuzz= FizzBuzz.new
resultado = fizzbuzz.resultado()
expect(resultado[101]).to eql(nil)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment