Skip to content
Snippets Groups Projects
Commit 4dbb6c2a authored by B.Spaqi.inf22's avatar B.Spaqi.inf22
Browse files

Upload New File

parent 1e3f2850
Branches main
No related tags found
No related merge requests found
Pipeline #5123 failed
using System;
namespace CasinoGameTests
{
[TestClass]
public class CasinoGameUnitTests
{
private class TestObserver : IObserver
{
public string LastMessage { get; private set; }
public void Update(string message) => LastMessage = message;
}
[TestMethod]
public void ObserverReceivesNotification()
{
CasinoGame game = new CasinoGame();
TestObserver observer = new TestObserver();
game.Attach(observer);
game.Notify("Test Nachricht");
Assert.AreEqual("Test Nachricht", observer.LastMessage);
}
[TestMethod]
public void ObserverCanBeDetached()
{
CasinoGame game = new CasinoGame();
TestObserver observer = new TestObserver();
game.Attach(observer);
game.Detach(observer);
game.Notify("Test Nachricht");
Assert.IsNull(observer.LastMessage);
}
}
[TestClass]
public class BalanceManagerTests
{
[TestMethod]
public void InitialBalance_IsCorrect()
{
Assert.AreEqual(1000, BalanceManager.Instance.Balance);
}
[TestMethod]
public void BalanceCanBeModified()
{
BalanceManager.Instance.Balance = 500;
Assert.AreEqual(500, BalanceManager.Instance.Balance);
}
}
[TestClass]
public class RouletteTests
{
private Casino casino;
[TestInitialize]
public void Setup()
{
casino = new Casino();
}
[TestMethod]
public void IsWinningBet_CorrectlyIdentifiesWin()
{
Assert.IsTrue(casino.IsWinningBet("rot", 1)); // 1 ist eine rote Zahl
Assert.IsFalse(casino.IsWinningBet("schwarz", 1)); // 1 ist nicht schwarz
}
[TestMethod]
public void CalculateWinnings_CorrectValues()
{
Assert.AreEqual(3600, casino.CalculateWinnings("0", 100)); // 0 zahlt x36
Assert.AreEqual(3500, casino.CalculateWinnings("5", 100)); // Einzelzahl x35
Assert.AreEqual(300, casino.CalculateWinnings("1-12", 100)); // Drittel x3
Assert.AreEqual(200, casino.CalculateWinnings("schwarz", 100)); // 1:1 Wetten
}
}
[TestClass]
public class BlackjackTests
{
private Casino casino;
[TestInitialize]
public void Setup()
{
casino = new Casino();
}
[TestMethod]
public void GetHandValue_AceAdjustsCorrectly()
{
List<int> hand = new List<int> { 1, 10 }; // Ass und 10
Assert.AreEqual(21, casino.GetHandValue(hand));
hand = new List<int> { 1, 10, 10 }; // Ass, 10, 10 -> Ass zählt als 1
Assert.AreEqual(21, casino.GetHandValue(hand));
hand = new List<int> { 1, 1, 8 }; // Zwei Asse und eine 8 -> Ass als 1
Assert.AreEqual(20, casino.GetHandValue(hand));
}
[TestMethod]
public void DealerPlay_HitsUntilThreshold()
{
List<int> dealerHand = new List<int> { 2, 3 }; // Summe 5
casino.DealerPlay(ref dealerHand);
Assert.IsTrue(casino.GetHandValue(dealerHand) >= 17);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment