diff --git a/Sources/Data/EF/DiceAppDbContext.cs b/Sources/Data/EF/DiceAppDbContext.cs index 2140253..1c35807 100644 --- a/Sources/Data/EF/DiceAppDbContext.cs +++ b/Sources/Data/EF/DiceAppDbContext.cs @@ -1,10 +1,5 @@ using Data.EF.Players; using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Data.EF { diff --git a/Sources/Data/EF/DiceAppDbContextWithStub.cs b/Sources/Data/EF/DiceAppDbContextWithStub.cs index 51f225b..0e22963 100644 --- a/Sources/Data/EF/DiceAppDbContextWithStub.cs +++ b/Sources/Data/EF/DiceAppDbContextWithStub.cs @@ -1,10 +1,5 @@ using Data.EF.Players; using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Data.EF { diff --git a/Sources/Data/EF/Players/PlayerDBManager.cs b/Sources/Data/EF/Players/PlayerDBManager.cs index 7b8e00d..47d15dd 100644 --- a/Sources/Data/EF/Players/PlayerDBManager.cs +++ b/Sources/Data/EF/Players/PlayerDBManager.cs @@ -1,10 +1,5 @@ using Microsoft.EntityFrameworkCore.ChangeTracking; using Model; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Data.EF.Players { diff --git a/Sources/Data/EF/Players/PlayerEntity.cs b/Sources/Data/EF/Players/PlayerEntity.cs index 6a504cc..45af6b3 100644 --- a/Sources/Data/EF/Players/PlayerEntity.cs +++ b/Sources/Data/EF/Players/PlayerEntity.cs @@ -1,10 +1,4 @@ using Microsoft.EntityFrameworkCore; -using Model.Players; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Data.EF.Players { diff --git a/Sources/Data/ILoader.cs b/Sources/Data/ILoader.cs index 21a3cd5..7bb1f4d 100644 --- a/Sources/Data/ILoader.cs +++ b/Sources/Data/ILoader.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Model.Games; +using Model.Games; namespace Data { diff --git a/Sources/Data/Program.cs b/Sources/Data/Program.cs index 2de2b23..32f2755 100644 --- a/Sources/Data/Program.cs +++ b/Sources/Data/Program.cs @@ -1,13 +1,6 @@ - -using Data.EF; -using Data.EF.Players; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata.Internal; +using Data.EF.Players; using Model.Players; -using System.Collections; -using System.ComponentModel; using System.Diagnostics; -using System.Runtime.Intrinsics.Arm; namespace Data { diff --git a/Sources/Data/Stub.cs b/Sources/Data/Stub.cs index 9d0eade..b841c92 100644 --- a/Sources/Data/Stub.cs +++ b/Sources/Data/Stub.cs @@ -1,9 +1,7 @@ -using Model; -using Model.Dice; +using Model.Dice; using Model.Dice.Faces; using Model.Games; using Model.Players; -using System.Collections.Generic; using System.Drawing; namespace Data diff --git a/Sources/Model/Dice/DieManager.cs b/Sources/Model/Dice/DieManager.cs index 408c5ca..f6e8557 100644 --- a/Sources/Model/Dice/DieManager.cs +++ b/Sources/Model/Dice/DieManager.cs @@ -1,4 +1,3 @@ -using Model.Dice.Faces; using System; using System.Collections.Generic; using System.Linq; @@ -59,8 +58,6 @@ namespace Model.Dice { diceGroups.Remove(toRemove.Key); } - - } public KeyValuePair> Update(KeyValuePair> before, KeyValuePair> after) @@ -79,7 +76,5 @@ namespace Model.Dice } return before; } - - } } diff --git a/Sources/Model/Dice/NumberDie.cs b/Sources/Model/Dice/NumberDie.cs index 4f7b385..dede1cd 100644 --- a/Sources/Model/Dice/NumberDie.cs +++ b/Sources/Model/Dice/NumberDie.cs @@ -1,9 +1,4 @@ using Model.Dice.Faces; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Model.Dice { diff --git a/Sources/Model/Games/Game.cs b/Sources/Model/Games/Game.cs index 1dc3281..ed58a15 100644 --- a/Sources/Model/Games/Game.cs +++ b/Sources/Model/Games/Game.cs @@ -3,9 +3,7 @@ using Model.Dice.Faces; using Model.Players; using System; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; -using System.Numerics; using System.Text; namespace Model.Games diff --git a/Sources/Model/Games/GameRunner.cs b/Sources/Model/Games/GameRunner.cs index 1d294be..fc952f4 100644 --- a/Sources/Model/Games/GameRunner.cs +++ b/Sources/Model/Games/GameRunner.cs @@ -1,11 +1,8 @@ -using System; +using Model.Dice; +using Model.Players; +using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Model.Dice; -using Model.Dice.Faces; -using Model.Players; namespace Model.Games { @@ -23,7 +20,7 @@ namespace Model.Games } public GameRunner(IManager globalPlayerManager, IManager>> globalDieManager) - : this(globalPlayerManager, globalDieManager, null){ } + : this(globalPlayerManager, globalDieManager, null) { } public IEnumerable GetAll() => games.AsEnumerable(); @@ -55,7 +52,7 @@ namespace Model.Games { throw new ArgumentNullException(nameof(toAdd), "param should not be null"); } - + games.Remove(games.FirstOrDefault(g => g.Name == toAdd.Name)); // will often be an update: if game with that name exists, it is removed, else, nothing happens above games.Add(toAdd); diff --git a/Sources/Model/Games/Turn.cs b/Sources/Model/Games/Turn.cs index ac32733..f9b783d 100644 --- a/Sources/Model/Games/Turn.cs +++ b/Sources/Model/Games/Turn.cs @@ -1,10 +1,10 @@ -using System; +using Model.Dice; +using Model.Dice.Faces; +using Model.Players; +using System; using System.Collections.Generic; using System.Linq; using System.Text; -using Model.Dice; -using Model.Dice.Faces; -using Model.Players; namespace Model.Games { @@ -116,8 +116,8 @@ namespace Model.Games public bool Equals(Turn other) { - return Player.Equals(other.Player) - && When.Equals(other.When) + return Player.Equals(other.Player) + && When.Equals(other.When) && DiceNFaces.SequenceEqual(other.DiceNFaces); } diff --git a/Sources/Tests/Data_UTs/Players/PlayerEntityTest.cs b/Sources/Tests/Data_UTs/Players/PlayerEntityTest.cs index c6df368..b9d41a9 100644 --- a/Sources/Tests/Data_UTs/Players/PlayerEntityTest.cs +++ b/Sources/Tests/Data_UTs/Players/PlayerEntityTest.cs @@ -1,12 +1,7 @@ -using Model.Players; +using Data.EF.Players; using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Xunit; -using Data.EF.Players; using Tests.Model_UTs; +using Xunit; namespace Tests.Data_UTs.Players { diff --git a/Sources/Tests/Data_UTs/Players/PlayerExtensionsTest.cs b/Sources/Tests/Data_UTs/Players/PlayerExtensionsTest.cs index bfa109e..31f11e2 100644 --- a/Sources/Tests/Data_UTs/Players/PlayerExtensionsTest.cs +++ b/Sources/Tests/Data_UTs/Players/PlayerExtensionsTest.cs @@ -1,10 +1,7 @@ using Data.EF.Players; using Model.Players; -using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; using Xunit; namespace Tests.Data_UTs.Players diff --git a/Sources/Tests/Model_UTs/Games/GameRunnerTest.cs b/Sources/Tests/Model_UTs/Games/GameRunnerTest.cs index 7c48169..1383541 100644 --- a/Sources/Tests/Model_UTs/Games/GameRunnerTest.cs +++ b/Sources/Tests/Model_UTs/Games/GameRunnerTest.cs @@ -1,13 +1,11 @@ -using Model; +using Data; using Model.Dice; -using Model.Dice.Faces; using Model.Games; using Model.Players; using System; using System.Collections.Generic; using System.Linq; using Xunit; -using Data; namespace Tests.Model_UTs.Games { diff --git a/Sources/Tests/Model_UTs/Games/TurnTest.cs b/Sources/Tests/Model_UTs/Games/TurnTest.cs index 081acc2..8d1c93c 100644 --- a/Sources/Tests/Model_UTs/Games/TurnTest.cs +++ b/Sources/Tests/Model_UTs/Games/TurnTest.cs @@ -1,245 +1,244 @@ using Data; -using Model.Dice; -using Model.Dice.Faces; -using Model.Games; -using Model.Players; -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using Xunit; - +using Model.Dice; +using Model.Dice.Faces; +using Model.Games; +using Model.Players; +using System; +using System.Collections.Generic; +using System.Linq; +using Xunit; + namespace Tests.Model_UTs.Games -{ - public class TurnTest - - { +{ + public class TurnTest + + { private readonly GameRunner stubGameRunner = new Stub().LoadApp(); - + Dictionary DICE_N_FACES_1, DICE_N_FACES_2; - - public TurnTest() - { + + public TurnTest() + { DICE_N_FACES_1 = (Dictionary)stubGameRunner.GetAll().First().GetHistory().First().DiceNFaces; DICE_N_FACES_2 = (Dictionary)stubGameRunner.GetAll().Last().GetHistory().Last().DiceNFaces; - } - - [Fact] - public void TestCreateWithSpecifiedTimeNotUTCThenValid() - { - // Arrange - DateTime dateTime = new(year: 2018, month: 06, day: 15, hour: 16, minute: 30, second: 0, kind: DateTimeKind.Local); - Player player = new("Alice"); - Assert.NotEqual(DateTimeKind.Utc, dateTime.Kind); - - // Act - Turn turn = Turn.CreateWithSpecifiedTime(dateTime, player, DICE_N_FACES_1); - - // Assert - Assert.Equal(DateTimeKind.Utc, turn.When.Kind); - Assert.Equal(dateTime.ToUniversalTime(), turn.When); - } - - - - [Fact] - public void TestCreateWithSpecifiedTimeUTCThenValid() - { - // Arrange - DateTime dateTime = new(year: 2018, month: 06, day: 15, hour: 16, minute: 30, second: 0, kind: DateTimeKind.Utc); - Player player = new("Bobby"); - Assert.Equal(DateTimeKind.Utc, dateTime.Kind); - - // Act - Turn turn = Turn.CreateWithSpecifiedTime(dateTime, player, DICE_N_FACES_1); - - // Assert - Assert.Equal(DateTimeKind.Utc, turn.When.Kind); - Assert.Equal(dateTime.ToUniversalTime(), turn.When); - } - - - [Fact] - public void TestCreateWithSpecifiedTimeNullPlayerThenException() - { - // Arrange - DateTime dateTime = new(year: 2018, month: 06, day: 15, hour: 16, minute: 30, second: 0, kind: DateTimeKind.Utc); - - // Act - void action() => Turn.CreateWithSpecifiedTime(dateTime, null, DICE_N_FACES_1); - - // Assert - Assert.Throws(action); - } - - [Fact] - public void TestCreateWithSpecifiedTimeNullFacesThenException() - { - // Arrange - DateTime dateTime = new(year: 2018, month: 06, day: 15, hour: 16, minute: 30, second: 0, kind: DateTimeKind.Utc); - Player player = new("Chucky"); - - // Act - void action() => Turn.CreateWithSpecifiedTime(dateTime, player, null); - - // Assert - Assert.Throws(action); - } - - - [Fact] - public void TestCreateWithSpecifiedTimeEmptyFacesThenException() - { - // Arrange - DateTime dateTime = new(year: 2018, month: 06, day: 15, hour: 16, minute: 30, second: 0, kind: DateTimeKind.Utc); - Player player = new("Chucky"); - DICE_N_FACES_1.Clear(); - - // Act - void action() => Turn.CreateWithSpecifiedTime(dateTime, player, DICE_N_FACES_1); - - // Assert - Assert.Throws(action); - } - - - - [Fact] - public void TestCreateWithDefaultTimeThenValid() - { - // Arrange - Player player = new("Chloe"); - - // Act - Turn turn = Turn.CreateWithDefaultTime(player, DICE_N_FACES_1); - - // Assert - Assert.Equal(DateTimeKind.Utc, turn.When.Kind); - Assert.Equal(DateTime.Now.ToUniversalTime().Date, turn.When.Date); - // N.B.: might fail between 11:59:59PM and 00:00:00AM - } - - [Fact] - public void TestDiceNFacesProperty() - { - // Arrange - Player player = new("Erika"); - - // Act - Turn turn = Turn.CreateWithDefaultTime(player, DICE_N_FACES_1); + } + + [Fact] + public void TestCreateWithSpecifiedTimeNotUTCThenValid() + { + // Arrange + DateTime dateTime = new(year: 2018, month: 06, day: 15, hour: 16, minute: 30, second: 0, kind: DateTimeKind.Local); + Player player = new("Alice"); + Assert.NotEqual(DateTimeKind.Utc, dateTime.Kind); + + // Act + Turn turn = Turn.CreateWithSpecifiedTime(dateTime, player, DICE_N_FACES_1); + + // Assert + Assert.Equal(DateTimeKind.Utc, turn.When.Kind); + Assert.Equal(dateTime.ToUniversalTime(), turn.When); + } + + + + [Fact] + public void TestCreateWithSpecifiedTimeUTCThenValid() + { + // Arrange + DateTime dateTime = new(year: 2018, month: 06, day: 15, hour: 16, minute: 30, second: 0, kind: DateTimeKind.Utc); + Player player = new("Bobby"); + Assert.Equal(DateTimeKind.Utc, dateTime.Kind); + + // Act + Turn turn = Turn.CreateWithSpecifiedTime(dateTime, player, DICE_N_FACES_1); + + // Assert + Assert.Equal(DateTimeKind.Utc, turn.When.Kind); + Assert.Equal(dateTime.ToUniversalTime(), turn.When); + } + + + [Fact] + public void TestCreateWithSpecifiedTimeNullPlayerThenException() + { + // Arrange + DateTime dateTime = new(year: 2018, month: 06, day: 15, hour: 16, minute: 30, second: 0, kind: DateTimeKind.Utc); + + // Act + void action() => Turn.CreateWithSpecifiedTime(dateTime, null, DICE_N_FACES_1); + + // Assert + Assert.Throws(action); + } + + [Fact] + public void TestCreateWithSpecifiedTimeNullFacesThenException() + { + // Arrange + DateTime dateTime = new(year: 2018, month: 06, day: 15, hour: 16, minute: 30, second: 0, kind: DateTimeKind.Utc); + Player player = new("Chucky"); + + // Act + void action() => Turn.CreateWithSpecifiedTime(dateTime, player, null); + + // Assert + Assert.Throws(action); + } + + + [Fact] + public void TestCreateWithSpecifiedTimeEmptyFacesThenException() + { + // Arrange + DateTime dateTime = new(year: 2018, month: 06, day: 15, hour: 16, minute: 30, second: 0, kind: DateTimeKind.Utc); + Player player = new("Chucky"); + DICE_N_FACES_1.Clear(); + + // Act + void action() => Turn.CreateWithSpecifiedTime(dateTime, player, DICE_N_FACES_1); + + // Assert + Assert.Throws(action); + } + + + + [Fact] + public void TestCreateWithDefaultTimeThenValid() + { + // Arrange + Player player = new("Chloe"); + + // Act + Turn turn = Turn.CreateWithDefaultTime(player, DICE_N_FACES_1); + + // Assert + Assert.Equal(DateTimeKind.Utc, turn.When.Kind); + Assert.Equal(DateTime.Now.ToUniversalTime().Date, turn.When.Date); + // N.B.: might fail between 11:59:59PM and 00:00:00AM + } + + [Fact] + public void TestDiceNFacesProperty() + { + // Arrange + Player player = new("Erika"); + + // Act + Turn turn = Turn.CreateWithDefaultTime(player, DICE_N_FACES_1); IEnumerable> expected = DICE_N_FACES_1.AsEnumerable(); - - // Assert - Assert.Equal(expected, turn.DiceNFaces); + + // Assert + Assert.Equal(expected, turn.DiceNFaces); } - [Fact] - public void TestEqualsFalseIfNotTurn() - { - // Arrange - Point point; - Turn turn; - Player player = new("Freddie"); - - // Act - point = new(1, 2); - turn = Turn.CreateWithDefaultTime(player, DICE_N_FACES_1); - - // Assert - Assert.False(point.Equals(turn)); - Assert.False(point.GetHashCode().Equals(turn.GetHashCode())); - Assert.False(turn.Equals(point)); - Assert.False(turn.GetHashCode().Equals(point.GetHashCode())); - } - - [Fact] - public void TestGoesThruToSecondMethodIfObjIsTypeTurn() - { - // Arrange + [Fact] + public void TestEqualsFalseIfNotTurn() + { + // Arrange + Point point; + Turn turn; + Player player = new("Freddie"); + + // Act + point = new(1, 2); + turn = Turn.CreateWithDefaultTime(player, DICE_N_FACES_1); + + // Assert + Assert.False(point.Equals(turn)); + Assert.False(point.GetHashCode().Equals(turn.GetHashCode())); + Assert.False(turn.Equals(point)); + Assert.False(turn.GetHashCode().Equals(point.GetHashCode())); + } + + [Fact] + public void TestGoesThruToSecondMethodIfObjIsTypeTurn() + { + // Arrange object t1; - Turn t2; - Player player1 = new Player("Marvin"); - Player player2 = new Player("Noah"); - - // Act - t1 = Turn.CreateWithDefaultTime(player1, DICE_N_FACES_1); - t2 = Turn.CreateWithDefaultTime(player2, DICE_N_FACES_2); - - // Assert - Assert.False(t1.Equals(t2)); - Assert.False(t1.GetHashCode().Equals(t2.GetHashCode())); - Assert.False(t2.Equals(t1)); - Assert.False(t2.GetHashCode().Equals(t1.GetHashCode())); - } - - - [Fact] - public void TestEqualsFalseIfNotSamePlayer() - { - // Arrange + Turn t2; + Player player1 = new Player("Marvin"); + Player player2 = new Player("Noah"); + + // Act + t1 = Turn.CreateWithDefaultTime(player1, DICE_N_FACES_1); + t2 = Turn.CreateWithDefaultTime(player2, DICE_N_FACES_2); + + // Assert + Assert.False(t1.Equals(t2)); + Assert.False(t1.GetHashCode().Equals(t2.GetHashCode())); + Assert.False(t2.Equals(t1)); + Assert.False(t2.GetHashCode().Equals(t1.GetHashCode())); + } + + + [Fact] + public void TestEqualsFalseIfNotSamePlayer() + { + // Arrange Player player1 = new("Panama"); Player player2 = new("Clyde"); - - // Act - Turn t1 = Turn.CreateWithDefaultTime(player1, DICE_N_FACES_2); - Turn t2 = Turn.CreateWithDefaultTime(player2, DICE_N_FACES_2); - - // Assert - Assert.False(t1.Equals(t2)); - Assert.False(t1.GetHashCode().Equals(t2.GetHashCode())); - Assert.False(t2.Equals(t1)); - Assert.False(t2.GetHashCode().Equals(t1.GetHashCode())); + + // Act + Turn t1 = Turn.CreateWithDefaultTime(player1, DICE_N_FACES_2); + Turn t2 = Turn.CreateWithDefaultTime(player2, DICE_N_FACES_2); + + // Assert + Assert.False(t1.Equals(t2)); + Assert.False(t1.GetHashCode().Equals(t2.GetHashCode())); + Assert.False(t2.Equals(t1)); + Assert.False(t2.GetHashCode().Equals(t1.GetHashCode())); + } + + [Fact] + public void TestEqualsFalseIfNotSameTime() + { + // Arrange + Player player = new("Oscar"); + + // Act + Turn t1 = Turn.CreateWithSpecifiedTime(new DateTime(1994, 07, 10), player, DICE_N_FACES_1); + Turn t2 = Turn.CreateWithSpecifiedTime(new DateTime(1991, 08, 20), player, DICE_N_FACES_1); + + // Assert + Assert.False(t1.Equals(t2)); + Assert.False(t1.GetHashCode().Equals(t2.GetHashCode())); + Assert.False(t2.Equals(t1)); + Assert.False(t2.GetHashCode().Equals(t1.GetHashCode())); } - [Fact] - public void TestEqualsFalseIfNotSameTime() - { - // Arrange - Player player = new("Oscar"); - - // Act - Turn t1 = Turn.CreateWithSpecifiedTime(new DateTime(1994, 07, 10), player, DICE_N_FACES_1); - Turn t2 = Turn.CreateWithSpecifiedTime(new DateTime(1991, 08, 20), player, DICE_N_FACES_1); - - // Assert - Assert.False(t1.Equals(t2)); - Assert.False(t1.GetHashCode().Equals(t2.GetHashCode())); - Assert.False(t2.Equals(t1)); - Assert.False(t2.GetHashCode().Equals(t1.GetHashCode())); + [Fact] + public void TestEqualsFalseIfNotSameDiceNFaces() + { + // Arrange + Player player = new("Django"); + + // Act + Turn t1 = Turn.CreateWithDefaultTime(player, DICE_N_FACES_1); + Turn t2 = Turn.CreateWithDefaultTime(player, DICE_N_FACES_2); + + // Assert + Assert.False(t1.Equals(t2)); + Assert.False(t1.GetHashCode().Equals(t2.GetHashCode())); + Assert.False(t2.Equals(t1)); + Assert.False(t2.GetHashCode().Equals(t1.GetHashCode())); } - [Fact] - public void TestEqualsFalseIfNotSameDiceNFaces() - { - // Arrange - Player player = new("Django"); - - // Act - Turn t1 = Turn.CreateWithDefaultTime(player, DICE_N_FACES_1); - Turn t2 = Turn.CreateWithDefaultTime(player, DICE_N_FACES_2); - - // Assert - Assert.False(t1.Equals(t2)); - Assert.False(t1.GetHashCode().Equals(t2.GetHashCode())); - Assert.False(t2.Equals(t1)); - Assert.False(t2.GetHashCode().Equals(t1.GetHashCode())); - } - - [Fact] - public void TestEqualsTrueIfExactlySameProperties() - { - // Arrange - Player player = new("Elyse"); - - // Act - Turn t1 = Turn.CreateWithSpecifiedTime(new DateTime(1990, 04, 29), player, DICE_N_FACES_1); - Turn t2 = Turn.CreateWithSpecifiedTime(new DateTime(1990, 04, 29), player, DICE_N_FACES_1); - - // Assert - Assert.True(t1.Equals(t2)); - Assert.True(t1.GetHashCode().Equals(t2.GetHashCode())); - Assert.True(t2.Equals(t1)); - Assert.True(t2.GetHashCode().Equals(t1.GetHashCode())); - } - } -} + [Fact] + public void TestEqualsTrueIfExactlySameProperties() + { + // Arrange + Player player = new("Elyse"); + + // Act + Turn t1 = Turn.CreateWithSpecifiedTime(new DateTime(1990, 04, 29), player, DICE_N_FACES_1); + Turn t2 = Turn.CreateWithSpecifiedTime(new DateTime(1990, 04, 29), player, DICE_N_FACES_1); + + // Assert + Assert.True(t1.Equals(t2)); + Assert.True(t1.GetHashCode().Equals(t2.GetHashCode())); + Assert.True(t2.Equals(t1)); + Assert.True(t2.GetHashCode().Equals(t1.GetHashCode())); + } + } +} diff --git a/Sources/Tests/Model_UTs/Point.cs b/Sources/Tests/Model_UTs/Point.cs index 89b5f7f..e5b6b5e 100644 --- a/Sources/Tests/Model_UTs/Point.cs +++ b/Sources/Tests/Model_UTs/Point.cs @@ -2,12 +2,12 @@ { public class Point { - public int X { get; private set; } - public int Y { get; private set; } - public Point(int x, int y) - { - X = x; Y = y; - } - + public int X { get; private set; } + public int Y { get; private set; } + public Point(int x, int y) + { + X = x; Y = y; + } + } }