public void TestGetPoker() { var factory = new PokerFactory(); var p1 = factory.Create(10, SuitOptions.Heart); var p2 = factory.Create(10, SuitOptions.Heart); var p3 = factory.Create(10, SuitOptions.Spade); var p4 = factory.Create(11, SuitOptions.Heart); Assert.AreEqual <Poker>(p1, p2); // 都是红桃10 Assert.AreNotEqual <Poker>(p1, p3); Assert.AreNotEqual <Poker>(p1, p4); Assert.AreEqual <Rank>(p1.Rank, p3.Rank); // 都是10点 Assert.AreEqual <Suit>(p1.Suit, p4.Suit); // 都是红桃 }
public void TestGetPoker() { var factory = new PokerFactory(); var p1 = factory.CreatePoker(10, Suit.Heart); var p2 = factory.CreatePoker(10, Suit.Heart); var p3 = factory.CreatePoker(10, Suit.Spade); var p4 = factory.CreatePoker(11, Suit.Heart); //验证整体享元特性 Assert.AreEqual <Poker>(p1, p2); Assert.AreNotEqual <Poker>(p1, p3); Assert.AreNotEqual <Poker>(p1, p4); //验证局部享元特性 //都是10点 Assert.AreEqual <PointBase>(p1.Point, p3.Point); //都是红桃 Assert.AreEqual <SuitBase>(p1.Suit, p4.Suit); }
private void SetMockRules() { //TODO: FP-implement db lookup of Rules //Get all poker rules from the database and build the Poker Rules from data this method simulates the data from the database //The HandTypes table contains all the rules. We will build our rules against the data in the Hand Types //We will build a collection of the Rules from the PokerRuleFactory List <HandType> rules = new List <HandType>(); HandType ht = new HandType(null) { Value = 9, TypeId = 0 }; HandType ht2 = new HandType(null) { Value = 8, TypeId = 1 }; HandType ht3 = new HandType(null) { Value = 7, TypeId = 2 }; HandType ht4 = new HandType(null) { Value = 6, TypeId = 3 }; HandType ht5 = new HandType(null) { Value = 5, TypeId = 4 }; HandType ht6 = new HandType(null) { Value = 4, TypeId = 5 }; HandType ht7 = new HandType(null) { Value = 3, TypeId = 6 }; HandType ht8 = new HandType(null) { Value = 2, TypeId = 7 }; HandType ht9 = new HandType(null) { Value = 1, TypeId = 8 }; rules.Add(ht); rules.Add(ht2); rules.Add(ht3); rules.Add(ht4); rules.Add(ht5); rules.Add(ht6); rules.Add(ht7); rules.Add(ht8); rules.Add(ht9); foreach (HandType h in rules) { Quicken.Poker.Core.PokerRuleType pokerRuleType = (PokerRuleType)h.TypeId; h.Rule = PokerFactory.Create(pokerRuleType); h.Rule.Value = h.Value; } PokerRuleService.Rules = rules; }