#if UNITY_2022_2_OR_NEWER using NUnit.Framework; using System; using UnityEditor.AddressableAssets.BuildReportVisualizer; namespace UnityEditor.AddressableAssets.Tests { public class BuildReportWindowTests { public class TimeAgoGetStringTests { [Test] public void SecondLevelGranularitySingularWorks() { var current = DateTime.UtcNow; var input = current.AddSeconds(-1); var expected = "Just now"; var actual = BuildReportUtility.TimeAgo.GetString(input); Assert.AreEqual(expected, actual); } [Test] public void MinuteLevelGranularitySingularWorks() { var current = DateTime.UtcNow; var input = current.AddSeconds(-60); var expected = "a minute ago"; var actual = BuildReportUtility.TimeAgo.GetString(input); Assert.AreEqual(expected, actual); } [Test] public void MinuteLevelGranularityPluralWorks() { var current = DateTime.UtcNow; var input = current.AddSeconds(-60 * 16); var expected = "16 minutes ago"; var actual = BuildReportUtility.TimeAgo.GetString(input); Assert.AreEqual(expected, actual); } [Test] public void HourLevelGranularitySingularWorks() { var current = DateTime.UtcNow; var input = current.AddSeconds(-60 * 60 * 1); var expected = "an hour ago"; var actual = BuildReportUtility.TimeAgo.GetString(input); Assert.AreEqual(expected, actual); } [Test] public void HourLevelGranularityPluralWorks() { var current = DateTime.UtcNow; var input = current.AddSeconds(-60 * 60 * 5); var expected = "5 hours ago"; var actual = BuildReportUtility.TimeAgo.GetString(input); Assert.AreEqual(expected, actual); } [Test] public void DayLevelGranularitySingularWorks() { var current = DateTime.UtcNow; var input = current.AddSeconds(-60 * 60 * 24); var expected = "yesterday"; var actual = BuildReportUtility.TimeAgo.GetString(input); Assert.AreEqual(expected, actual); } [Test] public void DayLevelGranularityPluralWorks() { var current = DateTime.UtcNow; var input = current.AddSeconds(-60 * 60 * 24 * 5); var expected = "5 days ago"; var actual = BuildReportUtility.TimeAgo.GetString(input); Assert.AreEqual(expected, actual); } [Test] public void MonthLevelGranularitySingularWorks() { var current = DateTime.UtcNow; var input = current.AddSeconds(-60 * 60 * 24 * 30); var expected = "a month ago"; var actual = BuildReportUtility.TimeAgo.GetString(input); Assert.AreEqual(expected, actual); } [Test] public void MonthLevelGranularityPluralWorks() { var current = DateTime.UtcNow; var input = current.AddSeconds(-60 * 60 * 24 * 30 * 5); var expected = "5 months ago"; var actual = BuildReportUtility.TimeAgo.GetString(input); Assert.AreEqual(expected, actual); } [Test] public void YearLevelGranularitySingularWorks() { var current = DateTime.UtcNow; var input = current.AddSeconds(-60 * 60 * 24 * 365); var expected = "one year ago"; var actual = BuildReportUtility.TimeAgo.GetString(input); Assert.AreEqual(expected, actual); } [Test] public void YearLevelGranularityPluralWorks() { var current = DateTime.UtcNow; var input = current.AddSeconds(-60 * 60 * 24 * 365 * 5); var expected = "5 years ago"; var actual = BuildReportUtility.TimeAgo.GetString(input); Assert.AreEqual(expected, actual); } } } } #endif