main
 1describe Game do
 2  subject { Game.new(printer) }
 3  let(:printer) { double }
 4
 5  context "#create_cells" do
 6    context "for a 2x2 grid" do
 7      let(:results) { subject.create_cells(2, 2) }
 8
 9      it "returns the correct number of cells" do
10        expect(results.count).to eql(4)
11      end
12
13      it "returns a cell for each coordinate" do
14        expect(find(1, 1).x).to eql(1)
15        expect(find(1, 1).y).to eql(1)
16        expect(find(1, 2).x).to eql(1)
17        expect(find(1, 2).y).to eql(2)
18        expect(find(2, 1).x).to eql(2)
19        expect(find(2, 1).y).to eql(1)
20        expect(find(2, 2).x).to eql(2)
21        expect(find(2, 2).y).to eql(2)
22      end
23
24      def find(x, y)
25        results.find { |cell| cell.x == x && cell.y == y }
26      end
27    end
28  end
29end