From 5d470a57afbf1c96a9319c7cc63b5b031afba4af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerard=20Gasc=C3=B3n?= <52170489+GerardGascon@users.noreply.github.com> Date: Wed, 17 Apr 2024 00:05:36 +0200 Subject: [PATCH] refactor: renamed Model.cs to Score.cs --- Assets/Scripts/Domain/Model.cs | 29 ------------------- Assets/Scripts/Domain/Score.cs | 29 +++++++++++++++++++ .../Domain/{Model.cs.meta => Score.cs.meta} | 0 Assets/Scripts/Presenter/ExpressionClick.cs | 12 ++++---- .../Tests/{ModelTests.cs => ScoreTests.cs} | 14 ++++----- ...{ModelTests.cs.meta => ScoreTests.cs.meta} | 0 Assets/Scripts/View/Dependencies.cs | 6 ++-- Assets/Scripts/View/UI/ExpressionInput.cs | 6 ++-- 8 files changed, 48 insertions(+), 48 deletions(-) delete mode 100644 Assets/Scripts/Domain/Model.cs create mode 100644 Assets/Scripts/Domain/Score.cs rename Assets/Scripts/Domain/{Model.cs.meta => Score.cs.meta} (100%) rename Assets/Scripts/Tests/{ModelTests.cs => ScoreTests.cs} (76%) rename Assets/Scripts/Tests/{ModelTests.cs.meta => ScoreTests.cs.meta} (100%) diff --git a/Assets/Scripts/Domain/Model.cs b/Assets/Scripts/Domain/Model.cs deleted file mode 100644 index beacda8..0000000 --- a/Assets/Scripts/Domain/Model.cs +++ /dev/null @@ -1,29 +0,0 @@ -namespace Domain { - public class Model { - public int Score { private set; get; } - - public readonly int SpawnRate; - public readonly int GrowIterations; - - public float GrowPercentage { private set; get; } - - public Model(int spawnRate, int growIterations) : this(0, spawnRate, growIterations) { } - - public Model(int score, int spawnRate, int growIterations) { - Score = score; - SpawnRate = spawnRate; - GrowIterations = growIterations; - } - - public void AddScore() { - Score++; - - if (Score % GrowIterations == 0) { - float relativeScore = Score % (GrowIterations * SpawnRate); - if (relativeScore == 0 && Score != 0) - relativeScore = GrowIterations * SpawnRate; - GrowPercentage = relativeScore / (SpawnRate * GrowIterations); - } - } - } -} \ No newline at end of file diff --git a/Assets/Scripts/Domain/Score.cs b/Assets/Scripts/Domain/Score.cs new file mode 100644 index 0000000..c365077 --- /dev/null +++ b/Assets/Scripts/Domain/Score.cs @@ -0,0 +1,29 @@ +namespace Domain { + public class Score { + public int Value { private set; get; } + + public readonly int SpawnRate; + public readonly int GrowIterations; + + public float GrowPercentage { private set; get; } + + public Score(int spawnRate, int growIterations) : this(0, spawnRate, growIterations) { } + + public Score(int value, int spawnRate, int growIterations) { + Value = value; + SpawnRate = spawnRate; + GrowIterations = growIterations; + } + + public void Add() { + Value++; + + if (Value % GrowIterations == 0) { + float relativeScore = Value % (GrowIterations * SpawnRate); + if (relativeScore == 0 && Value != 0) + relativeScore = GrowIterations * SpawnRate; + GrowPercentage = relativeScore / (SpawnRate * GrowIterations); + } + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Domain/Model.cs.meta b/Assets/Scripts/Domain/Score.cs.meta similarity index 100% rename from Assets/Scripts/Domain/Model.cs.meta rename to Assets/Scripts/Domain/Score.cs.meta diff --git a/Assets/Scripts/Presenter/ExpressionClick.cs b/Assets/Scripts/Presenter/ExpressionClick.cs index 3817175..9fe7d05 100644 --- a/Assets/Scripts/Presenter/ExpressionClick.cs +++ b/Assets/Scripts/Presenter/ExpressionClick.cs @@ -2,21 +2,21 @@ namespace Presenter { public class ExpressionClick { - private readonly Model _model; + private readonly Score _score; private readonly IExpressionInput _view; private readonly IRoseSpawner _spawner; - private bool CanSpawn => _model.Score % (_model.GrowIterations * _model.SpawnRate) == 0; + private bool CanSpawn => _score.Value % (_score.GrowIterations * _score.SpawnRate) == 0; - public ExpressionClick(Model model, IExpressionInput view, IRoseSpawner spawner) { - _model = model; + public ExpressionClick(Score score, IExpressionInput view, IRoseSpawner spawner) { + _score = score; _view = view; _spawner = spawner; } public void Execute() { - _model.AddScore(); - _view.UpdateView(_model.Score); + _score.Add(); + _view.UpdateView(_score.Value); if (CanSpawn) _spawner.SpawnRose(); diff --git a/Assets/Scripts/Tests/ModelTests.cs b/Assets/Scripts/Tests/ScoreTests.cs similarity index 76% rename from Assets/Scripts/Tests/ModelTests.cs rename to Assets/Scripts/Tests/ScoreTests.cs index e54733e..3997964 100644 --- a/Assets/Scripts/Tests/ModelTests.cs +++ b/Assets/Scripts/Tests/ScoreTests.cs @@ -2,13 +2,13 @@ using NUnit.Framework; namespace Tests { - public class ModelTests { + public class ScoreTests { [Test] public void OneIteration_UpdatesGrowPercentage() { - Model sut = new(5, 5); + Score sut = new(5, 5); for (int i = 0; i < 5; i++) { - sut.AddScore(); + sut.Add(); } Assert.AreEqual(1f / 5f, sut.GrowPercentage); @@ -16,10 +16,10 @@ namespace Tests { [Test] public void AllIterations_GrowCompleted() { - Model sut = new(5, 5); + Score sut = new(5, 5); for (int i = 0; i < 5 * 5; i++) { - sut.AddScore(); + sut.Add(); } Assert.AreEqual(1f, sut.GrowPercentage); @@ -27,10 +27,10 @@ namespace Tests { [Test] public void MoreIterations_ResetsGrowPercentage() { - Model sut = new(5, 5); + Score sut = new(5, 5); for (int i = 0; i < 6 * 5; i++) { - sut.AddScore(); + sut.Add(); } Assert.AreEqual(1f / 5f, sut.GrowPercentage); diff --git a/Assets/Scripts/Tests/ModelTests.cs.meta b/Assets/Scripts/Tests/ScoreTests.cs.meta similarity index 100% rename from Assets/Scripts/Tests/ModelTests.cs.meta rename to Assets/Scripts/Tests/ScoreTests.cs.meta diff --git a/Assets/Scripts/View/Dependencies.cs b/Assets/Scripts/View/Dependencies.cs index eb24ae0..321b7c4 100644 --- a/Assets/Scripts/View/Dependencies.cs +++ b/Assets/Scripts/View/Dependencies.cs @@ -7,11 +7,11 @@ using View.UI; namespace View { public class Dependencies : MonoBehaviour { public ExpressionClick ExpressionClick { private set; get; } - public Model Model { private set; get; } + public Score Score { private set; get; } public CustomInput CustomInput { private set; get; } private void Awake() { - Model = new Model(20, 5); + Score = new Score(20, 5); IExpressionInput input = FindObjectOfType(); IExpressionInput visibility = FindObjectOfType(); @@ -19,7 +19,7 @@ namespace View { IRoseSpawner spawner = FindObjectOfType(); - ExpressionClick = new ExpressionClick(Model, inputCollections, spawner); + ExpressionClick = new ExpressionClick(Score, inputCollections, spawner); CustomInput = new CustomInput(); } diff --git a/Assets/Scripts/View/UI/ExpressionInput.cs b/Assets/Scripts/View/UI/ExpressionInput.cs index 2c721cc..fc698b1 100644 --- a/Assets/Scripts/View/UI/ExpressionInput.cs +++ b/Assets/Scripts/View/UI/ExpressionInput.cs @@ -11,12 +11,12 @@ namespace View.UI { private ExpressionClick _click; private CustomInput _customInput; - private Model _model; + private Score _score; [SerializeField] private FramedAnimator.FramedAnimator animator; private void Start() { - _model = FindObjectOfType().Model; + _score = FindObjectOfType().Score; _click = FindObjectOfType().ExpressionClick; _customInput = FindObjectOfType().CustomInput; @@ -27,7 +27,7 @@ namespace View.UI { } public void UpdateView(int score) { - animator.PlayUntil(_model.GrowPercentage); + animator.PlayUntil(_score.GrowPercentage); text.text = score.ToString(); }