From 58fbf4e5e51d9582b50d7dbc0c3688e62bd17373 Mon Sep 17 00:00:00 2001 From: lionarius Date: Fri, 12 Apr 2024 16:49:19 +0300 Subject: [PATCH] fix issue 2 --- Tool/src/ElectricTool.cs | 12 +++++++++++- Tool/src/Lawnmower.cs | 12 +++++++++++- Tool/src/ManualTool.cs | 2 +- Tool/src/Scissors.cs | 12 +++++++++++- Tool/src/Scythe.cs | 2 +- Tool/src/Tool.cs | 20 ++++++++++++++------ Tool/src/Trimmer.cs | 2 +- 7 files changed, 50 insertions(+), 12 deletions(-) diff --git a/Tool/src/ElectricTool.cs b/Tool/src/ElectricTool.cs index 38c9713..e8a5310 100644 --- a/Tool/src/ElectricTool.cs +++ b/Tool/src/ElectricTool.cs @@ -11,7 +11,17 @@ public class ElectricTool : Tool /// /// Мощность электроинструмента /// - public uint Power => _power; + public uint Power + { + get => _power; + set + { + if (value == 0) + throw new ArgumentException("Мощность не может быть равна нулю", nameof(Power)); + + _power = value; + } + } /// /// Инициализирует новый экземпляр класса с указанным именем, материалом, весом и мощностью diff --git a/Tool/src/Lawnmower.cs b/Tool/src/Lawnmower.cs index 80b3261..3514344 100644 --- a/Tool/src/Lawnmower.cs +++ b/Tool/src/Lawnmower.cs @@ -15,7 +15,17 @@ public class Lawnmower : ElectricTool /// /// Объем топлива /// - public float FuelCapacity => _fuelCapacity; + public float FuelCapacity + { + get => _fuelCapacity; + set + { + if (value <= 0) + throw new ArgumentException("Объем топлива не может быть меньше или равен нулю", nameof(FuelCapacity)); + + _fuelCapacity = value; + } + } /// /// Текущий уровень топлива /// diff --git a/Tool/src/ManualTool.cs b/Tool/src/ManualTool.cs index 4f53957..9499298 100644 --- a/Tool/src/ManualTool.cs +++ b/Tool/src/ManualTool.cs @@ -11,7 +11,7 @@ public class ManualTool : Tool /// /// Длина рукояти ручного инструмента в метрах /// - public float HandleLength => _handleLength; + public float HandleLength { get => _handleLength; set => SwitchHandle(value); } /// /// Инициализирует новый экземпляр класса с указанным именем, материалом, весом и мощностью diff --git a/Tool/src/Scissors.cs b/Tool/src/Scissors.cs index f690548..4b376a7 100644 --- a/Tool/src/Scissors.cs +++ b/Tool/src/Scissors.cs @@ -8,7 +8,17 @@ public class Scissors : ManualTool /// /// Размер лезвия ножниц. /// - public double BladeSize => _bladeSize; + public double BladeSize + { + get => _bladeSize; + set + { + if (value <= 0.0) + throw new ArgumentException("Длина лезвия не может быть меньше или равна нулю", nameof(BladeSize)); + + _bladeSize = value; + } + } /// /// Инициализирует новый экземпляр класса с указанными параметрами. diff --git a/Tool/src/Scythe.cs b/Tool/src/Scythe.cs index dd5d213..1987fdf 100644 --- a/Tool/src/Scythe.cs +++ b/Tool/src/Scythe.cs @@ -11,7 +11,7 @@ public class Scythe : ManualTool /// /// Тип лезвия /// - public BladeType BladeType => _bladeType; + public BladeType BladeType { get => _bladeType; set => SwitchBlade(value); } /// /// Создает новый экземпляр класса diff --git a/Tool/src/Tool.cs b/Tool/src/Tool.cs index 68ea476..0b87c7c 100644 --- a/Tool/src/Tool.cs +++ b/Tool/src/Tool.cs @@ -28,7 +28,7 @@ public class Tool /// /// Название инструмента /// - public string Name => _name; + public string Name { get => _name; set => _name = value; } /// /// Материал инструмента /// @@ -36,7 +36,17 @@ public class Tool /// /// Вес инструмента /// - public double Weight => _weight; + public double Weight + { + get => _weight; + set + { + if (value <= 0) + throw new ArgumentException("Вес инструмента не может быть меньше или равен нулю", nameof(Weight)); + + _weight = value; + } + } /// /// Инициализирует новый экземпляр класса . @@ -48,9 +58,7 @@ public class Tool public Tool(string parName, Material parMaterial, double parWeight) { if (parWeight <= 0) - { throw new ArgumentException("Вес инструмента не может быть меньше или равен нулю", nameof(parWeight)); - } _name = parName; _material = parMaterial; @@ -60,8 +68,8 @@ public class Tool /// /// Печатает детали инструмента, включая его имя, материал и вес. /// - public void Print() + public string Print() { - Console.WriteLine($"Инструмент: {Name}, Материал: {Material}, Вес: {Weight}"); + return $"Инструмент: {Name}, Материал: {Material}, Вес: {Weight}"; } } diff --git a/Tool/src/Trimmer.cs b/Tool/src/Trimmer.cs index 296bcd2..5339eb7 100644 --- a/Tool/src/Trimmer.cs +++ b/Tool/src/Trimmer.cs @@ -11,7 +11,7 @@ public class Trimmer : ElectricTool /// /// Режим работы /// - public TrimmerMode Mode => _mode; + public TrimmerMode Mode { get => _mode; set => ChangeMode(value); } /// /// Инициализирует новый экземпляр класса с указанным именем, материалом, весом и мощностью