diff --git a/GameContract/Class1.cs b/GameContract/Class1.cs deleted file mode 100644 index 1f41244..0000000 --- a/GameContract/Class1.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace GameContract -{ - public class Class1 - { - - } -} \ No newline at end of file diff --git a/GameContract/GameContract.csproj b/GameContract/GameContract.csproj index cfadb03..044def4 100644 --- a/GameContract/GameContract.csproj +++ b/GameContract/GameContract.csproj @@ -6,4 +6,8 @@ enable + + + + diff --git a/GameContract/IExpenseRepository.cs b/GameContract/IExpenseRepository.cs new file mode 100644 index 0000000..365cbe2 --- /dev/null +++ b/GameContract/IExpenseRepository.cs @@ -0,0 +1,9 @@ +using GameModel; + +namespace GameContract +{ + public interface IExpenseRepository + { + IEnumerable GetAll(); + } +} \ No newline at end of file diff --git a/GameHandler.UnitTests/GameHandler.UnitTests.csproj b/GameHandler.UnitTests/GameHandler.UnitTests.csproj index 6bea1db..ab724bd 100644 --- a/GameHandler.UnitTests/GameHandler.UnitTests.csproj +++ b/GameHandler.UnitTests/GameHandler.UnitTests.csproj @@ -10,11 +10,18 @@ - - - - - + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/GameHandler.UnitTests/Mocks/FakeExpenseRepository.cs b/GameHandler.UnitTests/Mocks/FakeExpenseRepository.cs new file mode 100644 index 0000000..587a267 --- /dev/null +++ b/GameHandler.UnitTests/Mocks/FakeExpenseRepository.cs @@ -0,0 +1,29 @@ +using GameContract; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GameModel.Mocks +{ + public class FakeExpenseRepository : IExpenseRepository + { + Expense[] Data = new[] { + Expense.Create(ExpenseType.Monetary,new[] { ExpenseTrigger.Sink }, "Gosse", 0.5m, false), + Expense.Create(ExpenseType.Monetary,new[] { ExpenseTrigger.FullSink }, "Gosse bei Anwurf", 1m, false), + Expense.Create(ExpenseType.Monetary,new[] { ExpenseTrigger.Circle }, "Kranz", 1m, true), + Expense.Create(ExpenseType.Monetary,new[] { ExpenseTrigger.NinePins }, "alle Neune", 1m, true), + Expense.Create(ExpenseType.Monetary,new[] { ExpenseTrigger.Eliminated }, "Ausgeschieden", 0.5m, false), + Expense.Create(ExpenseType.Monetary,new[] { ExpenseTrigger.NoWood }, "kein Holz", 0.5m, false), + Expense.Create(ExpenseType.Monetary,new[] { ExpenseTrigger.Bell }, "Klingen", 0.5m, false), + Expense.Create(ExpenseType.Monetary,new[] { ExpenseTrigger.FirstThrowFail }, "Anwurffehler", 0.5m, false), + Expense.Create(ExpenseType.Monetary,new[] { ExpenseTrigger.ExpensePoint }, "Strafpunkt, z.B. im \"Scheißspiel\"", 0.5m, false), + }; + + public IEnumerable GetAll() + { + return Data; + } + } +} diff --git a/GameHandler.UnitTests/PinPictureTests.cs b/GameHandler.UnitTests/PinPictureTests.cs index 734195a..179dc34 100644 --- a/GameHandler.UnitTests/PinPictureTests.cs +++ b/GameHandler.UnitTests/PinPictureTests.cs @@ -2,6 +2,7 @@ using GameModel; using GameModel.Exceptions; using NuGet.Frameworks; +using NUnit.Framework.Legacy; using System.Collections; using System.Numerics; diff --git a/GameHandler/ExpenseHandler.cs b/GameHandler/ExpenseHandler.cs new file mode 100644 index 0000000..8a3022a --- /dev/null +++ b/GameHandler/ExpenseHandler.cs @@ -0,0 +1,23 @@ +using GameContract; +using GameModel.DeathGame; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GameHandler +{ + public class ExpenseHandler + { + //public delegate void OnExpense(MemberExpense memberExpense); + + IExpenseRepository _expenseRepository; + + public ExpenseHandler(IExpenseRepository expenseRepository) + { + _expenseRepository = expenseRepository; + } + + } +} diff --git a/GameHandler/MainHandler.cs b/GameHandler/MainHandler.cs new file mode 100644 index 0000000..d29c5f5 --- /dev/null +++ b/GameHandler/MainHandler.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GameHandler +{ + internal class MainHandler + { + + } +} diff --git a/GameModel/Expense.cs b/GameModel/Expense.cs new file mode 100644 index 0000000..4691fef --- /dev/null +++ b/GameModel/Expense.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GameModel +{ + public record Expense(Guid Guid, ExpenseType ExpenseType, ExpenseTrigger[] ExpenseTriggers, string Name, decimal Price, bool IsInverse) + { + public static Expense Create(ExpenseType ExpenseType, ExpenseTrigger[] ExpenseTriggers, string Name, decimal Price, bool IsInverse) + { + return new Expense(Guid.NewGuid(), ExpenseType, ExpenseTriggers, Name, Price, IsInverse); + } + } +} diff --git a/GameModel/ExpenseType.cs b/GameModel/ExpenseType.cs new file mode 100644 index 0000000..4f83a39 --- /dev/null +++ b/GameModel/ExpenseType.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GameModel +{ + public enum ExpenseType + { + Monetary, + Material + } +} diff --git a/GameModel/MemberExpense.cs b/GameModel/MemberExpense.cs new file mode 100644 index 0000000..3485066 --- /dev/null +++ b/GameModel/MemberExpense.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GameModel +{ + public record MemberExpense(Guid ExpenseGuid, int MemberId, ExpenseType ExpenseType) + { + } +}