feat(economy): add Bestellsystem mit Lieferzeit
- SupplierService: Bestellungen mit Lieferzeit-Berechnung - OrderTerminal: Spieler-Interaktion zum Aufgeben von Bestellungen - StorageCrateRegistry + StorageCrate.Restock: Server registriert Kisten und füllt sie bei Lieferung wieder auf - GameClock.TotalHours: durchgehende Spielzeit für Lieferzeit-Berechnung - ROADMAP: Bestellsystem-Punkt als erledigt markiert Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
using AfterHours.Economy;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace AfterHours.Tests
|
||||
{
|
||||
public sealed class PurchaseOrderTests
|
||||
{
|
||||
[Test]
|
||||
public void Total_SumsAllLines()
|
||||
{
|
||||
var order = new PurchaseOrder();
|
||||
order.Add(1, 10, 2f);
|
||||
order.Add(2, 5, 4f);
|
||||
|
||||
Assert.AreEqual(40f, order.Total(), 0.0001f);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Add_IgnoresNonPositiveQuantity()
|
||||
{
|
||||
var order = new PurchaseOrder();
|
||||
order.Add(1, 0, 5f);
|
||||
order.Add(1, -3, 5f);
|
||||
|
||||
Assert.AreEqual(0, order.Lines.Count);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void LineTotal_IsQuantityTimesUnitPrice()
|
||||
{
|
||||
var order = new PurchaseOrder();
|
||||
order.Add(7, 3, 2.5f);
|
||||
|
||||
Assert.AreEqual(7.5f, order.Lines[0].LineTotal, 0.0001f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3635a8816e4d1744cb4d319118ae2768
|
||||
Reference in New Issue
Block a user