Beispiel #1
0
                public void ThenPackGatewaySetIsCalledToUpdateBothPacks(string cardID, int numberOfCardsInOldPack, int newPackVersion, int oldPackVersion)
                {
                    string[] cardsInOldPack = new string[numberOfCardsInOldPack];
                    cardsInOldPack[0] = cardID;
                    for (int i = 1; i < numberOfCardsInOldPack; i++)
                    {
                        cardsInOldPack[i] = Guid.NewGuid().ToString();
                    }

                    CardStub cardToAdd = new CardStub(cardID, "New Card", "Dog", "Cat", new ICardOption[0], "Cow");

                    CardStub existingCard = new CardStub(cardID, "Old Card", " ", " ", new ICardOption[0], " ");

                    existingCard.VersionAdded = oldPackVersion;

                    CardGatewaySpy  cardGatewaySpy  = new CardGatewaySpy(existingCard, true);
                    PackGatewayFake packGatewayFake = new PackGatewayFake(cardsInOldPack);

                    new AddCard(new ValidCardDataStub(true, cardToAdd), cardGatewaySpy, packGatewayFake,
                                new IncrementVersionNumberSpy(newPackVersion)).Execute("Valid Json");

                    Console.WriteLine(packGatewayFake.GetCardsPackVersion + " " + oldPackVersion);
                    Assert.True(packGatewayFake.GetCardsPackVersion == oldPackVersion);
                    Assert.True(packGatewayFake.SetCardsHistory.ContainsKey(oldPackVersion));
                    Assert.False(packGatewayFake.SetCardsHistory[oldPackVersion].Contains(cardID));
                    AssertCardIDIsAddedToNewPack(cardID, newPackVersion, packGatewayFake);
                }
 public static SearchMarketResponse.SearchItem CreateSearchItem(CardStub stub)
 {
     return(new SearchMarketResponse.SearchItem(
                stub.Name,
                $"{stub.AppId}-{stub.Name}",
                stub.Amount,
                stub.Price,
                $"${stub.Price / 100}.{stub.Price % 100}",
                "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/753/135dc1ac1cd9763dfc8ad52f4e880d2ac058a36c.jpg",
                "Steam",
                new SearchMarketResponse.AssetDescription(
                    753,
                    "3562033529",
                    "0",
                    "",
                    "IzMF03bk9WpSBq-S-ekoE33L-iLqGFHVaU25ZzQNQcXdA3g5gMEPvUZZEfSMJ6dESN8p_2SVTY7V2NEJxHsKmChCIzb02ClBZPZ4c_nPxAC9qO-MG3GqbGWRKXKASFs_SbFcNm-P-DOj5ujCEGnBEr4rFQkMK6BV9mVAPsvfagx9itAdqWqqk0FvIR8lc8JDLV3qmSRLN7x2kSAWI88EmSDxI5XZhQtgbxRsWOniV7-TbYKjxX4kW0x5X_5Ncs2YuRz0Rzi9",
                    1,
                    stub.Name,
                    "",
                    "Suicide Guy: Sleepin' Deeply Foil Trading Card",
                    stub.Name,
                    $"{stub.AppId}-{stub.Name}",
                    1
                    ),
                $"${stub.Price / 100}.{stub.Price % 100}"
                ));
 }
Beispiel #3
0
            public void ThenUpdateIsNotCalled()
            {
                ICard          existingCard = new CardStub("ID", "Title", "Description", "Image", new ICardOption[0], "Heavy");
                CardGatewaySpy spy          = new CardGatewaySpy(existingCard, false);

                new RemoveCard(spy, new IncrementVersionNumberDummy()).Execute("ID");
                Assert.False(spy.UpdateCardCalled);
            }
