test
This commit is contained in:
@@ -3,7 +3,7 @@ from untitled import model, persistence
|
||||
|
||||
def test_save_load_roundtrip(tmp_path):
|
||||
original = model.Save(version=1, cat=model.Cat("Mittens"))
|
||||
persistence.save(original)
|
||||
loaded = persistence.load("Mittens")
|
||||
persistence.save(original, tmp_path)
|
||||
loaded = persistence.load("Mittens", tmp_path)
|
||||
assert loaded.cat.name == "Mittens"
|
||||
assert loaded.version == 1
|
||||
|
||||
@@ -6,21 +6,23 @@ from untitled import model
|
||||
SAVE_FOLDER = os.path.join("untitled", "saves")
|
||||
|
||||
|
||||
def save(save: model.Save):
|
||||
def save(save: model.Save, folder=None):
|
||||
folder = folder or SAVE_FOLDER
|
||||
file_name = save.cat.name + ".kitten"
|
||||
save_file = os.path.join(SAVE_FOLDER, file_name)
|
||||
save_file = os.path.join(folder, file_name)
|
||||
|
||||
data = save.to_dict()
|
||||
|
||||
os.makedirs(SAVE_FOLDER, exist_ok=True)
|
||||
os.makedirs(folder, exist_ok=True)
|
||||
|
||||
with open(save_file, "w") as f:
|
||||
json.dump(data, f)
|
||||
|
||||
|
||||
def load(name):
|
||||
def load(name, folder=None):
|
||||
folder = folder or SAVE_FOLDER
|
||||
file_name = name + ".kitten"
|
||||
save_file = os.path.join(SAVE_FOLDER, file_name)
|
||||
save_file = os.path.join(folder, file_name)
|
||||
|
||||
with open(save_file) as f:
|
||||
data = json.load(f)
|
||||
|
||||
Reference in New Issue
Block a user