diff --git a/CourseApp.Tests/CourseApp.Tests.csproj b/CourseApp.Tests/CourseApp.Tests.csproj new file mode 100644 index 0000000..15bc277 --- /dev/null +++ b/CourseApp.Tests/CourseApp.Tests.csproj @@ -0,0 +1,30 @@ + + + + netcoreapp2.0 + True + 1573,1591,1701;1702;1705 + false + + + + + + + + + + + + + + + ../stylecop/stylecop.ruleset + true + + + + + + + diff --git a/CourseApp.Tests/DemoTest.cs b/CourseApp.Tests/DemoTest.cs new file mode 100644 index 0000000..09e415e --- /dev/null +++ b/CourseApp.Tests/DemoTest.cs @@ -0,0 +1,14 @@ +using System; +using Xunit; + +namespace CourseApp.Tests +{ + public class DemoTest + { + [Fact] + public void Test1() + { + Assert.True(true); + } + } +} diff --git a/CourseApp.Tests/UnitTest1.cs b/CourseApp.Tests/UnitTest1.cs new file mode 100644 index 0000000..6a95cad --- /dev/null +++ b/CourseApp.Tests/UnitTest1.cs @@ -0,0 +1,59 @@ +using System; +using CourseApp; +using Xunit; + +namespace Test +{ + public class UnitTest1 + { + [Fact] + public void Test1() + { + City ivanovo = new City(); + var rescountry = ivanovo.Country; + var respopulation = ivanovo.Population; + var resname = ivanovo.Name; + Assert.Equal("Россия", rescountry); + Assert.Equal(316, respopulation); + Assert.Equal("Иваново", resname); + } + + [Fact] + public void Test2() + { + City moscow = new City("Москва", "Россия"); + var rescountry = moscow.Country; + var respopulation = moscow.Population; + var resname = moscow.Name; + Assert.Equal("Россия", rescountry); + Assert.Equal(11000, respopulation); + Assert.Equal("Москва", resname); + } + + [Fact] + public void Test3() + { + City spb = new City("Питер", "Россия", 9000); + var rescountry = spb.Country; + var respopulation = spb.Population; + var resname = spb.Name; + Assert.Equal("Россия", rescountry); + Assert.Equal(9000, respopulation); + Assert.Equal("Питер", resname); + } + + [Fact] + public void Test4() + { + var res = Program.Formula(0.1, 0.5, 0.15); + Assert.Equal(0.001, res, 3); + } + + [Fact] + public void Test5() + { + var res = Program.Formula(0.0, 0.0, 0.1); + Assert.Equal(0.0, res, 3); + } + } +} diff --git a/CourseApp/CourseApp.csproj b/CourseApp/CourseApp.csproj index 23df604..b26cc56 100644 --- a/CourseApp/CourseApp.csproj +++ b/CourseApp/CourseApp.csproj @@ -2,7 +2,22 @@ Exe - netcoreapp2.1 + netcoreapp2.0 + True + 1573,1591,1701;1702;1705 + + + + + + ../stylecop/stylecop.ruleset + true + + + + + + diff --git a/CourseApp/CourseApp.sln b/CourseApp/CourseApp.sln new file mode 100644 index 0000000..f4a0bbb --- /dev/null +++ b/CourseApp/CourseApp.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27428.2037 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CourseApp", "CourseApp.csproj", "{3F1471F2-2FB2-4B42-BC14-ECEA29012CB4}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CourseApp.Tests", "..\CourseApp.Tests\CourseApp.Tests.csproj", "{5919BA31-3171-43C7-B452-E5EA9330F77A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3F1471F2-2FB2-4B42-BC14-ECEA29012CB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3F1471F2-2FB2-4B42-BC14-ECEA29012CB4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3F1471F2-2FB2-4B42-BC14-ECEA29012CB4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3F1471F2-2FB2-4B42-BC14-ECEA29012CB4}.Release|Any CPU.Build.0 = Release|Any CPU + {5919BA31-3171-43C7-B452-E5EA9330F77A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5919BA31-3171-43C7-B452-E5EA9330F77A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5919BA31-3171-43C7-B452-E5EA9330F77A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5919BA31-3171-43C7-B452-E5EA9330F77A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {0AB63177-0A3F-4523-9C64-57B9FF0F9AE0} + EndGlobalSection +EndGlobal diff --git a/CourseApp/Metropolis.cs b/CourseApp/Metropolis.cs new file mode 100644 index 0000000..61df6af --- /dev/null +++ b/CourseApp/Metropolis.cs @@ -0,0 +1,74 @@ +using System; + +namespace CourseApp +{ + public abstract class Metropolis + { + private int population; + + public Metropolis() + { + Name = "Иваново"; + population = 316; + } + + public string Name { get; set; } + { + public class City + { + private int population; + + public City() + : this("Иваново", "Россия", 316) + { + } // 1 конструктор + + public City(string name, string country) + : this(name, country, 11000) + { + } // 2 конструктор + + public City(string name, string country, int population) + { + Name = name; + Country = country; + Population = population; + } // 3 конструктор + + public string Country { get; set; } + + public string Name { get; set; } + + public int Population + { + get + { + return population; + } + + set + { + if (value > 0) + { + this.population = value; + } + } + } + + public void GetInfo() + { + Console.WriteLine($"Название: {Name} Страна: {Country} Популяция: {population}"); + } + + public void AddPopulation(int pop) + { + population += pop; + } + + public string Dead() + { + return $"Всё население города {Name} вымерло из-за аварии на АЭС."; + } + } + } +} \ No newline at end of file diff --git a/CourseApp/Program.cs b/CourseApp/Program.cs index 3f81738..325f4b8 100644 --- a/CourseApp/Program.cs +++ b/CourseApp/Program.cs @@ -1,12 +1,58 @@ using System; +using static CourseApp.Metropolis; namespace CourseApp { - class Program + public class Program { - static void Main(string[] args) + public static double Formula(double x, double a, double b) => (a + ((Math.Sin(b * x) * Math.Sin(b * x)) / (Math.Cos(b * x) * Math.Cos(b * x)))) / (b + (Math.Cos(a * x) * Math.Cos(a * x) / (Math.Sin(a * x) * Math.Sin(a * x)))); + + private static void Main(string[] args) { - Console.WriteLine("Hello World!"); + Console.WriteLine("Анастасия Зайцева"); + Console.WriteLine("вар 17"); + Console.WriteLine(); + Console.WriteLine("под А"); + double a = 0.1; + double b = 0.5; + double xn = 0.15; + double xk = 1.37; + double dx = 0.25; + for (double x = xn; x <= xk; x = x + dx) + { + Console.WriteLine($" x={x} y={Math.Round(Formula(x, a, b), 3)}"); + } + + Console.WriteLine(); + Console.WriteLine("под B"); + double[] z = new double[] { 0.2, 0.3, 0.44, 0.6, 0.56 }; + foreach (double element in z) + { + Console.WriteLine($" X={element} y={Math.Round(Formula(element, a, b), 3)} "); + } + + City ivanovo = new City(); // вызов 1-ого + City moscow = new City("Москва", "Россия"); // вызов 2-ого + City peter = new City("Питер", "Россия", 9000); // вызов 3-ого + ivanovo.GetInfo(); + + ivanovo.Population = 5; + Console.WriteLine(ivanovo.Name); + ivanovo.GetInfo(); + ivanovo.Population = -1; + + ivanovo.GetInfo(); + + moscow.GetInfo(); + peter.GetInfo(); + ivanovo.AddPopulation(100); + ivanovo.GetInfo(); + + Console.WriteLine(ivanovo.Dead()); + Console.WriteLine(moscow.Dead()); + Console.WriteLine(peter.Dead()); + + Console.Read(); } } } diff --git a/README.md b/README.md index ee1aa8c..4399d82 100644 --- a/README.md +++ b/README.md @@ -1,3 +1 @@ -# Course of c# - -Please write your name and surname here \ No newline at end of file + \ No newline at end of file diff --git a/stylecop/stylecop.json b/stylecop/stylecop.json new file mode 100644 index 0000000..643b8c1 --- /dev/null +++ b/stylecop/stylecop.json @@ -0,0 +1,15 @@ +{ + "$schema": + "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json", + "settings": { + "documentationRules": { + "documentExposedElements": false, + "documentInterfaces": false, + "companyName": "Test Company", + "copyrightText": + "This source code is Copyright © {companyName} and MAY NOT be copied, reproduced,\npublished, distributed or transmitted to or stored in any manner without prior\nwritten consent from {companyName} (www.yourcompany.com).", + "xmlHeader": false + } + }, + "additionalArguments": ["./stylecop.ruleset", "./stylecop.json"] +} diff --git a/stylecop/stylecop.ruleset b/stylecop/stylecop.ruleset new file mode 100644 index 0000000..3350d0e --- /dev/null +++ b/stylecop/stylecop.ruleset @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file