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

using System;
using NUnit.Framework;
namespace UnityEngine.Analytics.Tests
{
public partial class AnalyticsEventTests
{
[Test]
public void ItemSpent_CurrencyTypeTest(
[Values(AcquisitionType.Premium, AcquisitionType.Soft)] AcquisitionType currencyType)
{
var context = "test";
var amount = 1f;
var itemId = "test_item";
var balance = 1f;
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId));
EvaluateAnalyticsResult(m_Result);
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
EvaluateAnalyticsResult(m_Result);
}
[Test]
public void ItemSpent_ContextTest(
[Values("test", "", null)] string context)
{
var currencyType = AcquisitionType.Soft;
var amount = 1f;
var itemId = "test_item";
var balance = 1f;
if (string.IsNullOrEmpty(context))
{
Assert.Throws<ArgumentException>(() => AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId));
Assert.Throws<ArgumentException>(() => AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
}
else
{
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
EvaluateAnalyticsResult(m_Result);
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
EvaluateAnalyticsResult(m_Result);
}
}
[Test]
public void ItemSpent_AmountTest(
[Values(-1f, 0f, 1f)] float amount)
{
var currencyType = AcquisitionType.Soft;
var context = "test";
var itemId = "test_item";
var balance = 1f;
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId));
EvaluateAnalyticsResult(m_Result);
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
EvaluateAnalyticsResult(m_Result);
}
[Test]
public void ItemSpent_ItemIdTest(
[Values("test_item", "", null)] string itemId)
{
var currencyType = AcquisitionType.Soft;
var context = "test";
var amount = 1f;
var balance = 1f;
if (string.IsNullOrEmpty(itemId))
{
Assert.Throws<ArgumentException>(() => AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId));
Assert.Throws<ArgumentException>(() => AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
}
else
{
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId));
EvaluateAnalyticsResult(m_Result);
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
EvaluateAnalyticsResult(m_Result);
}
}
[Test]
public void ItemSpent_BalanceTest(
[Values(-1f, 0, 1f)] float balance)
{
var currencyType = AcquisitionType.Soft;
var context = "test";
var amount = 1f;
var itemId = "test_item";
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance));
EvaluateAnalyticsResult(m_Result);
}
[Test]
public void ItemSpent_ItemTypeTest(
[Values("test_type", "", null)] string itemType)
{
var currencyType = AcquisitionType.Soft;
var context = "test";
var amount = 1f;
var itemId = "test_item";
var balance = 1f;
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, itemType));
EvaluateAnalyticsResult(m_Result);
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance, itemType));
EvaluateAnalyticsResult(m_Result);
}
[Test]
public void ItemSpent_LevelTest(
[Values("test_level", "", null)] string level)
{
var currencyType = AcquisitionType.Soft;
var context = "test";
var amount = 1f;
var itemId = "test_item";
var balance = 1f;
var itemType = "test_type";
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, itemType, level));
EvaluateAnalyticsResult(m_Result);
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance, itemType, level));
EvaluateAnalyticsResult(m_Result);
}
[Test]
public void ItemSpent_TransactionIdTest(
[Values("test_id", "", null)] string transactionId)
{
var currencyType = AcquisitionType.Soft;
var context = "test";
var amount = 1f;
var itemId = "test_item";
var balance = 1f;
var itemType = "test_type";
var level = "test_level";
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, itemType, level, transactionId));
EvaluateAnalyticsResult(m_Result);
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance, itemType, level, transactionId));
EvaluateAnalyticsResult(m_Result);
}
[Test]
public void ItemSpent_CustomDataTest()
{
var currencyType = AcquisitionType.Soft;
var context = "test";
var amount = 1f;
var itemId = "test_item";
var balance = 1f;
var itemType = "test_type";
var level = "test_level";
var transactionId = "test_id";
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, itemType, level, transactionId, m_CustomData));
EvaluateCustomData(m_CustomData);
EvaluateAnalyticsResult(m_Result);
Assert.DoesNotThrow(() => m_Result = AnalyticsEvent.ItemSpent(currencyType, context, amount, itemId, balance, itemType, level, transactionId, m_CustomData));
EvaluateCustomData(m_CustomData);
EvaluateAnalyticsResult(m_Result);
}
}
}