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/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..9634020 100644
--- a/CourseApp/Phone.cs
+++ b/CourseApp/Phone.cs
@@ -4,35 +4,45 @@ namespace CourseApp
public class Phone
{
- private float diaonal;
-
- public Phone(string name, float diagonal)
- {
- Name = name;
- Diagonal = diagonal;
- }
-
- public string Name { get; set; }
-
- public float Diagonal
+ private int version;
+ public string Number;
+
+ public int Version
{
- get
+ get
{
- return diaonal;
+ return version;
}
-
- set
+ set
{
- if (value > 0 && value < 20)
+ if (value >0 && value < 20)
{
- this.diaonal = value;
+ version = value;
}
}
}
- public void Show()
+ public void AcceptCall()
+ {
+ Console.WriteLine("Принимаю звонок");
+ }
+ public void CloseCall()
+ {
+ Console.WriteLine("Завершаю звонок");
+ }
+
+ public void MakeCall(string phoneNumber)
+ {
+ Console.WriteLine($"Звонок на номер {phoneNumber}");
+ }
+
+ public Phone() :this(1, "+000000000")
+ {}
+
+ public Phone(int version, string number)
{
- Console.WriteLine($"{Name} with diagonal {diaonal}");
+ this.Version = version;
+ Number = number;
}
}
}
\ No newline at end of file
diff --git a/CourseApp/Program.cs b/CourseApp/Program.cs
index 030f047..cdff08d 100644
--- a/CourseApp/Program.cs
+++ b/CourseApp/Program.cs
@@ -6,21 +6,17 @@ 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();
+ Console.WriteLine($"ver={phone.Version} num={phone.Number}");
- 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(5, "+7000000");
+ Console.WriteLine($"ver={phone1.Version} num={phone1.Number}");
+ 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()
+