Beispiel #4
0
                public void ThenNewVersionNumberIsAddedToAllCardsOnAdd(int newVersionNumber)
                {
                    IncrementVersionNumberSpy spy = new IncrementVersionNumberSpy(newVersionNumber);
                    CardStub       stub           = new CardStub("Card", " ", " ", " ", new ICardOption[0], " ");
                    CardGatewaySpy cardGatewaySpy = new CardGatewaySpy(stub, false);

                    new AddCard(new ValidCardDataStub(true, stub), cardGatewaySpy, new PackGatewayDummy(), spy)
                    .Execute("Valid Json");
                    Assert.True(cardGatewaySpy.CardAdded.VersionAdded == newVersionNumber);
                }
Beispiel #5
0
            public void ThenCardGatewayHasCardIsCalled(string cardID)
            {
                CardStub       stub           = new CardStub(cardID, " ", " ", " ", new ICardOption[0], " ");
                CardGatewaySpy cardGatewaySpy = new CardGatewaySpy(stub, false);

                new AddCard(new ValidCardDataStub(true, stub), cardGatewaySpy, new PackGatewayDummy(), new IncrementVersionNumberDummy())
                .Execute("Valid Json");
                Assert.True(cardGatewaySpy.HasCardCalled);
                Assert.True(cardGatewaySpy.HasCardID == cardID);
            }
Beispiel #6
0
            public void ThenCardIsFetchedAndUpdated(int version, string cardID)
            {
                ICard                     existingCard = new CardStub(cardID, "Title", "Description", "Image", new ICardOption[0], "Heavy");
                CardGatewaySpy            spy          = new CardGatewaySpy(existingCard, true);
                IncrementVersionNumberSpy stub         = new IncrementVersionNumberSpy(version);

                new RemoveCard(spy, stub).Execute(cardID);

                Assert.True(spy.GetCardID == cardID);
                Assert.True(spy.UpdateCardCalled);
            }
Beispiel #7
0
                public void ThenIncrementVersionNumberIsCalled()
                {
                    IncrementVersionNumberSpy spy = new IncrementVersionNumberSpy(0);
                    CardStub       stub           = new CardStub("Card", " ", " ", " ", new ICardOption[0], " ");
                    CardGatewaySpy cardGatewaySpy = new CardGatewaySpy(stub, false);

                    new AddCard(new ValidCardDataStub(true, stub), cardGatewaySpy, new PackGatewayDummy(), spy)
                    .Execute("Valid Json");
                    Assert.True(cardGatewaySpy.HasCardCalled);
                    Assert.True(spy.Called);
                }
Beispiel #8
0
                public void ThenNewPackIsCreatedWithCardID(string cardID, int newVersionNumber, int cardIsnPack)
                {
                    IncrementVersionNumberSpy spy   = new IncrementVersionNumberSpy(newVersionNumber);
                    CardStub        stub            = new CardStub(cardID, " ", " ", " ", new ICardOption[0], " ");
                    CardGatewaySpy  cardGatewaySpy  = new CardGatewaySpy(stub, false);
                    PackGatewayFake packGatewayFake = new PackGatewayFake(new string[0]);

                    new AddCard(new ValidCardDataStub(true, stub), cardGatewaySpy, packGatewayFake, spy)
                    .Execute("Valid Json");
                    Assert.True(packGatewayFake.SetCardsHistory.ContainsKey(newVersionNumber));
                    Assert.True(packGatewayFake.SetCardsHistory[newVersionNumber].Contains(cardID));
                }
Beispiel #9
0
            public void ThenNothingElseIsCalled()
            {
                CardStub       cardToAdd      = new CardStub("CardID", "New Card", "Dog", "Cat", new ICardOption[0], "Cow");
                CardStub       existingCard   = new CardStub("Now Invalid", "Old Card", " ", " ", new ICardOption[0], " ");
                CardGatewaySpy cardGatewaySpy = new CardGatewaySpy(existingCard, false);

                new AddCard(new ValidCardDataStub(false, cardToAdd), cardGatewaySpy, new PackGatewayDummy(), new IncrementVersionNumberDummy())
                .Execute("Valid Json");
                Assert.False(cardGatewaySpy.AddCardCalled);
                Assert.False(cardGatewaySpy.HasCardCalled);
                Assert.False(cardGatewaySpy.UpdateCardCalled);
            }
