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