public static void Main() { GregorianCalendar grCal = new GregorianCalendar(); HijriCalendar hiCal = new HijriCalendar(); JapaneseLunisolarCalendar jaCal = new JapaneseLunisolarCalendar(); Display(grCal); Display(hiCal); Display(jaCal); }
public void GetYearInfo_should_be_callable_indirectly() { using (new IndirectionsContext()) { // Arrange PJapaneseLunisolarCalendar.GetYearInfoInt32Int32().Body = (@this, lunarYear, index) => 41; // Act var calendar = new JapaneseLunisolarCalendar(); var actual = calendar.GetLeapMonth(26, calendar.Eras[0]); // Assert // Before setting indirection: 平成 26 年 閏 9 Assert.AreEqual(42, actual); } }
public static void Main(string[] args) { //各種暦を作成 GregorianCalendar gre = new GregorianCalendar(); JapaneseCalendar jpn = new JapaneseCalendar(); JapaneseLunisolarCalendar jpnLun = new JapaneseLunisolarCalendar(); HebrewCalendar heb = new HebrewCalendar(); //各暦での現在の日付を表示 WriteCalendar(gre); WriteCalendar(jpn); WriteCalendar(jpnLun); WriteCalendar(heb); Console.ReadKey(); }
protected void SetUp() { gcal = new GregorianCalendar(); jucal = new JulianCalendar(); hical = new HijriCalendar(); hecal = new HebrewCalendar(); jacal = new JapaneseCalendar(); tacal = new TaiwanCalendar(); kcal = new KoreanCalendar(); tbcal = new ThaiBuddhistCalendar(); acal = new Calendar[] { gcal, jucal, hical, hecal, jacal, tacal, kcal, tbcal }; clcal = new ChineseLunisolarCalendar(); tlcal = new TaiwanLunisolarCalendar(); jlcal = new JapaneseLunisolarCalendar(); klcal = new KoreanLunisolarCalendar(); }
public static void Cultures() { // These classes won't be linked away because of the code. // // This is to resolve crash at CultureInfo.CurrentCulture // when language is set to Thai. See // https://github.com/xamarin/Xamarin.Forms/issues/4037 _ = new ChineseLunisolarCalendar(); _ = new HebrewCalendar(); _ = new HijriCalendar(); _ = new JapaneseCalendar(); _ = new JapaneseLunisolarCalendar(); _ = new KoreanCalendar(); _ = new KoreanLunisolarCalendar(); _ = new PersianCalendar(); _ = new TaiwanCalendar(); _ = new TaiwanLunisolarCalendar(); _ = new ThaiBuddhistCalendar(); _ = new UmAlQuraCalendar(); }
public void GetYearInfo_should_be_callable_indirectly_against_only_specified_instance() { using (new IndirectionsContext()) { // Arrange var calendar = new JapaneseLunisolarCalendar(); var calendarProxy = new PProxyJapaneseLunisolarCalendar(); calendarProxy.GetEraDateTime().Body = (@this, time) => calendar.Eras[0]; calendarProxy.GetGregorianYearInt32Int32().Body = (@this, year, era) => 2000; calendarProxy.GetYearInfoInt32Int32().Body = (@this, lunarYear, index) => 41; var calendar_sut = (JapaneseLunisolarCalendar)calendarProxy; // Act var actual = calendar_sut.GetLeapMonth(26, calendar.Eras[0]); // Assert Assert.AreEqual(42, actual); Assert.AreNotEqual(calendar.GetLeapMonth(26, calendar.Eras[0]), actual); } }
public void CalEraInfo_should_be_callable_indirectly() { using (new IndirectionsContext()) { // Arrange var japaneseLunisolarCalendar_get_CalEraInfo = default(MethodInfo); var expected = default(Array); MakeCalEraInfoTestData(out japaneseLunisolarCalendar_get_CalEraInfo, out expected); PJapaneseLunisolarCalendar.CalEraInfoGet().Body = args => expected; // Act var calendar = new JapaneseLunisolarCalendar(); var actual = japaneseLunisolarCalendar_get_CalEraInfo.Invoke(calendar, null) as IEnumerable; // Assert CollectionAssert.AreEqual(expected, actual); } }
public static void Main() { DateTime date1 = new DateTime(2011, 8, 28); Calendar cal = new JapaneseLunisolarCalendar(); Console.WriteLine("{0} {1:d4}/{2:d2}/{3:d2}", cal.GetEra(date1), cal.GetYear(date1), cal.GetMonth(date1), cal.GetDayOfMonth(date1)); // Display eras CultureInfo culture = CultureInfo.CreateSpecificCulture("ja-JP"); DateTimeFormatInfo dtfi = culture.DateTimeFormat; dtfi.Calendar = new JapaneseCalendar(); Console.WriteLine("{0} {1:d4}/{2:d2}/{3:d2}", dtfi.GetAbbreviatedEraName(cal.GetEra(date1)), cal.GetYear(date1), cal.GetMonth(date1), cal.GetDayOfMonth(date1)); }
public void CalEraInfo_should_be_callable_indirectly_against_only_specified_instance() { using (new IndirectionsContext()) { // Arrange var calendar = new JapaneseLunisolarCalendar(); var calendarProxy = new PProxyJapaneseLunisolarCalendar(); var japaneseLunisolarCalendar_get_CalEraInfo = default(MethodInfo); var expected = default(Array); MakeCalEraInfoTestData(out japaneseLunisolarCalendar_get_CalEraInfo, out expected); calendarProxy.CalEraInfoGet().Body = args => expected; var calendar_sut = (JapaneseLunisolarCalendar)calendarProxy; // Act var actual = japaneseLunisolarCalendar_get_CalEraInfo.Invoke(calendar_sut, null) as IEnumerable; // Assert CollectionAssert.AreEqual(expected, actual); CollectionAssert.AreNotEqual(japaneseLunisolarCalendar_get_CalEraInfo.Invoke(calendar, null) as IEnumerable, actual); } }
/// <summary> /// GetCalendar returns a .NET Calendar equivalent to a CLDR Calendar /// </summary> /// <param name="calendar">A CLDR Calendar</param> /// <returns>A .NET Calendar</returns> private static System.Globalization.Calendar GetCalendar(Types.Calendar calendar) { System.Globalization.Calendar dotNetCalendar = null; if (string.Compare(calendar.Id, "gregorian", StringComparison.InvariantCulture) == 0 && calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.SolarCalendar) { dotNetCalendar = new GregorianCalendar(); } else if (string.Compare(calendar.Id, "japanese", StringComparison.InvariantCulture) == 0) { if (calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.SolarCalendar) { dotNetCalendar = new JapaneseCalendar(); } else if (calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.LunisolarCalendar) { dotNetCalendar = new JapaneseLunisolarCalendar(); } } else if (string.Compare(calendar.Id, "islamic-civil", StringComparison.InvariantCulture) == 0 && calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.LunisolarCalendar) { dotNetCalendar = new HijriCalendar(); } else if (string.Compare(calendar.Id, "islamic", StringComparison.InvariantCulture) == 0 && calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.LunisolarCalendar) { dotNetCalendar = new HijriCalendar(); } else if (string.Compare(calendar.Id, "chinese", StringComparison.InvariantCulture) == 0 && calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.LunisolarCalendar) { dotNetCalendar = new ChineseLunisolarCalendar(); } else if (string.Compare(calendar.Id, "hebrew", StringComparison.InvariantCulture) == 0 && calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.LunisolarCalendar) { dotNetCalendar = new HebrewCalendar(); } else if (string.Compare(calendar.Id, "buddhist", StringComparison.InvariantCulture) == 0 && calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.SolarCalendar) { dotNetCalendar = new ThaiBuddhistCalendar(); } else if (string.Compare(calendar.Id, "coptic", StringComparison.InvariantCulture) == 0) { return(null); } else if (string.Compare(calendar.Id, "persian", StringComparison.InvariantCulture) == 0 && calendar.CalendarType.CalendarAlgorithmType == CalendarAlgorithmType.SolarCalendar) { return(new PersianCalendar()); } else if (string.Compare(calendar.Id, "ethiopic", StringComparison.InvariantCulture) == 0) { return(null); } else if (string.Compare(calendar.Id, "indian", StringComparison.InvariantCulture) == 0) { return(null); } else if (string.Compare(calendar.Id, "roc", StringComparison.InvariantCulture) == 0) { return(null); } return(dotNetCalendar); }
public DateTimeFormatter(string dateTimePattern, string calendarName, string amDesignator, string pmDesignator) { Calendar calendar = null; switch (calendarName) { case "ChineseLunisolarCalendar": calendar = new ChineseLunisolarCalendar(); break; case "GregorianCalendar": calendar = new GregorianCalendar(); break; case "HebrewCalendar": calendar = new HebrewCalendar(); break; case "HijriCalendar": calendar = new HijriCalendar(); break; case "JapaneseCalendar": calendar = new JapaneseCalendar(); break; case "JapaneseLunisolarCalendar": calendar = new JapaneseLunisolarCalendar(); break; case "JulianCalendar": calendar = new JulianCalendar(); break; case "KoreanCalendar": calendar = new KoreanCalendar(); break; case "KoreanLunisolarCalendar": calendar = new KoreanLunisolarCalendar(); break; case "PersianCalendar": calendar = new PersianCalendar(); break; case "TaiwanCalendar": calendar = new TaiwanCalendar(); break; case "TaiwanLunisolarCalendar": calendar = new TaiwanLunisolarCalendar(); break; case "ThaiBuddhistCalendar": calendar = new ThaiBuddhistCalendar(); break; case "UmAlQuraCalendar": calendar = new UmAlQuraCalendar(); break; } Initialize(dateTimePattern, calendar, amDesignator, pmDesignator); }
/// <summary>初始化 <see cref="T:System.Globalization.JapaneseLunisolarCalendar" /> 类的新实例。</summary> public JapaneseLunisolarCalendar() { this.helper = new GregorianCalendarHelper((Calendar)this, JapaneseLunisolarCalendar.TrimEras(JapaneseCalendar.GetEraInfo())); }
public static void JapaneseLunisolarTest() { JapaneseLunisolarCalendar cal = new JapaneseLunisolarCalendar(); Assert.True(cal.Eras.Length >= 2); }
public static Calendar GetCalendar(this CalendarEnum self, CultureInfo culture = null) { Calendar calendar = null; switch (self) { case CalendarEnum.Gregorian: calendar = new GregorianCalendar(); break; case CalendarEnum.Hebrew: calendar = new HebrewCalendar(); break; case CalendarEnum.UmAlQura: calendar = new UmAlQuraCalendar(); break; case CalendarEnum.Hijri: calendar = new HijriCalendar(); break; case CalendarEnum.Japanese: calendar = new JapaneseCalendar(); break; case CalendarEnum.JapaneseLunisolar: calendar = new JapaneseLunisolarCalendar(); break; case CalendarEnum.Julian: calendar = new JulianCalendar(); break; case CalendarEnum.Korean: calendar = new KoreanCalendar(); break; case CalendarEnum.KoreanLunisolar: calendar = new KoreanLunisolarCalendar(); break; case CalendarEnum.Persian: calendar = new PersianCalendar(); break; case CalendarEnum.Taiwan: calendar = new TaiwanCalendar(); break; case CalendarEnum.TaiwanLunisolar: calendar = new TaiwanLunisolarCalendar(); break; case CalendarEnum.ThaiBuddhist: calendar = new ThaiBuddhistCalendar(); break; default: if (culture == null) { culture = System.Threading.Thread.CurrentThread.CurrentCulture; } calendar = culture.Calendar; break; } return(calendar); }