Each `do` block needs to be `end`ed before the next one can begin. This is the actual structure of your code, if it were properly indented:

``` 
  it 'takes integer as argument and returns string with value equivalent of Roman numeral' do
    expect(to_roman(5)).to eq 'V'
    it 'splits a multi-digit number into an array of single digits' do
      expect(to_roman(21)).to eq ['2','1']
      it 'matches numbers in array to values in hash and adds the values' do
        expect(to_roman(20)).to eq ['X', 'X']
      end
    end
  end
```

I'm not sure whether RSpec actually accepts this or not -- it may be ignoring some of the tests.