- Add support for Google Test framework, by adding a ReplayToolTest project to test libReplayTool.
- Separate ReplayTool core files into a library libReplayTool.lib.
- Reference the libReplayTool.lib from Replay_Tool and ReplayToolTest projects.

Signed-off-by: Muhamad Lotfy <mhesham.fcis@gmail.com>
Loose Coupling between Actions Parsing and the Replay source:
- ParseActions functions now uses IReplayReader as its dependency instead of a concrete ReplayReader, this loose coupling will help in mocking and testing.
- ReplayReader which reads directly replays from disk now extends IReplayReader to ease testing and mocking.
- Provide a ReplayReaderWrap to simplify reading operations frmo the replay by encapsulating IReplayReader.

Signed-off-by: Muhamad Lotfy <mhesham.fcis@gmail.com>
Refactor ParseActions, Logging, ReplayAction structure
- ParseActions now uses action objects returned from the reply actions factory to drive tha replay parsing.
- ParseActions now return a list of actions, so that the caller can do whatever he wants.
- To keep the old behavior of Replay_Tool, the returned actions from ParseActions are logged to a file same as before.

Signed-off-by: Muhamad Lotfy <mhesham.fcis@gmail.com>
Prepare testing project
- Add a noob test for Action factory when asked for Research action.
- Add a noob test for a Research action.
- Add a preliminary Mock class for IReplayReader interface to be use din the future.

Signed-off-by: Muhamad Lotfy <mhesham.fcis@gmail.com>
Merge branch 'master' of https://github.com/MHesham/bwapi
Add svnrev.h
Refactoring and cleanup
Merge branch 'master' of https://github.com/RtsAiResearch/bwapi
Add snvrev.h
Update gitignore to ignore Release_Binary generated files.

Signed-off-by: Muhamad Lotfy <mhesham.fcis@gmail.com>
Merge branch 'master' of https://github.com/MHesham/bwapi
Remove unnecessary files
Fix Replay_Tool Linkage Error:
Use extern "C" to force VS not to mangle exported symbol names when they are nested inside namespaces.
It seems that VS has problems when importing mangled symbols from a lib.
The current fix is not final, and it is a work-around just to continue in development.
This issue should be researched well.
Refactor tests and add SaveAction code
Fix test suite names
change project config
Merge branch 'master' of https://github.com/ogail/bwapi
Create unit test for AbstractAction::Factory::instance() method
Refactor action creation

Signed-off-by: Muhamad Lotfy <mhesham.fcis@gmail.com>
Implement ActionAction unit tests
Bunch of changes
- Added test framework mock
- Implemented BuildAction and it's UTs