Beispiel #10
0
                public void ThenReturnsFalse(string weight1, string weight2, string weight3)
                {
                    Dictionary <string, IStartingStat> stats = new Dictionary <string, IStartingStat>
                    {
                        { "Money", new StartingStatStub(5, 10, 0) },
                        { "Health", new StartingStatStub(5, 10, 0) },
                        { "Power", new StartingStatStub(5, 10, 0) }
                    };

                    Dictionary <string, float> weights = new Dictionary <string, float>()
                    {
                        { weight1, 0.75f },
                        { weight2, 0.5f },
                        { weight3, 0.1f }
                    };

                    ICardOption cardOptionOne = new CardOptionsStub(
                        "Option One",
                        "Option One Description",
                        new PlayerStatsToChangeStub(new Dictionary <string, int>
                    {
                        { "Money", -2 },
                        { "Power", 2 },
                        { "Health", -2 }
                    }),
                        new string[0]);

                    ICardOption cardOptionTwo = new CardOptionsStub(
                        "Option Two",
                        "Option Two Description",
                        new PlayerStatsToChangeStub(new Dictionary <string, int>
                    {
                        { "Money", 2 },
                        { "Power", 0 - 2 },
                        { "Health", 2 }
                    }),
                        new string[0]);


                    IStartingStats startingStats = new StartingStatsStub(stats, weights, 2);
                    ICard          card          = new CardStub(Guid.NewGuid().ToString(), "Card Title", "Card Description",
                                                                "http://google.com/hello.png", new[] { cardOptionOne, cardOptionTwo }, "Common");

                    IJsonDeserializeAdaptor adaptorStub   = new JsonDeserializeAdaptorStub(card);
                    IValidCardData          validCardData = new ValidCardData(adaptorStub, startingStats);

                    Assert.False(validCardData.Execute("This is real json").Valid);
                    Assert.True(validCardData.Execute("This is real json").ErrorMessage.ToLower().Trim()
                                .Contains("invalid weight value"));
                    Assert.True(validCardData.Execute("This is real json").ErrorMessage.ToLower().Trim()
                                .Contains(card.CardID.ToLower()));
                    Assert.IsNull(validCardData.Execute("This is real json").ValidCardData);
                }
Beispiel #11
0
            public void ThenCardIsUpdatedWithIncrementedVersion(int newVersion, string cardID)
            {
                ICard existingCard = new CardStub(cardID, "Title", "Description", "Image", new ICardOption[0], "Heavy");

                existingCard.VersionAdded = newVersion - 1;
                CardGatewaySpy            spy = new CardGatewaySpy(existingCard, true);
                IncrementVersionNumberSpy incrementVersionNumberSpy = new IncrementVersionNumberSpy(newVersion);

                new RemoveCard(spy, incrementVersionNumberSpy).Execute(cardID);

                Assert.True(spy.GetCardID == cardID);
                Assert.True(spy.UpdateCardCalled);
                Assert.True(incrementVersionNumberSpy.Called);
                Assert.True(spy.UpdateCardCardAdded.VersionRemoved == newVersion);
            }
Beispiel #12
0
 /// <summary>处理批量得到群名片真实姓名回复包
 ///     <remark>abu 2008-02-22 </remark>
 /// </summary>
 /// <param name="buf">The buf.</param>
 private void ParseGetCardBatch(ByteBuffer buf)
 {
     if (ReplyCode == ReplyCode.OK)
     {
         ClusterId     = buf.GetUInt();
         CardVersionId = buf.GetUInt();
         CardStubs     = new List <CardStub>();
         NextStart     = buf.GetUInt();
         while (buf.HasRemaining())
         {
             CardStub stub = new CardStub();
             stub.Read(buf);
             CardStubs.Add(stub);
         }
     }
 }
