public void ShouldCalculateNextLowestUnPurchased()
        {
            var mockGateway = new StoreGatewayHandMock
             {
                 DefaultIsPurchasedValue = true,
                 OddOneOutInAppOfferNameToReturnNotDefaultValue =
                     "RepeatPurchaseWith123Instances_99"
             };

             var sut = new RepeatPurchaseWith123Instances()
             {
                 StoreGateway = mockGateway
             };

             var nextUnpurchasedInstance = sut.GetNextLowestUnpurchasedInstance();

             Assert.Equal(99, nextUnpurchasedInstance);
        }
        public void ShouldGracefullyHandleNextLowestUnPurchasedWhenAllHaveBeenPurchased()
        {
            var mockGateway = new StoreGatewayMoqaLate();
             mockGateway.IsPurchasedSetReturnValue(true);

             var sut = new RepeatPurchaseWith123Instances()
             {
                 StoreGateway = mockGateway
             };

             var nextUnpurchasedInstance = sut.GetNextLowestUnpurchasedInstance();

             Assert.Equal(-1, nextUnpurchasedInstance);
        }