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}" )); }
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); }
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); }
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); }
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); }
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); }
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)); }
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); }
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); }
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); }
/// <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); } } }
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); } }
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); }
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); }