Beispiel #13
0
                private static void SetCardGatewayFakeToReturnCardWithExistingPackVersion(int cardCount, List <ICard> cardsToReturn,
                                                                                          List <IValidationResult> results, List <string> cardIDs, CardGatewayFake cardGatewayFake)
                {
                    for (int i = 0; i < cardCount; i++)
                    {
                        string cardID  = Guid.NewGuid().ToString();
                        ICard  newCard = new CardStub(cardID, "NEW Title", "NEW Description", "NEW Image",
                                                      new ICardOption[0], "NEW Heavy");
                        cardsToReturn.Add(newCard);
                        results.Add(new ValidationResult {
                            Valid = true, ValidCardData = cardsToReturn[i]
                        });
                        cardIDs.Add(new Guid().ToString());

                        ICard oldCard = new CardStub(cardID, "OLD Title", "OLD Description", "OLD Image",
                                                     new ICardOption[0], "OLD Heavy");
                        oldCard.VersionAdded = i;
                        cardGatewayFake.SetGetCardResponse(cardID, oldCard);
                    }
                }
Beispiel #14
0
                public void ThenCardGatewayAddIsCalledWithPackVersion(string cardID, int versionNumber)
                {
                    CardStub cardToAdd    = new CardStub(cardID, "New Card", "Dog", "Cat", new ICardOption[0], "Cow");
                    CardStub existingCard = new CardStub(cardID + "Now Invalid", "Old Card", " ", " ",
                                                         new ICardOption[0], " ");
                    CardGatewaySpy cardGatewaySpy = new CardGatewaySpy(existingCard, false);

                    new AddCard(new ValidCardDataStub(true, cardToAdd), cardGatewaySpy, new PackGatewayDummy(),
                                new IncrementVersionNumberSpy(versionNumber)).Execute("Valid Json");
                    Assert.True(cardGatewaySpy.AddCardCalled);

                    Assert.True(cardGatewaySpy.CardAdded.Title == cardToAdd.Title);
                    Assert.True(cardGatewaySpy.CardAdded.Description == cardToAdd.Description);
                    Assert.True(cardGatewaySpy.CardAdded.CardWeight == cardToAdd.CardWeight);
                    Assert.True(cardGatewaySpy.CardAdded.CardID == cardToAdd.CardID);
                    Assert.True(cardGatewaySpy.CardAdded.ImageURL == cardToAdd.ImageURL);
                    Assert.True(cardGatewaySpy.CardAdded.Options == cardToAdd.Options);
                    Assert.True(cardGatewaySpy.CardAdded.VersionAdded == versionNumber);
                    Assert.True(cardGatewaySpy.CardAdded.VersionRemoved == null);
                    Assert.True(cardGatewaySpy.CardAdded == cardToAdd);
                }
Beispiel #15
0
                public void ThenReturnsTrue(int optionsCount, int valueCount)
                {
                    string[]      values      = GetRanomValues(valueCount);
                    ICardOption[] cardOptions = CreateCardOptions(optionsCount, values);
                    Dictionary <string, IStartingStat> stats   = GetStatsWithValues(values);
                    Dictionary <string, float>         weights = new Dictionary <string, float>()
                    {
                        { "Common", 0.75f },
                        { "Rare", 0.5f },
                        { "Epic", 0.1f }
                    };

                    IStartingStats startingStats = new StartingStatsStub(stats, weights, optionsCount);
                    ICard          card          = new CardStub("Card ID", "Card Title", "Card Description",
                                                                "http://google.com/hello.png", cardOptions, "Common");
                    IJsonDeserializeAdaptor adaptorStub   = new JsonDeserializeAdaptorStub(card);
                    IValidCardData          validCardData = new ValidCardData(adaptorStub, startingStats);

                    Assert.True(validCardData.Execute("This is real json").Valid);
                    Assert.True(validCardData.Execute("This is real json").ValidCardData == card);
                }