예제 #1
0
        private IEnumerator GetMetadata()
        {
            if (_meta != null)
            {
                yield break;
            }
            var req = UnityWebRequest.Get(MetadataUrl);

            yield return(req.SendWebRequest());

            if (!string.IsNullOrEmpty(req.error))
            {
                Fail();
                yield break;
            }

            var json = req.downloadHandler.text;

            Debug.Log($"Received metadata: {json}");
            _meta = JsonUtility.FromJson <PromoMetadata>(json);
            if (Developers.Enabled && SkipCaching)
            {
                _meta.version = StencilRandom.Range(0, int.MaxValue);
            }
        }
예제 #2
0
        public void TestTimeRemaining(int impressionTimeSpan, int offerDuratonTimeSpan, int remainingTime)
        {
            var metadata = new PromoMetadata
            {
                impressionDate = DateTime.Now.Add(-TimeSpan.FromSeconds(impressionTimeSpan)),
                offerDuration  = TimeSpan.FromSeconds(offerDuratonTimeSpan)
            };

            Assert.That(metadata.timeRemaining, Is.EqualTo(TimeSpan.FromSeconds(remainingTime)).Within(1).Seconds);
        }
예제 #3
0
 public void TestTimeRemaining()
 {
     foreach (var tt in timeRemainingTestData)
     {
         var metadata = new PromoMetadata
         {
             impressionDate = tt.firstImpressionDate,
             offerDuration  = tt.offerDuration
         };
         Assert.That(metadata.timeRemaining, Is.EqualTo(tt.timeRemaining).Within(1).Seconds);
     }
 }
예제 #4
0
 public void TestIsExpired()
 {
     foreach (var tt in isExpiredTestData)
     {
         var metadata = new PromoMetadata
         {
             impressionDate = tt.firstImpressionDate,
             offerDuration  = tt.offerDuration
         };
         Assert.That(metadata.isExpired, Is.EqualTo(tt.isExpired));
     }
 }
예제 #5
0
        public void TestIsPremium(string productId, bool isPremium)
        {
            var metadata = new PromoMetadata
            {
                premiumProduct =
                {
                    productId = productId
                }
            };

            Assert.That(metadata.isPremium, Is.EqualTo(isPremium));
        }