#ifndef I18N_ADDRESSINPUT_TEST_STORAGE_TEST_RUNNER_H_
#define I18N_ADDRESSINPUT_TEST_STORAGE_TEST_RUNNER_H_
#include <libaddressinput/storage.h>
#include <libaddressinput/util/basictypes.h>
#include <libaddressinput/util/scoped_ptr.h>
#include <string>
namespace i18n {
namespace addressinput {
class StorageTestRunner {
public:
explicit StorageTestRunner(Storage* storage);
void RunAllTests();
private:
void ClearValues();
scoped_ptr<Storage::Callback> BuildCallback();
void OnDataReady(bool success,
const std::string& key,
const std::string& data);
void GetWithoutPutReturnsEmptyData();
void GetReturnsWhatWasPut();
void SecondPutOverwritesData();
Storage* storage_;
bool success_;
std::string key_;
std::string data_;
DISALLOW_COPY_AND_ASSIGN(StorageTestRunner);
};
}
}
#endif