1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4 
5 using System.Collections.Generic;
6 using Xunit;
7 
8 namespace System.Globalization.Tests
9 {
10     public class KoreanCalendarAddYears
11     {
12         private static readonly RandomDataGenerator s_randomDataGenerator = new RandomDataGenerator();
13 
AddYears_TestData()14         public static IEnumerable<object[]> AddYears_TestData()
15         {
16             yield return new object[] { DateTime.MinValue, s_randomDataGenerator.GetInt16(-55) % 9999 };
17             yield return new object[] { DateTime.MaxValue, -(s_randomDataGenerator.GetInt16(-55) % 9999) };
18 
19             yield return new object[] { new DateTime(2000, 1, 1), s_randomDataGenerator.GetInt16(-55) % 7999 };
20             yield return new object[] { new DateTime(2000, 1, 1), -(s_randomDataGenerator.GetInt16(-55) % 2000) };
21 
22             // Leap year
23             yield return new object[] { new DateTime(2004, 2, 9), 2 };
24         }
25 
26         [Theory]
27         [MemberData(nameof(AddYears_TestData))]
AddYears(DateTime time, int years)28         public void AddYears(DateTime time, int years)
29         {
30             Assert.Equal(time.AddYears(years), new KoreanCalendar().AddYears(time, years));
31         }
32     }
33 }
34