From 158169b50eb1fee626c947bdc1a62d9340fbb505 Mon Sep 17 00:00:00 2001 From: Colin Goutte Date: Wed, 23 Aug 2023 15:04:33 +0200 Subject: [PATCH] simple create and update implementation --- movie_service.py | 27 +++++++++++++++++++++++++++ test_overview.py | 5 +++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/movie_service.py b/movie_service.py index e69de29..2c33d66 100644 --- a/movie_service.py +++ b/movie_service.py @@ -0,0 +1,27 @@ +movies = [] + + +class Movie(object): + def __init__(self, name, sample_attr): + self.name = name + self.sample_attr = sample_attr + movies.append(self) + + +def create(name, sample_attr): + return Movie(name, sample_attr) + + +def update(name, set_sample_attr): + matches = [m for m in movies if m.name == name] + if len(matches) != 1: + raise LookupError(f"{matches}/{name} should be of length 1") + + matches[0].sample_attr = set_sample_attr + + return matches[0] + + +def _clear_movies(): + while movies: + movies.pop() diff --git a/test_overview.py b/test_overview.py index 2a1ab56..3d8785b 100644 --- a/test_overview.py +++ b/test_overview.py @@ -9,15 +9,16 @@ import movie_service def test_create(): movie = movie_service.create(name="Base movie", sample_attr=0) - assert movie_service.movies + assert movie def test_update(): + movie_service._clear_movies() initial_value = None value_to_set = 1 movie = movie_service.create(name="Base movie", sample_attr=initial_value) - base_value = move.sample_attr + base_value = movie.sample_attr movie_service.update(name="Base movie", set_sample_attr=value_to_set)