require 'rspec'
require 'cell.rb'

describe 'Cell'  do

  describe '#get_status' do

    context 'when the cell is alive' do
      cell = Cell.new(:alive)

      it 'dies if it has less than two live neighbours' do
        expect(cell.get_status).to eq(:dead)
      end

      it 'dies if it has more than three live neighbours'


      it 'continues to live if it has two or three live neighbours'
    end

    context 'when the cell is dead' do
      it 'comes to life if it has exactly three neighbours'
    end

  end

end
require 'rspec'
require 'cell.rb'

describe 'Cell'  do

  describe '#get_status' do

    context 'when the cell is alive' do
      let(:cell) { Cell.new(:alive) }

      it 'dies if it has less than two live neighbours' do
        expect(cell.get_status).to eq(:dead)
      end

      it 'dies if it has more than three live neighbours'


      it 'continues to live if it has two or three live neighbours'
    end

    context 'when the cell is dead' do
      it 'comes to life if it has exactly three neighbours'
    end

  end
  
end
Use let() instead of direct initialization
Use let() instead of direct initialization

let() is lazy-evaluated. Therefore, initializes the object only when it
is used. That makes the tests run faster.
