public void ShouldMapName()
        {
            var sut = new SingleToggleToStoreInAppOfferNameMapper();

            var testToggle = new SinglePurchase1();

            var mappedOfferName = sut.Map(testToggle.GetType());

            Assert.Equal("SinglePurchase1", mappedOfferName);
        }
        public void ShouldMapName()
        {
            var mockNameMapper = new SingleToggleToStoreInAppOfferNameMapperMoqaLate();

            var sut = new SinglePurchase1
                          {
                              StoreGateway = new StoreGatewayMoqaLate(),
                              StoreInAppOfferNameMapper = mockNameMapper
                          };

            var dontCare = sut.IsPurchased;

            Assert.True(mockNameMapper.MapWasCalledWith(sut.GetType()));
        }
        public void ShouldUseSpecifiedWindowsStoreGateway()
        {
            var mockGateway = new StoreGatewayMoqaLate();
            mockGateway.IsPurchasedSetReturnValue(true);

            var sut = new SinglePurchase1
                          {
                              StoreGateway = mockGateway
                          };

            var result = sut.IsPurchased;

            Assert.True(mockGateway.IsPurchasedWasCalledWith("SinglePurchase1"));
            Assert.True(result);
        }
        public void ShouldAlwaysReturnInAppHasBeenPurchased()
        {
            var sut = new SinglePurchase1 {StoreGateway = new SimulatedNeverPurchasedStoreGateway()};

            Assert.False(sut.IsPurchased);
        }
        public void ShouldDefaultToRealWindowsStoreGateway()
        {
            var sut = new SinglePurchase1();

            Assert.IsType(typeof (RealStoreGateway), sut.StoreGateway);
        }