public void FormatAppointmentsTest() { PageDocument report = TestHelper.GetReport("Calendar-Format.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // calendar1 ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.IsNotNull(calendar.Appointments); Assert.AreEqual(15, calendar.Appointments.Count); // there are expressions to get // format '=IIF((Convert.ToDateTime(Fields!StartTime.Value).Day - Convert.ToDateTime(Fields!EndTime.Value).Day) = 0, "D", "d")' // background '=IIF((Convert.ToDateTime(Fields!StartTime.Value).Day - Convert.ToDateTime(Fields!EndTime.Value).Day) = 0, "LightGreen", "Coral")' foreach (Appointment appointment in calendar.Appointments) { if (appointment.StartDate.Day - appointment.EndDate.Day == 0) { Assert.AreEqual("D", appointment.Format); Assert.AreEqual(Color.LightGreen, appointment.Backcolor); } else { Assert.AreEqual("d", appointment.Format); Assert.AreEqual(Color.Coral, appointment.Backcolor); } } }
public void DefaultAppearanceAppointmentTest() { PageDocument report = TestHelper.GetReport("Calendar.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // calendar1 ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.IsNotNull(calendar.Appointments); foreach (Appointment appointment in calendar.Appointments) { Assert.AreEqual(Color.LightYellow, appointment.Backcolor); Assert.AreEqual(Color.DarkGray, appointment.BorderColor); Assert.AreEqual("Arial", appointment.FontFamily); Assert.AreEqual(new Length("8pt"), appointment.FontSize); Assert.AreEqual(FontStyle.Normal, appointment.FontStyle); Assert.AreEqual(FontWeight.Normal, appointment.FontWeight); Assert.AreEqual(FontDecoration.None, appointment.FontDecoration); Assert.AreEqual(Color.Black, appointment.FontColor); Assert.AreEqual(TextAlign.General, appointment.TextAlign); Assert.AreEqual(string.Empty, appointment.Format); Assert.AreEqual(ImageSource.External, appointment.ImageSource); Assert.AreEqual(string.Empty, appointment.ImageValue); Assert.AreEqual(string.Empty, appointment.MimeType); } }
public void AppointmentWithBadFormattedDates() { PageDocument report = TestHelper.GetReport("Calendar-BadDates.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // StartTime(string),EndTime(string),Value(string) // "2007-1205","2007-12-07","Appt#1 Text ..." // "2007-12-05","2007-1207","Appt#2 Text ..." // "2007-12-05","2007-12-07","Appt#3 Text ..." // calendar1 ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.IsNotNull(calendar.Appointments); Assert.AreEqual(2, calendar.Appointments.Count); // second row Appointment app1 = calendar.Appointments[0]; Assert.AreEqual(new DateTime(2007, 12, 5), app1.StartDate.Date); Assert.AreEqual(new DateTime(2007, 12, 5), app1.EndDate.Date); Assert.AreEqual("Appt#2 Text ...", app1.Value); // third row Appointment app2 = calendar.Appointments[1]; Assert.AreEqual(new DateTime(2007, 12, 5), app2.StartDate.Date); Assert.AreEqual(new DateTime(2007, 12, 7), app2.EndDate.Date); Assert.AreEqual("Appt#3 Text ...", app2.Value); }
public void CalendarRenderWithNoDataBound() { PageDocument report = TestHelper.GetReport("Calendar-NoData.rdlx"); TestingRenderingExtension rendererExt = new TestingRenderingExtension(); report.Render(rendererExt, null); CalendarDataRegion calendar = rendererExt.GetReportItem("Calendar1") as CalendarDataRegion; Assert.IsNotNull(calendar); CalendarData calendarData = new CalendarData(calendar); CalendarContentRange content = new CalendarContentRange(calendar, calendarData.GetFirstMonth(), calendarData.GetLastMonth()); // recalibrate graphics to twips RectangleF rect = new RectangleF(0, 0, 4000f, 4000f); CalendarDesigner.ScaleToTwipsGraphicsAndBound(GetGraphics(), ref rect); // create gdi canvas wrapper to use in renderer IDrawingCanvas canvas = GraphicsCanvasFactory.Create(GetGraphics()); // render calendar to canvas CalendarRenderer.Instance.Render(content, canvas, rect); }
public void TestRenderingInMultiThreads() { var report = TestHelper.GetReport("Calendar.rdlx"); var rendererExt = new TestingRenderingExtension(); report.Render(rendererExt, null); var calendar = rendererExt.GetReportItem("Calendar1") as CalendarDataRegion; Assert.IsNotNull(calendar); var calendarData = new CalendarData(calendar); var content = new CalendarContentRange(calendar, calendarData.GetFirstMonth(), calendarData.GetLastMonth()); // recalibrate graphics to twips var rect = new RectangleF(0, 0, 4000f, 4000f); CalendarDesigner.ScaleToTwipsGraphicsAndBound(GetGraphics(), ref rect); // the action of rendering calendar to canvas System.Action render = () => { using (var graphics = Graphics.FromHwnd(IntPtr.Zero)) { var canvas = GraphicsCanvasFactory.Create(graphics); (calendar.GetRenderer <IGraphicsRenderer>() as CalendarRenderer) .Render(content, canvas, rect); } }; var isSuccess1 = false; var isSuccess2 = false; ThreadStart render1 = () => { render(); isSuccess1 = true; }; ThreadStart render2 = () => { render(); isSuccess2 = true; }; var thread1 = new Thread(render1); var thread2 = new Thread(render2); thread1.Start(); thread2.Start(); thread1.Join(); thread2.Join(); Assert.IsTrue(isSuccess1); Assert.IsTrue(isSuccess2); }
public void AppointmentDetailGrouping() { PageDocument report = TestHelper.GetReport("Calendar_AppointmentDetailGrouping.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // EventID(integer),Date(datetime) // 1,2007-12-01 // 1,2007-12-02 // 1,2007-12-03 // 2,2007-12-01 // 2,2007-12-03 // 3,2007-12-02 // 4,2007-12-03 // calendar1 ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.IsNotNull(calendar.Appointments); Assert.AreEqual(4, calendar.Appointments.Count); // event 1 Appointment app1 = calendar.Appointments[0]; Assert.AreEqual(new DateTime(2007, 12, 1), app1.StartDate.Date); Assert.AreEqual(new DateTime(2007, 12, 3), app1.EndDate.Date); Assert.AreEqual(1, app1.Value); // event 2 Appointment app2 = calendar.Appointments[1]; Assert.AreEqual(new DateTime(2007, 12, 1), app2.StartDate.Date); Assert.AreEqual(new DateTime(2007, 12, 3), app2.EndDate.Date); Assert.AreEqual(2, app2.Value); // event 3 Appointment app3 = calendar.Appointments[2]; Assert.AreEqual(new DateTime(2007, 12, 2), app3.StartDate.Date); Assert.AreEqual(new DateTime(2007, 12, 2), app3.EndDate.Date); Assert.AreEqual(3, app3.Value); // event 4 Appointment app4 = calendar.Appointments[3]; Assert.AreEqual(new DateTime(2007, 12, 3), app4.StartDate.Date); Assert.AreEqual(new DateTime(2007, 12, 3), app4.EndDate.Date); Assert.AreEqual(4, app4.Value); }
public void AppointmentOrdering() { PageDocument report = TestHelper.GetReport("Calendar-AppointmentWrapping.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // StartTime(string),EndTime(string),Value(string) //2007-12-07,2007-12-09,"Appt#1 Text ..." //2007-12-08,2007-12-09,"Appt#2 Text ..." //2007-12-09,2007-12-09,"Appt#3 Text ..." //2007-12-09,2007-12-11,"Appt#4 Text ..." ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.AreEqual(4, calendar.Appointments.Count); CalendarData calendarData = new CalendarData(calendar); Assert.IsNotNull(calendarData); MonthInfo month = calendarData.GetFirstMonth(); Assert.IsNotNull(month); Assert.AreEqual(12, month.Month); Assert.AreEqual(2007, month.Year); ICollection <Appointment> week1Appointments = calendarData.GetAppointmentsInWeek(month, 1); Assert.AreEqual(2, week1Appointments.Count); ICollection <Appointment> week2Appointments = calendarData.GetAppointmentsInWeek(month, 2); Assert.AreEqual(4, week2Appointments.Count); // first week : make sure of the ordering of appointments. int index = 1; foreach (Appointment appointment in week1Appointments) { Assert.AreEqual(string.Format("Appt#{0} Text ...", index), appointment.Value); index++; } // second week : make sure of the ordering of appointments is the same as prior week. index = 1; foreach (Appointment appointment in week1Appointments) { Assert.AreEqual(string.Format("Appt#{0} Text ...", index), appointment.Value); index++; } }
public void CalendarHyperlinkActionTest() { PageDocument report = TestHelper.GetReport("Calendar-Hyperlink.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // calendar1 (default values) ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); foreach (Appointment appointment in calendar.Appointments) { Assert.IsNotNull(appointment.Action); Assert.AreEqual(ActionType.HyperLink, appointment.Action.ActionType); Assert.AreEqual(appointment.Value, appointment.Action.HyperLink); } }
public void WeekendFormattingTest() { PageDocument report = TestHelper.GetReport("Calendar-WeekendStyle.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // calendar1 (default values) ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.AreEqual(Color.WhiteSmoke, calendar.WeekendBackcolor); Assert.IsNotNull(calendar.WeekendBorderStyle); //weekend day border color should be inherited from day Assert.AreEqual(calendar.DayBorderColor, calendar.WeekendBorderColor); Assert.AreEqual(new Length("1pt"), calendar.WeekendBorderWidth); Assert.AreEqual(BorderStyle.Solid, calendar.WeekendBorderStyle); Assert.AreEqual("Arial", calendar.WeekendFontFamily); Assert.AreEqual(new Length("9pt"), calendar.WeekendFontSize); Assert.AreEqual(FontStyle.Normal, calendar.WeekendFontStyle); Assert.AreEqual(FontWeight.Normal, calendar.WeekendFontWeight); Assert.AreEqual(FontDecoration.None, calendar.WeekendFontDecoration); Assert.AreEqual(Color.Black, calendar.WeekendFontColor); Assert.AreEqual(TextAlign.General, calendar.WeekendTextAlign); Assert.AreEqual(VerticalAlign.Middle, calendar.WeekendVerticalAlign); // calendar2 (read values) calendar = (ICalendar)renderer.GetReportItem("Calendar2"); Assert.IsNotNull(calendar); Assert.AreEqual(Color.WhiteSmoke, calendar.WeekendBackcolor); Assert.AreEqual(Color.Navy, calendar.WeekendBorderColor); Assert.AreEqual(new Length("0.5pt"), calendar.WeekendBorderWidth); Assert.AreEqual(BorderStyle.Solid, calendar.WeekendBorderStyle); Assert.AreEqual("Tahoma", calendar.WeekendFontFamily); Assert.AreEqual(new Length("8pt"), calendar.WeekendFontSize); Assert.AreEqual(FontStyle.Normal, calendar.WeekendFontStyle); Assert.AreEqual(FontWeight.Bold, calendar.WeekendFontWeight); Assert.AreEqual(FontDecoration.None, calendar.WeekendFontDecoration); Assert.AreEqual(Color.Red, calendar.WeekendFontColor); Assert.AreEqual(TextAlign.Left, calendar.WeekendTextAlign); Assert.AreEqual(VerticalAlign.Bottom, calendar.WeekendVerticalAlign); }
public void FillerDayFormattingTest() { PageDocument report = TestHelper.GetReport("Calendar-FillerDayStyle.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // calendar1 (default values) ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.AreEqual(Color.Gainsboro, calendar.FillerDayBackcolor); Assert.IsNotNull(calendar.FillerDayBorderStyle); //filler day border color should be inherited from day Assert.AreEqual(calendar.DayBorderColor, calendar.FillerDayBorderColor); Assert.AreEqual(new Length("1pt"), calendar.FillerDayBorderWidth); Assert.AreEqual(BorderStyle.Solid, calendar.FillerDayBorderStyle); Assert.AreEqual("Arial", calendar.FillerDayFontFamily); Assert.AreEqual(new Length("9pt"), calendar.FillerDayFontSize); Assert.AreEqual(FontStyle.Normal, calendar.FillerDayFontStyle); Assert.AreEqual(FontWeight.Normal, calendar.FillerDayFontWeight); Assert.AreEqual(FontDecoration.None, calendar.FillerDayFontDecoration); Assert.AreEqual(Color.DimGray, calendar.FillerDayFontColor); Assert.AreEqual(TextAlign.General, calendar.FillerDayTextAlign); Assert.AreEqual(VerticalAlign.Middle, calendar.FillerDayVerticalAlign); // calendar2 (read values) calendar = (ICalendar)renderer.GetReportItem("Calendar2"); Assert.IsNotNull(calendar); Assert.AreEqual(Color.LightSteelBlue, calendar.FillerDayBackcolor); Assert.AreEqual(Color.Navy, calendar.FillerDayBorderColor); Assert.AreEqual(new Length("0.5pt"), calendar.FillerDayBorderWidth); Assert.AreEqual(BorderStyle.Dotted, calendar.FillerDayBorderStyle); Assert.AreEqual("Times New Roman", calendar.FillerDayFontFamily); Assert.AreEqual(new Length("8pt"), calendar.FillerDayFontSize); Assert.AreEqual(FontStyle.Italic, calendar.FillerDayFontStyle); Assert.AreEqual(FontWeight.Bold, calendar.FillerDayFontWeight); Assert.AreEqual(FontDecoration.Underline, calendar.FillerDayFontDecoration); Assert.AreEqual(Color.Navy, calendar.FillerDayFontColor); Assert.AreEqual(TextAlign.Left, calendar.FillerDayTextAlign); Assert.AreEqual(VerticalAlign.Bottom, calendar.FillerDayVerticalAlign); }
public void AppointmentFilters() { PageDocument report = TestHelper.GetReport("Calendar-Filters.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // calendar1 ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.IsNotNull(calendar.Appointments); Assert.AreEqual(4, calendar.Appointments.Count); // calendar2 calendar = (ICalendar)renderer.GetReportItem("Calendar2"); Assert.IsNotNull(calendar); Assert.IsNotNull(calendar.Appointments); Assert.AreEqual(1, calendar.Appointments.Count); }
public void MonthTitleFormattingTest() { PageDocument report = TestHelper.GetReport("Calendar-MonthTitle.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // calendar1 (default values) ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.AreEqual(Color.White, calendar.MonthTitleBackcolor); Assert.AreEqual(Color.Black, calendar.MonthTitleBorderColor); Assert.AreEqual(new Length("1pt"), calendar.MonthTitleBorderWidth); Assert.AreEqual(BorderStyle.None, calendar.MonthTitleBorderStyle); Assert.AreEqual("Arial", calendar.MonthTitleFontFamily); Assert.AreEqual(new Length("16pt"), calendar.MonthTitleFontSize); Assert.AreEqual(FontStyle.Normal, calendar.MonthTitleFontStyle); Assert.AreEqual(FontWeight.Normal, calendar.MonthTitleFontWeight); Assert.AreEqual(FontDecoration.None, calendar.MonthTitleFontDecoration); Assert.AreEqual(Color.Black, calendar.MonthTitleFontColor); Assert.AreEqual(TextAlign.General, calendar.MonthTitleTextAlign); Assert.AreEqual("MMMM", calendar.MonthTitleFormat); // calendar2 (read values) calendar = (ICalendar)renderer.GetReportItem("Calendar2"); Assert.IsNotNull(calendar); Assert.AreEqual(Color.LightSteelBlue, calendar.MonthTitleBackcolor); Assert.AreEqual(Color.Navy, calendar.MonthTitleBorderColor); Assert.AreEqual(new Length("0.5pt"), calendar.MonthTitleBorderWidth); Assert.AreEqual(BorderStyle.Dotted, calendar.MonthTitleBorderStyle); Assert.AreEqual("Times New Roman", calendar.MonthTitleFontFamily); Assert.AreEqual(new Length("12pt"), calendar.MonthTitleFontSize); Assert.AreEqual(FontStyle.Italic, calendar.MonthTitleFontStyle); Assert.AreEqual(FontWeight.Bold, calendar.MonthTitleFontWeight); Assert.AreEqual(FontDecoration.Underline, calendar.MonthTitleFontDecoration); Assert.AreEqual(Color.Navy, calendar.MonthTitleFontColor); Assert.AreEqual(TextAlign.Center, calendar.MonthTitleTextAlign); Assert.AreEqual("D", calendar.MonthTitleFormat); }
public void FontStyleAppointmentsTest() { PageDocument report = TestHelper.GetReport("Calendar-FontStyle.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // calendar1 ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.IsNotNull(calendar.Appointments); Assert.AreEqual(17, calendar.Appointments.Count); // there are expressions to get // font style '=IIF(ToString(Fields!Value.Value).contains("..."), "Normal", "Italic")' // font weight '=IIF(ToString(Fields!Value.Value).contains("..."), "Normal", "Bold")' // font decoration '=IIF(ToString(Fields!Value.Value).contains("..."), "None", "Underline")' // font color '=IIF(ToString(Fields!Value.Value).contains("..."), "Red", "Green")' foreach (Appointment appointment in calendar.Appointments) { Assert.AreEqual("Times New Roman", appointment.FontFamily); Assert.AreEqual(new Length("6pt"), appointment.FontSize); if (Convert.ToString(appointment.Value).Contains("...")) { Assert.AreEqual(FontStyle.Normal, appointment.FontStyle); Assert.AreEqual(FontWeight.Normal, appointment.FontWeight); Assert.AreEqual(FontDecoration.None, appointment.FontDecoration); Assert.AreEqual(Color.Red, appointment.FontColor); } else { Assert.AreEqual(FontStyle.Italic, appointment.FontStyle); Assert.AreEqual(FontWeight.Bold, appointment.FontWeight); Assert.AreEqual(FontDecoration.Underline, appointment.FontDecoration); Assert.AreEqual(Color.Green, appointment.FontColor); } } }
public void TextAlignAppointmentsTest() { PageDocument report = TestHelper.GetReport("Calendar-TextAlign.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // calendar1 ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.IsNotNull(calendar.Appointments); Assert.AreEqual(17, calendar.Appointments.Count); // there is expression to get text align '=IIF(ToString(Fields!Value.Value).contains("..."), "Left", "Right")' foreach (Appointment appointment in calendar.Appointments) { Assert.AreEqual(Convert.ToString(appointment.Value).Contains("...") ? TextAlign.Left : TextAlign.Right, appointment.TextAlign); } }
public void AppointmentNoText() { PageDocument report = TestHelper.GetReport("Calendar-AppointmentNoText.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // StartTime(string),EndTime(string),Value(string) //2007-12-07,2007-12-09,"" ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.IsNotNull(calendar.Appointments); Assert.AreEqual(1, calendar.Appointments.Count); // second row Appointment app1 = calendar.Appointments[0]; Assert.AreEqual(new DateTime(2007, 12, 7), app1.StartDate.Date); Assert.AreEqual(new DateTime(2007, 12, 9), app1.EndDate.Date); Assert.AreEqual("", app1.Value); }
public void BorderStyleAppointmentsTest() { PageDocument report = TestHelper.GetReport("Calendar-BorderStyle.rdlx"); TestingRenderingExtension renderer = new TestingRenderingExtension(); report.Render(renderer, null); // calendar1 ICalendar calendar = (ICalendar)renderer.GetReportItem("Calendar1"); Assert.IsNotNull(calendar); Assert.IsNotNull(calendar.Appointments); Assert.AreEqual(17, calendar.Appointments.Count); // there is expression to get border color '=IIF(ToString(Fields!Value.Value).contains("..."), "Red", "Green")' foreach (Appointment appointment in calendar.Appointments) { Assert.AreEqual( Convert.ToString(appointment.Value).Contains("...") ? Color.Red : Color.Green, appointment.BorderColor); } }