public ReturnQuarterWindow(Return @return, QuarterWindow quarterWindow, List <Aatf> aatfs, List <NonObligatedWeee> nonObligatedWeeeList, List <WeeeReceivedAmount> obligatedReceivedList, List <WeeeReusedAmount> obligatedReusedList, Organisation organisation, List <WeeeSentOnAmount> obligatedSentOnList, List <ReturnScheme> returnSchemes, List <ReturnReportOn> returnReportOns, DateTime systemDateTime) { Guard.ArgumentNotNull(() => @return, @return); Guard.ArgumentNotNull(() => quarterWindow, quarterWindow); Guard.ArgumentNotNull(() => returnSchemes, returnSchemes); this.Return = @return; this.QuarterWindow = quarterWindow; this.Aatfs = aatfs; this.NonObligatedWeeeList = nonObligatedWeeeList; this.ObligatedWeeeReceivedList = obligatedReceivedList; this.ObligatedWeeeReusedList = obligatedReusedList; this.Organisation = organisation; this.ObligatedWeeeSentOnList = obligatedSentOnList; this.ReturnSchemes = returnSchemes; this.ReturnReportOns = returnReportOns; this.SystemDateTime = systemDateTime; }
public void Constructor_GivenQuarterFourConstructorParameters_QuarterStartEndPropertiesShouldBeSet() { var quarter = new QuarterWindow(Convert.ToDateTime(Q4), windowClosedDate, QuarterType.Q4); quarter.QuarterStart.Should().Be(new DateTime(2018, 10, 1)); quarter.QuarterEnd.Should().Be(new DateTime(2018, 12, 31)); }
public void Constructor_GivenConstructorParameters_PropertiesShouldBeSet(DateTime windowOpenDate, QuarterType quarterType) { var quarter = new QuarterWindow(windowOpenDate, windowClosedDate, quarterType); quarter.QuarterType.Should().Be(quarterType); quarter.WindowOpenDate.Should().Be(windowOpenDate); quarter.WindowClosedDate.Should().Be(windowClosedDate); }
public void IsOpen_DayBeforeReportingWindowOpens_ReturnsFalse(DateTime windowOpenDate, int currentDay, int currentMonth, QuarterType quarterType) { var quarter = new QuarterWindow(windowOpenDate, windowClosedDate, quarterType); var date = new DateTime(2018, currentMonth, currentDay); var result = quarter.IsOpen(date); result.Should().BeFalse(); }
public void IsOpen_DayAfterReportingWindowCloses_ReturnsFalse(DateTime windowOpenDate, QuarterType quarterType) { var quarter = new QuarterWindow(windowOpenDate, windowClosedDate, quarterType); var date = new DateTime(2019, 03, 17); var result = quarter.IsOpen(date); result.Should().BeFalse(); }
public void IsOpen_DayReportingWindowOpens_ReturnsTrue(DateTime windowOpenDate, int currentMonth, int currentYear, QuarterType quarterType) { var quarter = new QuarterWindow(windowOpenDate, windowClosedDate, quarterType); var date = new DateTime(currentYear, currentMonth, 01); var result = quarter.IsOpen(date); result.Should().BeTrue(); }
public void Map_GivenSource_QuarterPropertiesShouldBeMapped() { QuarterWindow window = new QuarterWindow(new DateTime(2019, 4, 1), new DateTime(2020, 3, 16), QuarterType.Q1); var source = new ReturnQuarterWindow(GetReturn(), window, null, null, null, null, null, null, A.Fake <List <ReturnScheme> >(), A.Fake <List <ReturnReportOn> >(), A.Dummy <DateTime>()); var result = map.Map(source); result.Quarter.Q.Should().Be(EA.Weee.Core.DataReturns.QuarterType.Q1); result.Quarter.Year.Should().Be(2019); }
public void CurrentDateTimeIsExactlyWindowStartDate_IsNotBeforeWindow() { var startDate = new DateTime(2016, 04, 01, 0, 0, 0); var currentDate = new DateTime(2016, 04, 01, 0, 0, 0); var quarterWindow = new QuarterWindow(startDate, A.Dummy <DateTime>(), QuarterType.Q1); var result = quarterWindow.IsBeforeWindow(currentDate); Assert.False(result); }
public void CurrentDateTimeIsExactlyWindowStartDate_IsNotBeforeWindow() { var startDate = new DateTime(2016, 04, 01, 0, 0, 0); var currentDate = new DateTime(2016, 04, 01, 0, 0, 0); var quarterWindow = new QuarterWindow(startDate, A.Dummy<DateTime>()); var result = quarterWindow.IsBeforeWindow(currentDate); Assert.False(result); }
public void CurrentDateTimeIsOneSecondBeforeDayAfterWindowEndDate_IsNotAfterWindow() { var endDate = new DateTime(2016, 07, 01, 0, 0, 0); var currentDate = new DateTime(2016, 07, 01, 23, 59, 59); var quarterWindow = new QuarterWindow(A.Dummy<DateTime>(), endDate); var result = quarterWindow.IsAfterWindow(currentDate); Assert.False(result); }
public void CurrentDateTimeIsOneSecondBeforeWindowOpens_IsBeforeWindow() { var startDate = new DateTime(2016, 04, 01, 0, 0, 0); var currentDate = new DateTime(2016, 03, 31, 23, 59, 59); var quarterWindow = new QuarterWindow(startDate, A.Dummy <DateTime>(), QuarterType.Q1); var result = quarterWindow.IsBeforeWindow(currentDate); Assert.True(result); }
public GetAatfApprovalDateChangeStatusTests() { aatfDataAccess = A.Fake <IAatfDataAccess>(); quarterWindowFactory = A.Fake <IQuarterWindowFactory>(); organisationDataAccess = A.Fake <IOrganisationDataAccess>(); quarterWindow = new QuarterWindow(DateTime.MaxValue, DateTime.MaxValue, QuarterType.Q1); getAatfApprovalDateChangeStatus = new GetAatfApprovalDateChangeStatus(aatfDataAccess, quarterWindowFactory, organisationDataAccess); fixture = new Fixture(); }
public void CurrentDateTimeExactlyOneDayAfterWindowEndDate_IsAfterWindow() { var endDate = new DateTime(2016, 07, 01, 0, 0, 0); var currentDate = new DateTime(2016, 07, 02, 0, 0, 0); var quarterWindow = new QuarterWindow(A.Dummy<DateTime>(), endDate); var result = quarterWindow.IsAfterWindow(currentDate); Assert.True(result); }
public void CurrentDateTimeIsOneSecondBeforeWindowOpens_IsBeforeWindow() { var startDate = new DateTime(2016, 04, 01, 0, 0, 0); var currentDate = new DateTime(2016, 03, 31, 23, 59, 59); var quarterWindow = new QuarterWindow(startDate, A.Dummy<DateTime>()); var result = quarterWindow.IsBeforeWindow(currentDate); Assert.True(result); }
public void CurrentDateTimeExactlyOneDayAfterWindowEndDate_IsAfterWindow() { var endDate = new DateTime(2016, 07, 01, 0, 0, 0); var currentDate = new DateTime(2016, 07, 02, 0, 0, 0); var quarterWindow = new QuarterWindow(A.Dummy <DateTime>(), endDate, QuarterType.Q1); var result = quarterWindow.IsAfterWindow(currentDate); Assert.True(result); }
public void CurrentDateTimeIsOneSecondBeforeDayAfterWindowEndDate_IsNotAfterWindow() { var endDate = new DateTime(2016, 07, 01, 0, 0, 0); var currentDate = new DateTime(2016, 07, 01, 23, 59, 59); var quarterWindow = new QuarterWindow(A.Dummy <DateTime>(), endDate, QuarterType.Q1); var result = quarterWindow.IsAfterWindow(currentDate); Assert.False(result); }
public void CurrentDateTimeNotWithinStartDateAndEndDate_IsNotInWindow() { var startDate = new DateTime(2016, 04, 01, 0, 0, 0); var endDate = new DateTime(2016, 07, 01, 0, 0, 0); var currentDate = new DateTime(2016, 03, 02, 0, 0, 0); var quarterWindow = new QuarterWindow(startDate, endDate, QuarterType.Q1); var result = quarterWindow.IsInWindow(currentDate); Assert.False(result); }
public void CurrentDateTimeNotWithinStartDateAndEndDate_IsNotInWindow() { var startDate = new DateTime(2016, 04, 01, 0, 0, 0); var endDate = new DateTime(2016, 07, 01, 0, 0, 0); var currentDate = new DateTime(2016, 03, 02, 0, 0, 0); var quarterWindow = new QuarterWindow(startDate, endDate); var result = quarterWindow.IsInWindow(currentDate); Assert.False(result); }
public ReturnToReturnViewModelMapTests() { map = new ReturnToReturnViewModelMap(new TonnageUtilities()); mapperTestId = Guid.NewGuid(); mapperTestYear = 2019; mapperTestQuarter = new Quarter(mapperTestYear, QuarterType.Q1); mapperTestQuarterWindow = new QuarterWindow(new DateTime(mapperTestYear, 4, 1), new DateTime(mapperTestYear + 1, 3, 31), QuarterType.Q1); mapperTestPeriod = "Q1 Jan - Mar"; mapperTestNonObligatedData = new List <NonObligatedData>(); mapperTestObligatedReceivedData = new List <WeeeObligatedData>(); mapperTestObligatedReusedData = new List <WeeeObligatedData>(); mapperTestObligatedSentOnData = new List <WeeeObligatedData>(); mapperTestScheme = new Scheme(Guid.NewGuid(), "Test Scheme"); mapperTestAatf = new AatfData(mapperTestId, "Test Aatf", "Aatf approval", (Int16)2019); mapperTestAatfList = new List <AatfData>(); }
protected ReturnViewModelBase(ReturnData returnData) { Guard.ArgumentNotNull(() => returnData, returnData); Guard.ArgumentNotNull(() => returnData.Quarter, returnData.Quarter); Guard.ArgumentNotNull(() => returnData.QuarterWindow, returnData.QuarterWindow); this.QuarterWindow = returnData.QuarterWindow; this.QuarterInstance = returnData.Quarter; this.year = returnData.Quarter.Year; this.CreatedBy = returnData.CreatedBy; this.CreatedDate = returnData.CreatedDate.ToString("dd/MM/yyyy HH:mm:ss"); this.SubmittedBy = string.IsNullOrWhiteSpace(returnData.SubmittedBy) ? "-" : returnData.SubmittedBy; this.SubmittedDate = returnData.SubmittedDate.HasValue ? returnData.SubmittedDate.Value.ToString("dd/MM/yyyy HH:mm:ss") : "-"; this.ReturnStatus = returnData.ReturnStatus; this.ReturnId = returnData.Id; }
public async void GetNextQuarterWindow_CurrentIsQ1_ReturnsQ2() { Quarter quarter = new Quarter(2019, QuarterType.Q1); QuarterWindowTemplate quarterWindowTemplate = QuarterWindowTemplate(7, 1, 0, 1); A.CallTo(() => dataAccess.GetByQuarter(((int)quarter.Q) + 1)).Returns(quarterWindowTemplate); QuarterWindow result = await quarterWindowFactory.GetNextQuarterWindow(QuarterType.Q1, 2019); result.StartDate.Year.Should().Be(2019); result.StartDate.Month.Should().Be(07); result.StartDate.Day.Should().Be(01); result.EndDate.Year.Should().Be(2020); result.EndDate.Month.Should().Be(03); result.EndDate.Day.Should().Be(16); Assert.Equal(QuarterType.Q2, result.QuarterType); }
public async Task GetReturnQuarter_GivenQuarter1OpenWindow_HasReturnQuarterIsTrue_NullShouldBeReturned() { var organisationId = Guid.NewGuid(); var startDate = new DateTime(2019, 4, 1); var quarterWindow = new QuarterWindow(startDate, new DateTime(2019, 7, 16), QuarterType.Q1); A.CallTo(() => quarterWindowFactory.GetQuarterWindowsForDate(A <DateTime> ._)).Returns(new List <QuarterWindow>() { quarterWindow }); A.CallTo(() => returnFactoryDataAccess.ValidateAatfApprovalDate(A <Guid> ._, A <DateTime> ._, A <int> ._, A <FacilityType> ._)).Returns(true); A.CallTo(() => returnFactoryDataAccess.HasReturnQuarter(organisationId, 2019, QuarterType.Q1, FacilityType.Aatf)).Returns(true); var result = await returnFactory.GetReturnQuarter(organisationId, FacilityType.Aatf); result.Should().BeNull(); }
public void ReturnsData_GivenConstructorParameters_PropertiesShouldBeMapped() { var returnsList = new List <ReturnData>(); var returnQuarter = new Quarter(2019, QuarterType.Q1); List <Quarter> openQuarters = new List <Quarter>() { returnQuarter }; QuarterWindow nextQuarter = new QuarterWindow(new DateTime(2020, 4, 1), new DateTime(2020, 7, 16), QuarterType.Q1); var returnsData = new ReturnsData(returnsList, returnQuarter, openQuarters, nextQuarter, DateTime.Now); returnsData.ReturnsList.Should().BeEquivalentTo(returnsList); returnsData.ReturnQuarter.Should().Be(returnQuarter); returnsData.OpenQuarters.Count.Should().Be(openQuarters.Count); returnsData.NextWindow.Should().Be(nextQuarter); }
public void Map_GivenSystemDateTime_SystemDateTimePropertyShouldBeMapped() { var date = new DateTime(2019, 4, 1); var @returnQuarterWindow = A.Fake <ReturnQuarterWindow>(); QuarterWindow window = new QuarterWindow(date, date.AddMonths(3), QuarterType.Q1); Return ret = A.Fake <Return>(); Quarter q = new Quarter(2018, QuarterType.Q1); A.CallTo(() => ret.Quarter).Returns(q); A.CallTo(() => @returnQuarterWindow.SystemDateTime).Returns(date); A.CallTo(() => @returnQuarterWindow.QuarterWindow).Returns(window); A.CallTo(() => @returnQuarterWindow.Return).Returns(ret); var result = map.Map(@returnQuarterWindow); result.SystemDateTime.Should().Be(date); }
public async Task<List<QuarterWindow>> GetQuarterWindowsForDate(DateTime date) { var possibleComplianceYears = new int[] { date.Year - 1, date.Year, date.Year + 1 }; var possibleQuarterWindows = new List<QuarterWindow>(); var allQuarterWindowTemplates = await dataAccess.GetAll(); foreach (var possibleComplianceYear in possibleComplianceYears) { foreach (var item in allQuarterWindowTemplates) { var startDate = new DateTime(possibleComplianceYear + item.AddStartYears, item.StartMonth, item.StartDay); var endDate = new DateTime(possibleComplianceYear + item.AddEndYears, item.EndMonth, item.EndDay); var quarterWindow = new QuarterWindow(startDate, endDate); if (quarterWindow.IsInWindow(date)) { possibleQuarterWindows.Add(new QuarterWindow(startDate, endDate)); } } } return possibleQuarterWindows; }
public async Task <List <QuarterWindow> > GetQuarterWindowsForDate(DateTime date) { var possibleComplianceYears = new int[] { date.Year - 1, date.Year, date.Year + 1 }; var possibleQuarterWindows = new List <QuarterWindow>(); var allQuarterWindowTemplates = await dataAccess.GetAll(); foreach (var possibleComplianceYear in possibleComplianceYears) { foreach (var item in allQuarterWindowTemplates) { var startDate = new DateTime(possibleComplianceYear + item.AddStartYears, item.StartMonth, item.StartDay); var endDate = new DateTime(possibleComplianceYear + item.AddEndYears, item.EndMonth, item.EndDay); var quarterWindow = new QuarterWindow(startDate, endDate, (QuarterType)item.Quarter); if (quarterWindow.IsInWindow(date)) { possibleQuarterWindows.Add(new QuarterWindow(startDate, endDate, (QuarterType)item.Quarter)); } } } return(possibleQuarterWindows); }
public static string QuarterPeriodFormat(string quarter, QuarterWindow quarterWindow) { return ($"{quarter} {quarterWindow.QuarterStart.ToString("MMM", CultureInfo.CurrentCulture)} - {quarterWindow.QuarterEnd.ToString("MMM", CultureInfo.CurrentCulture)}"); }
public static string YearQuarterPeriodFormat(Quarter quarter, QuarterWindow quarterWindow) { return(quarter != null & quarterWindow != null ? $"{string.Concat(quarter.Year, " ", quarter.Q)} {quarterWindow.QuarterStart.ToString("MMM", CultureInfo.CurrentCulture)} - {quarterWindow.QuarterEnd.ToString("MMM", CultureInfo.CurrentCulture)}" : string.Empty); }