On a more fundamental level, you were right on when you said that you felt this was a tad messy. You're having to set up many things beforehand to setup a test.

```ruby
describe "should provide an average grade for the class" do
  it "should provide an average grade" do
    assignment_doubles = [
      double(grade:95),
      double(grade:50),
      double(grade:85)
    ]
    subject.stub(:assignments, assignment_doubles)
    subject.average_grade.should eq(75)
  end
end
```