public void TestContract6() { //Arrange var module = new ContractScoreCalculatorModule(); var contract = new Contract("3H", PlayerPosition.South); //Act var score = module.CalculateScore(contract, 10, SysVulnerabilityEnum.EW); var score2 = module.CalculateScore(contract, "+1", SysVulnerabilityEnum.EW); //Assert Assert.AreEqual(170, score); Assert.AreEqual(170, score2); }
public void TestContract19() { //Arrange var module = new ContractScoreCalculatorModule(); var contract = new Contract("4SX", PlayerPosition.North); //Act var score = module.CalculateScore(contract, 7, SysVulnerabilityEnum.All); var score2 = module.CalculateScore(contract, "-3", SysVulnerabilityEnum.All); //Assert Assert.AreEqual(-800, score); Assert.AreEqual(-800, score2); }
public void TestContract4() { //Arrange var module = new ContractScoreCalculatorModule(); var contract = new Contract("1NT", PlayerPosition.West); //Act var score = module.CalculateScore(contract, 9, SysVulnerabilityEnum.All); var score2 = module.CalculateScore(contract, "+2", SysVulnerabilityEnum.All); //Assert Assert.AreEqual(-150, score); Assert.AreEqual(-150, score2); }
public void TestContract17() { //Arrange var module = new ContractScoreCalculatorModule(); var contract = new Contract("Pass", PlayerPosition.North); //Act var score = module.CalculateScore(contract, 0, SysVulnerabilityEnum.EW); var score2 = module.CalculateScore(contract, string.Empty, SysVulnerabilityEnum.EW); //Assert Assert.AreEqual(0, score); Assert.AreEqual(0, score2); }
public void TestContract16() { //Arrange var module = new ContractScoreCalculatorModule(); var contract = new Contract("3NT", PlayerPosition.North); //Act var score = module.CalculateScore(contract, 9, SysVulnerabilityEnum.EW); var score2 = module.CalculateScore(contract, "=", SysVulnerabilityEnum.EW); //Assert Assert.AreEqual(400, score); Assert.AreEqual(400, score2); }
public void TestContract15() { //Arrange var module = new ContractScoreCalculatorModule(); var contract = new Contract("4H", PlayerPosition.East); //Act var score = module.CalculateScore(contract, 11, SysVulnerabilityEnum.NS); var score2 = module.CalculateScore(contract, "+1", SysVulnerabilityEnum.NS); //Assert Assert.AreEqual(-450, score); Assert.AreEqual(-450, score2); }
public void TestBestUndoubledContractIsComputed() { //Arrange const string pbnDeal = "W:752.854.Q3.A8732 AT83.T.AK9752.K9 KJ6.AKQJ732..J54 Q94.96.JT864.QT6"; const SysVulnerabilityEnum vulnerability = SysVulnerabilityEnum.None; var module = new ContractScoreCalculatorModule(); var makeableContracts = DoubleDummyModule.CalculateMakeableContracts(pbnDeal); //Act var result = module.GetBestUndoubledContract(makeableContracts.AsQueryable(), vulnerability); //Assert Assert.AreEqual(3, result.Level); Assert.AreEqual(Trump.Spades, result.Trump); }
public void TestOptimalContractIsComputed() { //Arrange const string pbnDeal = "W:752.854.Q3.A8732 AT83.T.AK9752.K9 KJ6.AKQJ732..J54 Q94.96.JT864.QT6"; const SysVulnerabilityEnum vulnerability = SysVulnerabilityEnum.None; var module = new ContractScoreCalculatorModule(); //Act var result = module.ComputeOptimalContract(pbnDeal, vulnerability); //Assert Assert.AreEqual(100, result.Item1); Assert.AreEqual(4, result.Item2.Level); Assert.AreEqual(Trump.Hearts, result.Item2.Trump); Assert.IsTrue(result.Item2.PlayerPosition == PlayerPosition.East || result.Item2.PlayerPosition == PlayerPosition.West); }