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.

111 lines
3.5 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 IAPTransaction_ContextTest(
  9. [Values("test", "", null)] string context)
  10. {
  11. var price = 1f;
  12. var itemId = "test_item";
  13. if (string.IsNullOrEmpty(context))
  14. {
  15. Assert.Throws<ArgumentException>(() => AnalyticsEvent.IAPTransaction(context, price, itemId));
  16. }
  17. else
  18. {
  19. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.IAPTransaction(context, price, itemId));
  20. }
  21. EvaluateAnalyticsResult(m_Result);
  22. }
  23. [Test]
  24. public void IAPTransaction_PriceTest(
  25. [Values(-1f, 0f, 1f)] float price)
  26. {
  27. var context = "test";
  28. var itemId = "test_item";
  29. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.IAPTransaction(context, price, itemId));
  30. EvaluateAnalyticsResult(m_Result);
  31. }
  32. [Test]
  33. public void IAPTransaction_ItemIdTest(
  34. [Values("test_item", "", null)] string itemId)
  35. {
  36. var context = "test";
  37. var price = 1f;
  38. if (string.IsNullOrEmpty(itemId))
  39. {
  40. Assert.Throws<ArgumentException>(() => AnalyticsEvent.IAPTransaction(context, price, itemId));
  41. }
  42. else
  43. {
  44. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.IAPTransaction(context, price, itemId));
  45. }
  46. EvaluateAnalyticsResult(m_Result);
  47. }
  48. [Test]
  49. public void IAPTransaction_ItemTypeTest(
  50. [Values("test_type", "", null)] string itemType)
  51. {
  52. var context = "test";
  53. var price = 1f;
  54. var itemId = "test_item";
  55. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.IAPTransaction(context, price, itemId, itemType));
  56. EvaluateAnalyticsResult(m_Result);
  57. }
  58. [Test]
  59. public void IAPTransaction_LevelTest(
  60. [Values("test_level", "", null)] string level)
  61. {
  62. var context = "test";
  63. var price = 1f;
  64. var itemId = "test_item";
  65. var itemType = "test_type";
  66. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.IAPTransaction(context, price, itemId, itemType, level));
  67. EvaluateAnalyticsResult(m_Result);
  68. }
  69. [Test]
  70. public void IAPTransaction_TransactionIdTest(
  71. [Values("test_id", "", null)] string transactionId)
  72. {
  73. var context = "test";
  74. var price = 1f;
  75. var itemId = "test_item";
  76. var itemType = "test_type";
  77. var level = "test_level";
  78. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.IAPTransaction(context, price, itemId, itemType, level, transactionId));
  79. EvaluateAnalyticsResult(m_Result);
  80. }
  81. [Test]
  82. public void IAPTransaction_CustomDataTest()
  83. {
  84. var context = "test";
  85. var price = 1f;
  86. var itemId = "test_item";
  87. var itemType = "test_type";
  88. var level = "test_level";
  89. var transactionId = "test_id";
  90. Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.IAPTransaction(context, price, itemId, itemType, level, transactionId, m_CustomData));
  91. EvaluateCustomData(m_CustomData);
  92. EvaluateAnalyticsResult(m_Result);
  93. }
  94. }
  95. }