Skip to content

Commit ab156b4

Browse files
committed
Merged in latest from Paul
2 parents b850150 + 45788b5 commit ab156b4

File tree

3 files changed

+44
-17
lines changed

3 files changed

+44
-17
lines changed

include/GameBoard.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <string>
99
#include <iostream>
1010
#include <fstream>
11+
#include <cstddef>
1112

1213
#include "Util.h"
1314
#include "GamePiece.h"
@@ -27,8 +28,8 @@ class GameBoard {
2728
~GameBoard();
2829
GameBoard& operator=(GameBoard&) = delete;
2930

30-
int saveBoardToFile(std::string filename);
31-
int loadBoardFromFile(std::string filename);
31+
int save_Board(std::string filename);
32+
int load_Board(std::string filename);
3233
const std::map<Coordinate, std::unique_ptr<GamePiece>>& getResources() const;
3334

3435
std::vector<Settlement*> GetNeighboringSettlements(Coordinate location);
@@ -38,4 +39,4 @@ class GameBoard {
3839
void init_resources();
3940
};
4041

41-
#endif
42+
#endif

src/GameBoard.cpp

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,40 +19,44 @@ GameBoard::~GameBoard() {
1919

2020
}
2121

22-
int GameBoard::saveBoardToFile(std::string filename){
22+
23+
int GameBoard::save_Board(std::string filename){
2324
std::ofstream file;
2425
file.exceptions(std::ofstream::failbit | std::ofstream::badbit);
2526
try {
2627
filename = filename + ".wocs";
27-
file.open(filename.c_str(), std::fstream::out | std::fstream::trunc);
28+
file.open(filename.c_str());
2829
constructFileFromBoard(file);
29-
30-
} catch (std::ofstream::failure e){
31-
std::cerr << "Exception opening/reading/closing file \n";
30+
file.close();
31+
return 0;
32+
} catch (std::ofstream::failure e) {
33+
std::cerr << "Exception opening/closing/writing file: " << e.what();
3234
}
33-
return 0;
35+
return -1;
3436
}
3537

36-
int GameBoard::loadBoardFromFile(std::string filename){
38+
int GameBoard::load_Board(std::string filename){
3739
std::ifstream file;
38-
file.exceptions(std::ifstream::failbit | std::ifstream::badbit);
3940
try {
4041
filename = filename + ".wocs";
41-
file.open(filename.c_str(), std::fstream::in);
42+
file.open(filename.c_str());
4243
constructBoardFromFile(file);
43-
4444
file.close();
45+
return 0;
4546
} catch (std::ifstream::failure e) {
46-
std::cerr << "Exception opening/reading/closing file\n";
47+
std::cerr << "Exception opening/closing/reading file: " << e.what();
4748
}
48-
return 0;
49+
return -1;
4950
}
5051

5152
int GameBoard::constructBoardFromFile(std::ifstream &file){
5253
//Parse and construct the board from the file
5354
//@ TODO
54-
while (!file.eof()) {
55-
std::cout << file.get();
55+
std::string line;
56+
if (file.is_open()) {
57+
while (getline(file, line)) {
58+
std::cout << line << '\n';
59+
}
5660
}
5761
return 0;
5862
}

tests/test_GameBoard.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* test_GameBoard.cpp
3+
*
4+
* Created on: Feb 22, 2014
5+
* Author: The Pickle
6+
*/
7+
8+
#include "GameBoard.h"
9+
#include "UnitTest++.h"
10+
11+
12+
TEST(saveFile_simple){
13+
GameBoard * test_board = new GameBoard;
14+
CHECK(test_board->save_Board("test_1") == 0);
15+
delete(test_board);
16+
}
17+
18+
TEST(loadFile_simple){
19+
GameBoard * test_board = new GameBoard;
20+
CHECK(test_board->load_Board("test_1") == 0);
21+
delete(test_board);
22+
}

0 commit comments

Comments
 (0)