public void AvailableSpaces_ShouldHaveOnlyAvailableCells() { //Arrange FakePrinter fakePrinter = new FakePrinter.Builder().Build(); FakeGameState fakeGameState = new FakeGameState.Builder().Build(); FakeCell fakeCell = new FakeCell.Builder().IsSelected(Bool.False).Build(); FakeCell fakeCellSelected = new FakeCell.Builder().IsSelected(Bool.True).Build(); Board subject = new Board(new CellCollection(new ICell[] { fakeCell, fakeCellSelected }), fakeGameState, fakePrinter); //Act ICellCollection actual = subject.AvailableSpaces(); //Assert ((int)actual.Count()).Should().Be(1); }