class DODB::SpecDataBase(V) < DODB::DataBase(V) property storage_dir : String def initialize(storage_ext = "", remove_previous_data = true) @storage_dir = "test-spec-storage#{storage_ext}" if remove_previous_data ::FileUtils.rm_rf storage_dir end super storage_dir end def rm_storage_dir ::FileUtils.rm_rf @storage_dir end end class DODB::CachedSpecDataBase(V) < DODB::CachedDataBase(V) property storage_dir : String def initialize(storage_ext = "", remove_previous_data = true) @storage_dir = "test-spec-storage-cached#{storage_ext}" if remove_previous_data ::FileUtils.rm_rf storage_dir end super storage_dir end def rm_storage_dir ::FileUtils.rm_rf @storage_dir end end class DODB::RAMOnlySpecDataBase(V) < DODB::RAMOnlyDataBase(V) property storage_dir : String def initialize(storage_ext = "", remove_previous_data = true) @storage_dir = "test-spec-storage-ram#{storage_ext}" if remove_previous_data ::FileUtils.rm_rf storage_dir end super storage_dir end def rm_storage_dir ::FileUtils.rm_rf @storage_dir end end