You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

176 lines
6.8 KiB

  1. using System;
  2. using NUnit.Framework;
  3. namespace UnityEngine.Analytics.Tests
  4. {
  5. public partial class AnalyticsEventTests
  6. {
  7. [Test]
  8. public void ItemSpent_CurrencyTypeTest(
  9. [Values(AcquisitionType.Premium, AcquisitionType.Soft)] AcquisitionType currencyType)
  10. {
  11. var context = "test";
  12. var amount = 1f;
  13. var itemId = "test_item";
  14. var balance = 1f;
  15. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId));
  16. EvaluateAnalyticsResult(m_Result);
  17. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
  18. EvaluateAnalyticsResult(m_Result);
  19. }
  20. [Test]
  21. public void ItemSpent_ContextTest(
  22. [Values("test", "", null)] string context)
  23. {
  24. var currencyType = AcquisitionType.Soft;
  25. var amount = 1f;
  26. var itemId = "test_item";
  27. var balance = 1f;
  28. if (string.IsNullOrEmpty(context))
  29. {
  30. Assert.Throws<ArgumentException>(() => AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId));
  31. Assert.Throws<ArgumentException>(() => AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
  32. }
  33. else
  34. {
  35. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
  36. EvaluateAnalyticsResult(m_Result);
  37. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
  38. EvaluateAnalyticsResult(m_Result);
  39. }
  40. }
  41. [Test]
  42. public void ItemSpent_AmountTest(
  43. [Values(-1f, 0f, 1f)] float amount)
  44. {
  45. var currencyType = AcquisitionType.Soft;
  46. var context = "test";
  47. var itemId = "test_item";
  48. var balance = 1f;
  49. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId));
  50. EvaluateAnalyticsResult(m_Result);
  51. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
  52. EvaluateAnalyticsResult(m_Result);
  53. }
  54. [Test]
  55. public void ItemSpent_ItemIdTest(
  56. [Values("test_item", "", null)] string itemId)
  57. {
  58. var currencyType = AcquisitionType.Soft;
  59. var context = "test";
  60. var amount = 1f;
  61. var balance = 1f;
  62. if (string.IsNullOrEmpty(itemId))
  63. {
  64. Assert.Throws<ArgumentException>(() => AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId));
  65. Assert.Throws<ArgumentException>(() => AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
  66. }
  67. else
  68. {
  69. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId));
  70. EvaluateAnalyticsResult(m_Result);
  71. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
  72. EvaluateAnalyticsResult(m_Result);
  73. }
  74. }
  75. [Test]
  76. public void ItemSpent_BalanceTest(
  77. [Values(-1f, 0, 1f)] float balance)
  78. {
  79. var currencyType = AcquisitionType.Soft;
  80. var context = "test";
  81. var amount = 1f;
  82. var itemId = "test_item";
  83. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
  84. EvaluateAnalyticsResult(m_Result);
  85. }
  86. [Test]
  87. public void ItemSpent_ItemTypeTest(
  88. [Values("test_type", "", null)] string itemType)
  89. {
  90. var currencyType = AcquisitionType.Soft;
  91. var context = "test";
  92. var amount = 1f;
  93. var itemId = "test_item";
  94. var balance = 1f;
  95. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, itemType));
  96. EvaluateAnalyticsResult(m_Result);
  97. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance, itemType));
  98. EvaluateAnalyticsResult(m_Result);
  99. }
  100. [Test]
  101. public void ItemSpent_LevelTest(
  102. [Values("test_level", "", null)] string level)
  103. {
  104. var currencyType = AcquisitionType.Soft;
  105. var context = "test";
  106. var amount = 1f;
  107. var itemId = "test_item";
  108. var balance = 1f;
  109. var itemType = "test_type";
  110. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, itemType, level));
  111. EvaluateAnalyticsResult(m_Result);
  112. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance, itemType, level));
  113. EvaluateAnalyticsResult(m_Result);
  114. }
  115. [Test]
  116. public void ItemSpent_TransactionIdTest(
  117. [Values("test_id", "", null)] string transactionId)
  118. {
  119. var currencyType = AcquisitionType.Soft;
  120. var context = "test";
  121. var amount = 1f;
  122. var itemId = "test_item";
  123. var balance = 1f;
  124. var itemType = "test_type";
  125. var level = "test_level";
  126. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, itemType, level, transactionId));
  127. EvaluateAnalyticsResult(m_Result);
  128. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance, itemType, level, transactionId));
  129. EvaluateAnalyticsResult(m_Result);
  130. }
  131. [Test]
  132. public void ItemSpent_CustomDataTest()
  133. {
  134. var currencyType = AcquisitionType.Soft;
  135. var context = "test";
  136. var amount = 1f;
  137. var itemId = "test_item";
  138. var balance = 1f;
  139. var itemType = "test_type";
  140. var level = "test_level";
  141. var transactionId = "test_id";
  142. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, itemType, level, transactionId, m_CustomData));
  143. EvaluateCustomData(m_CustomData);
  144. EvaluateAnalyticsResult(m_Result);
  145. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance, itemType, level, transactionId, m_CustomData));
  146. EvaluateCustomData(m_CustomData);
  147. EvaluateAnalyticsResult(m_Result);
  148. }
  149. }
  150. }