Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 130 additions & 0 deletions CourseApp.Tests/DocumentTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
namespace CourseApp.Tests
{
using Xunit;

public class DocumentTest
{
[Fact]
public void OfficialTest()
{
var officDoc = new Official("Official memo �12", "Official memo", 451);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

а что за каракули? а этот MR еще нужен? можем его закрыть?

Assert.Equal("Official memo �12", officDoc.Name);
Assert.Equal("Official memo", officDoc.Type);
Assert.Equal(451, officDoc.Size);
}

[Fact]
public void ProtocolTest()
{
var protDoc = new Protocol("Protocol �22122", "Protocol", 366);
Assert.Equal("Protocol �22122", protDoc.Name);
Assert.Equal("Protocol", protDoc.Type);
Assert.Equal(366, protDoc.Size);
}

[Fact]
public void AnalyticalTest()
{
var anDoc = new Analytical("Special conclusion", "�onclusion", 215);
Assert.Equal("Special conclusion", anDoc.Name);
Assert.Equal("�onclusion", anDoc.Type);
Assert.Equal(215, anDoc.Size);
}

[Fact]
public void OfficialDocumentSizeTest()
{
var officDoc = new Official("Official memo �12", "Official memo", 451);
var result = officDoc.DocumentSize();
Assert.Equal("451 �� ", result);
}

[Fact]
public void ProtocolDocumentSizeTest()
{
var protDoc = new Protocol("Protocol �22122", "Protocol", 366);
var result = protDoc.DocumentSize();
Assert.Equal("366 �� ", result);
}

[Fact]
public void AnalyticalDocumentSizeTest()
{
var anDoc = new Analytical("Special conclusion", "�onclusion", 215);
var result = anDoc.DocumentSize();
Assert.Equal("215 �� ", result);
}

[Fact]
public void OfficialWayTest()
{
var officDoc = new Official("Official memo �12", "Official memo", 451);
var result = officDoc.Way();
Assert.Equal("C:/files", result);
}

[Fact]
public void ProtocolWayTest()
{
var protDoc = new Protocol("Protocol �22122", "Protocol", 366);
var result = protDoc.Way();
Assert.Equal("D:/files/documents", result);
}

[Fact]
public void AnalyticalWayTest()
{
var anDoc = new Analytical("Special conclusion", "�onclusion", 215);
var result = anDoc.Way();
Assert.Equal("C:/work/documents", result);
}

[Fact]
public void OfficialNameOfElTest()
{
var officDoc = new Official("Official memo �12", "Official memo", 451);
var result = officDoc.NameOfEl();
Assert.Equal("OfficialDocument: ", result);
}

[Fact]
public void ProtocolNameOfElTest()
{
var protDoc = new Protocol("Protocol �22122", "Protocol", 366);
var result = protDoc.NameOfEl();
Assert.Equal("ProtocolDocument: ", result);
}

[Fact]
public void AnalyticalNameOfElTest()
{
var anDoc = new Analytical("Special conclusion", "�onclusion", 215);
var result = anDoc.NameOfEl();
Assert.Equal("AnalyticalDocument: ", result);
}

[Fact]
public void OfficialToStringTest()
{
var officDoc = new Official("Official memo �12", "Official memo", 451);
var result = officDoc.ToString();
Assert.Equal("Official memo �12; 451 ��; Official memo", result);
}

[Fact]
public void ProtocolToStringTest()
{
var protDoc = new Protocol("Protocol �22122", "Protocol", 366);
var result = protDoc.ToString();
Assert.Equal("Protocol �22122; 366 ��; Protocol", result);
}

[Fact]
public void AnalyticalToStringTest()
{
var anDoc = new Analytical("Special conclusion", "�onclusion", 215);
var result = anDoc.ToString();
Assert.Equal("Special conclusion; 215 ��; �onclusion", result);
}
}
}
31 changes: 31 additions & 0 deletions CourseApp/Analytical.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
namespace CourseApp;

using System;

public class Analytical : Document
{
public Analytical(string name, string type, double size)
: base(name, type, size)
{
}

public override string DocumentSize()
{
return $"{Size} Мб ";
}

public override string Way()
{
return "C:/work/documents";
}

public override string NameOfEl()
{
return "AnalyticalDocument: ";
}

public override string ToString()
{
return $"{Name}; {Size} Мб; {Type}";
}
}
39 changes: 39 additions & 0 deletions CourseApp/Document.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
namespace CourseApp;

using System;

public abstract class Document
{
public Document(string name, string type, double size)
{
this.Name = name;
this.Type = type;
this.Size = size;
}

public string Name { get; set; }

public string Type { get; set; }

public double Size { get; set; }

public void Print()
{
Console.Write($"Название документа: {Name} Тип документа: {Type} Размер документа: {Size} Мб");
}

public virtual string DocumentSize()
{
return "200 Мб";
}

public virtual string Way()
{
return "sss";
}

public virtual string NameOfEl()
{
return "3";
}
}
38 changes: 38 additions & 0 deletions CourseApp/Phone.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
namespace CourseApp
{
using System;

public class Phone
{
private float diaonal;

public Phone(string name, float diagonal)
{
Name = name;
Diagonal = diagonal;
}

public string Name { get; set; }

public float Diagonal
{
get
{
return diaonal;
}

set
{
if (value > 0 && value < 20)
{
this.diaonal = value;
}
}
}

public void Show()
{
Console.WriteLine($"{Name} with diagonal {diaonal}");
}
}
}
14 changes: 14 additions & 0 deletions CourseApp/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,20 @@ 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();

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");
}
}
Expand Down
31 changes: 31 additions & 0 deletions CourseApp/Protocol.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
namespace CourseApp;

using System;

public class Protocol : Document
{
public Protocol(string name, string type, double size)
: base(name, type, size)
{
}

public override string DocumentSize()
{
return $"{Size} Мб ";
}

public override string Way()
{
return "D:/files/documents";
}

public override string NameOfEl()
{
return "ProtocolDocument: ";
}

public override string ToString()
{
return $"{Name}; {Size} Мб; {Type}";
}
}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ Finally you may work with migration (from `WebApplication` folder). The followin

```
dotnet ef migrations add InitialMigration
```
```