From ec31cb345f6458f5591ba0711711bd4e8a2513ca Mon Sep 17 00:00:00 2001 From: Eugeny Konstantinov Date: Fri, 16 Sep 2022 09:04:04 +0300 Subject: [PATCH 1/2] lecture --- CourseApp/CourseApp.csproj | 2 +- CourseApp/Phone.cs | 29 +++++++---------------------- CourseApp/Program.cs | 22 ++++++++-------------- README.md | 35 ++++++++++++++++++++++++++++++++++- 4 files changed, 50 insertions(+), 38 deletions(-) diff --git a/CourseApp/CourseApp.csproj b/CourseApp/CourseApp.csproj index eb22147..707f86e 100644 --- a/CourseApp/CourseApp.csproj +++ b/CourseApp/CourseApp.csproj @@ -3,7 +3,7 @@ Exe net6.0 - True + False diff --git a/CourseApp/Phone.cs b/CourseApp/Phone.cs index 1c8e407..6c2b900 100644 --- a/CourseApp/Phone.cs +++ b/CourseApp/Phone.cs @@ -4,35 +4,20 @@ namespace CourseApp public class Phone { - private float diaonal; + public string Number; - public Phone(string name, float diagonal) + public void AcceptCall() { - Name = name; - Diagonal = diagonal; + Console.WriteLine("Принимаю звонок"); } - - public string Name { get; set; } - - public float Diagonal + public void CloseCall() { - get - { - return diaonal; - } - - set - { - if (value > 0 && value < 20) - { - this.diaonal = value; - } - } + Console.WriteLine("Завершаю звонок"); } - public void Show() + public void MakeCall(string phoneNumber) { - Console.WriteLine($"{Name} with diagonal {diaonal}"); + Console.WriteLine($"Звонок на номер {phoneNumber}"); } } } \ No newline at end of file diff --git a/CourseApp/Program.cs b/CourseApp/Program.cs index 030f047..6bb1883 100644 --- a/CourseApp/Program.cs +++ b/CourseApp/Program.cs @@ -6,21 +6,15 @@ public class Program { public static void Main(string[] args) { - Phone phone1 = new Phone("iPhone", -7); - phone1.Show(); - phone1.Diagonal = 7; - phone1.Show(); - phone1.Diagonal = -16; - phone1.Show(); + // int a = 5; + Phone phone = new Phone(); + phone.AcceptCall(); + phone.CloseCall(); + phone.MakeCall("+1234567"); + phone.CloseCall(); - Phone tablet = new Phone("Android", 6); - tablet.Diagonal = 6; - tablet.Show(); - tablet.Diagonal = -10; - tablet.Show(); - tablet.Diagonal = 8; - tablet.Show(); - Console.WriteLine("Hello World"); + Phone phone1 = new Phone(); + phone1.AcceptCall(); } } } diff --git a/README.md b/README.md index a79bfa3..2dbf55b 100644 --- a/README.md +++ b/README.md @@ -33,4 +33,37 @@ Finally you may work with migration (from `WebApplication` folder). The followin ``` dotnet ef migrations add InitialMigration -``` \ No newline at end of file +``` + +# Phones Store + +Существуют телефоны, которые могут осуществлять голосовой вызов, у них появляются методы - принять вызов, завершить вызов, позвонить. +Существуют сотовые телефоны, которые могут отправить сообщение, принять сообщение, отправить сообщение, а так сбросить вызов. +Существуют смартфоны (различающиеся операционной системой), определяются диагональю экрана, можно установить и запустить приложение +Все телефоны могут быть представлены в магазине. + +Phone: + Number {get; set;} + AcceptCall() + CloseCall() + MakeCall(phoneNumber) + + CellPhone: + PlayMusic() + SendMessage(number) + GetMessage() + DeclineCall() + + Smarphone + Diagonal {get; set;} + OsType {get; set;} + ConnectToInternet() + InstallApp() + StartApp() + UninstallApp() + + Iphone14: + lidar() + Redmi14: + Wallet() + From 84eebab79bc927d08852b01797858c0de40dae88 Mon Sep 17 00:00:00 2001 From: Eugeny Konstantinov Date: Fri, 16 Sep 2022 10:34:33 +0300 Subject: [PATCH 2/2] Add test samples --- CourseApp.Tests/DemoTest.cs | 32 ++++++++++++++++++++++++++++++++ CourseApp/Phone.cs | 25 +++++++++++++++++++++++++ CourseApp/Program.cs | 4 +++- 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/CourseApp.Tests/DemoTest.cs b/CourseApp.Tests/DemoTest.cs index cf7cbb1..d324775 100644 --- a/CourseApp.Tests/DemoTest.cs +++ b/CourseApp.Tests/DemoTest.cs @@ -9,5 +9,37 @@ public void Test1() { Assert.True(true); } + + [Fact] + public void TestDefaultConstructor() + { + var phone = new Phone(); + Assert.Equal(1, phone.Version); + Assert.Equal("+000000000", phone.Number); + } + + [Fact] + public void TestVersionOk() + { + var phone = new Phone(); + phone.Version = 5; + Assert.Equal(5, phone.Version); + } + + [Fact] + public void TestBadVersionLessThanZero() + { + var phone = new Phone(); + phone.Version = -5; + Assert.Equal(1, phone.Version); + } + + [Fact] + public void TestBadVersionGtThan20() + { + var phone = new Phone(); + phone.Version = 21; + Assert.Equal(1, phone.Version); + } } } diff --git a/CourseApp/Phone.cs b/CourseApp/Phone.cs index 6c2b900..9634020 100644 --- a/CourseApp/Phone.cs +++ b/CourseApp/Phone.cs @@ -4,7 +4,23 @@ namespace CourseApp public class Phone { + private int version; public string Number; + + public int Version + { + get + { + return version; + } + set + { + if (value >0 && value < 20) + { + version = value; + } + } + } public void AcceptCall() { @@ -19,5 +35,14 @@ public void MakeCall(string phoneNumber) { Console.WriteLine($"Звонок на номер {phoneNumber}"); } + + public Phone() :this(1, "+000000000") + {} + + public Phone(int version, string number) + { + this.Version = version; + Number = number; + } } } \ No newline at end of file diff --git a/CourseApp/Program.cs b/CourseApp/Program.cs index 6bb1883..cdff08d 100644 --- a/CourseApp/Program.cs +++ b/CourseApp/Program.cs @@ -12,8 +12,10 @@ public static void Main(string[] args) phone.CloseCall(); phone.MakeCall("+1234567"); phone.CloseCall(); + Console.WriteLine($"ver={phone.Version} num={phone.Number}"); - Phone phone1 = new Phone(); + Phone phone1 = new Phone(5, "+7000000"); + Console.WriteLine($"ver={phone1.Version} num={phone1.Number}"); phone1.AcceptCall(); } }