Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
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
87 changes: 87 additions & 0 deletions CourseApp.Tests/CityTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
using System;
using Xunit;

namespace CourseApp.Tests
{
public class CityTest
{
[Theory]
[InlineData("Name", 1, 18156)]
[InlineData("Name1", 3, 9547156)]
public void TestConstructorThreeParametrs(string name, int population, int square)
{
var item = new City(name, population, square);
Assert.Equal(population, item.Population);
Assert.Equal(name, item.Name);
Assert.Equal(square, item.Square);
}

[Fact]
public void TestConstructorTwoParametrs()
{
var item = new City("Name", 300000);
Assert.Equal(300000, item.Population);
Assert.Equal("Name", item.Name);
Assert.Equal(0, item.Square);
}

[Fact]
public void TestConstructorOneParametrs()
{
var item = new City("Name2");
Assert.Equal(1, item.Population);
Assert.Equal("Name2", item.Name);
Assert.Equal(0, item.Square);
}

[Fact]
public void TestEmptyConstructor()
{
var item = new City();
Assert.Equal(1, item.Population);
Assert.Equal("Unnamed", item.Name);
Assert.Equal(0, item.Square);
}

[Fact]
public void TestSetPopulation()
{
var item = new City();
item.Population = 500000;
Assert.Equal(500000, item.Population);
}

[Fact]
public void TestIncorrectSetPopulation()
{
try
{
var item = new City();
item.Population = -5;
}
catch (System.Exception)
{
Console.WriteLine("Population should be > 1");
Assert.True(true);
}
}

[Fact]
public void TestCorrectIncorrectSetPopulation()
{
var item = new City();
try
{
item.Population = 10;
item.Population = -5;
}
catch (System.Exception)
{
Console.WriteLine("Population should be > 1");
Assert.True(true);
}

Assert.Equal(10, item.Population);
}
}
}
87 changes: 87 additions & 0 deletions CourseApp.Tests/VillageTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
using System;
using Xunit;

namespace CourseApp.Tests
{
public class VillageTest
{
[Theory]
[InlineData("Name", 1, 18156)]
[InlineData("Name1", 3, 95476)]
public void TestConstructorThreeParametrs(string name, int population, int square)
{
var item = new Village(name, population, square);
Assert.Equal(population, item.Population);
Assert.Equal(name, item.Name);
Assert.Equal(square, item.Square);
}

[Fact]
public void TestConstructorTwoParametrs()
{
var item = new Village("Name", 300000);
Assert.Equal(300000, item.Population);
Assert.Equal("Name", item.Name);
Assert.Equal(0, item.Square);
}

[Fact]
public void TestConstructorOneParametrs()
{
var item = new Village("Name2");
Assert.Equal(1, item.Population);
Assert.Equal("Name2", item.Name);
Assert.Equal(0, item.Square);
}

[Fact]
public void TestEmptyConstructor()
{
var item = new Village();
Assert.Equal(1, item.Population);
Assert.Equal("Unnamed", item.Name);
Assert.Equal(0, item.Square);
}

[Fact]
public void TestSetPopulation()
{
var item = new Village();
item.Population = 354900;
Assert.Equal(354900, item.Population);
}

[Fact]
public void TestIncorrectSetPopulation()
{
try
{
var item = new City();
item.Population = -5;
}
catch (System.Exception)
{
Console.WriteLine("Population should be > 1");
Assert.True(true);
}
}

[Fact]
public void TestCorrectIncorrectSetPopulation()
{
var item = new Village();
try
{
item.Population = 10;
item.Population = -5;
}
catch (System.Exception)
{
Console.WriteLine("Population should be > 1");
Assert.True(true);
}

Assert.Equal(10, item.Population);
}
}
}
66 changes: 66 additions & 0 deletions CourseApp/City.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace CourseApp
{
public class City : Settlement
{
public City()
: base("Unnamed")
{
}

public City(string name)
: base(name, 1)
{
}

public City(string name, int population)
: this(name, population, 0)
{
}

public City(string name, int population, int square)
{
Name = name;
Population = population;
Square = square;
}

public override int Population
{
set
{
if (value >= 0 && value < 70000000)
{
base.Population = value;
}
else
{
throw new System.Exception("Wrong population");
}
}
}

public override int Square
{
get
{
return base.Square;
}

set
{
if (value >= 0 && value <= 100000000)
{
base.Square = value;
}
else
{
throw new System.Exception("Wrong square");
}
}
}
}
}
75 changes: 75 additions & 0 deletions CourseApp/Settlement.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace CourseApp
{
public abstract class Settlement
{
private int population;
private int square;

public Settlement()
: this("Unnamed")
{
}

public Settlement(string name)
: this(name, 1)
{
}

public Settlement(string name, int population)
{
Name = name;
Population = population;
}

public string Name { get; set; }

public virtual int Population
{
get
{
return population;
}

set
{
if (value >= 0)
{
population = value;
}
else
{
throw new System.Exception("Wrong population");
}
}
}

public virtual int Square
{
get
{
return square;
}

set
{
if (value >= 0)
{
square = value;
}
else
{
throw new System.Exception("Wrong square");
}
}
}

public override string ToString()
{
return $"Name:{Name},Population:{Population}, Square:{Square}";
}
}
}
66 changes: 66 additions & 0 deletions CourseApp/Village.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace CourseApp
{
public class Village : Settlement
{
public Village()
: base("Unnamed")
{
}

public Village(string name)
: base(name, 1)
{
}

public Village(string name, int population)
: this(name, population, 0)
{
}

public Village(string name, int population, int square)
{
Name = name;
Population = population;
Square = square;
}

public override int Population
{
set
{
if (value >= 0 && value < 500000)
{
base.Population = value;
}
else
{
throw new System.Exception("Wrong population");
}
}
}

public override int Square
{
get
{
return base.Square;
}

set
{
if (value >= 0 && value <= 500000)
{
base.Square = value;
}
else
{
throw new System.Exception("Wrong square");
}
}
}
}
}