mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-11-04 02:40:00 +01:00 
			
		
		
		
	TAChart: Fix unit test failure for IncQuarter.
This commit is contained in:
		
							parent
							
								
									5acbe20f96
								
							
						
					
					
						commit
						b2c74fa967
					
				@ -360,6 +360,7 @@ function FormatIfNotEmpty(AFormat, AStr: String): String; inline;
 | 
			
		||||
function IfThen(ACond: Boolean; ATrue, AFalse: TObject): TObject; overload;
 | 
			
		||||
function ImgRoundChecked(A: Double): Integer; inline;
 | 
			
		||||
function IncQuarter(ADate: TDateTime; NumberOfQuarters: Integer): TDate;
 | 
			
		||||
function IncToStartOfTheQuarter(ADate: TDateTime; NumberOfQuarters: Integer): TDate;
 | 
			
		||||
function InterpolateRGB(AColor1, AColor2: Integer; ACoeff: Double): Integer;
 | 
			
		||||
function IntToColorHex(AColor: Integer): String; inline;
 | 
			
		||||
function IsEquivalent(const A1, A2: Double): Boolean; inline;
 | 
			
		||||
@ -514,6 +515,11 @@ begin
 | 
			
		||||
  Result := IncMonth(ADate, NumberOfQuarters*3);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
function IncToStartOfTheQuarter(ADate: TDateTime; NumberOfQuarters: Integer): TDate;
 | 
			
		||||
begin
 | 
			
		||||
  Result := StartOfTheQuarter(IncQuarter(ADate, NumberOfQuarters));
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
function InterpolateRGB(AColor1, AColor2: Integer; ACoeff: Double): Integer;
 | 
			
		||||
type
 | 
			
		||||
  TBytes = packed array [1..4] of Byte;
 | 
			
		||||
 | 
			
		||||
@ -227,7 +227,7 @@ begin
 | 
			
		||||
      else
 | 
			
		||||
        Result := IncYear(AValue, Round(FBestStepCoeff));
 | 
			
		||||
    dtsQuarter: 
 | 
			
		||||
      Result := IncQuarter(AValue, Round(FStepLen/DATE_STEP_INTERVALS[dtsQuarter]));
 | 
			
		||||
      Result := IncToStartOfTheQuarter(AValue, Round(FStepLen/DATE_STEP_INTERVALS[dtsQuarter]));
 | 
			
		||||
    dtsMonth: Result := IncMonth(AValue, Round(FBestStepCoeff));
 | 
			
		||||
    otherwise Result := AValue + FStepLen;
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
@ -91,6 +91,7 @@ type
 | 
			
		||||
  published
 | 
			
		||||
    procedure TestStartOfTheQuarter;
 | 
			
		||||
    procedure TestIncQuarter;
 | 
			
		||||
    procedure TestIncToStartOfQuarter;
 | 
			
		||||
  end;
 | 
			
		||||
  
 | 
			
		||||
  
 | 
			
		||||
@ -680,81 +681,159 @@ begin
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TQuarterTest.TestIncQuarter;
 | 
			
		||||
begin
 | 
			
		||||
begin          //expected              // actual
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 4, 1), IncQuarter(EncodeDate(2020, 1, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 4, 1), IncQuarter(EncodeDate(2020, 1, 2), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 4, 1), IncQuarter(EncodeDate(2020, 2, 29), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 4, 1), IncQuarter(EncodeDate(2020, 3, 31), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 4, 2), IncQuarter(EncodeDate(2020, 1, 2), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 5,29), IncQuarter(EncodeDate(2020, 2,29), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 6,30), IncQuarter(EncodeDate(2020, 3,31), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncQuarter(EncodeDate(2020, 4, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncQuarter(EncodeDate(2020, 5, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncQuarter(EncodeDate(2020, 6, 30), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncQuarter(EncodeDate(2020, 7, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncQuarter(EncodeDate(2020, 8, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncQuarter(EncodeDate(2020, 9, 30), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 10, 31), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 11, 30), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 12, 31), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2021, 1, 10), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 8, 1), IncQuarter(EncodeDate(2020, 5, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 9,30), IncQuarter(EncodeDate(2020, 6,30), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020,10, 1), IncQuarter(EncodeDate(2020, 7, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020,11, 1), IncQuarter(EncodeDate(2020, 8, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020,12,30), IncQuarter(EncodeDate(2020, 9,30), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1,31), IncQuarter(EncodeDate(2020,10,31), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 2,28), IncQuarter(EncodeDate(2020,11,30), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 3,31), IncQuarter(EncodeDate(2020,12,31), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4,10), IncQuarter(EncodeDate(2021, 1,10), 1));
 | 
			
		||||
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncQuarter(EncodeDate(2020, 1, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncQuarter(EncodeDate(2020, 1, 2), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncQuarter(EncodeDate(2020, 2, 29), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncQuarter(EncodeDate(2020, 3, 31), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncQuarter(EncodeDate(2020, 4, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncQuarter(EncodeDate(2020, 5, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncQuarter(EncodeDate(2020, 6, 30), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 2), IncQuarter(EncodeDate(2020, 1, 2), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 8,29), IncQuarter(EncodeDate(2020, 2,29), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 9,30), IncQuarter(EncodeDate(2020, 3,31), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020,10, 1), IncQuarter(EncodeDate(2020, 4, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020,11, 1), IncQuarter(EncodeDate(2020, 5, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020,12,30), IncQuarter(EncodeDate(2020, 6,30), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 7, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 8, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 9, 30), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 10, 31), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 11, 30), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 12, 31), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncQuarter(EncodeDate(2021, 1, 10), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 2, 1), IncQuarter(EncodeDate(2020, 8, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 3,30), IncQuarter(EncodeDate(2020, 9,30), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4,30), IncQuarter(EncodeDate(2020,10,31), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 5,30), IncQuarter(EncodeDate(2020,11,30), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 6,30), IncQuarter(EncodeDate(2020,12,31), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7,10), IncQuarter(EncodeDate(2021, 1,10), 2));
 | 
			
		||||
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncQuarter(EncodeDate(2020, 1, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncQuarter(EncodeDate(2020, 1, 2), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncQuarter(EncodeDate(2020, 2, 29), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncQuarter(EncodeDate(2020, 3, 31), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2020,10, 1), IncQuarter(EncodeDate(2020, 1, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2020,10, 2), IncQuarter(EncodeDate(2020, 1, 2), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2020,11,29), IncQuarter(EncodeDate(2020, 2,29), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2020,12,31), IncQuarter(EncodeDate(2020, 3,31), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 4, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 5, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 6, 30), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 2, 1), IncQuarter(EncodeDate(2020, 5, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 3,30), IncQuarter(EncodeDate(2020, 6,30), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 7, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 8, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 9, 30), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncQuarter(EncodeDate(2020, 10, 31), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncQuarter(EncodeDate(2020, 11, 30), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncQuarter(EncodeDate(2020, 12, 31), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncQuarter(EncodeDate(2021, 1, 10), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 5, 1), IncQuarter(EncodeDate(2020, 8, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 6,30), IncQuarter(EncodeDate(2020, 9,30), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7,31), IncQuarter(EncodeDate(2020,10,31), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 8,30), IncQuarter(EncodeDate(2020,11,30), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 9,30), IncQuarter(EncodeDate(2020,12,31), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021,10,10), IncQuarter(EncodeDate(2021, 1,10), 3));
 | 
			
		||||
  
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 1, 1), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 1, 2), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 2, 29), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncQuarter(EncodeDate(2020, 3, 31), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 2), IncQuarter(EncodeDate(2020, 1, 2), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 2,28), IncQuarter(EncodeDate(2020, 2,29), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 3,31), IncQuarter(EncodeDate(2020, 3,31), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 4, 1), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 5, 1), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 6, 30), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 5, 1), IncQuarter(EncodeDate(2020, 5, 1), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 6,30), IncQuarter(EncodeDate(2020, 6,30), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncQuarter(EncodeDate(2020, 7, 1), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncQuarter(EncodeDate(2020, 8, 1), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncQuarter(EncodeDate(2020, 9, 30), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncQuarter(EncodeDate(2020, 10, 31), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncQuarter(EncodeDate(2020, 11, 30), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncQuarter(EncodeDate(2020, 12, 31), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 1, 1), IncQuarter(EncodeDate(2021, 1, 10), 4));
 | 
			
		||||
  
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 8, 1), IncQuarter(EncodeDate(2020, 8, 1), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 9,30), IncQuarter(EncodeDate(2020, 9,30), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021,10,31), IncQuarter(EncodeDate(2020,10,31), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021,11,30), IncQuarter(EncodeDate(2020,11,30), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021,12,31), IncQuarter(EncodeDate(2020,12,31), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 1,10), IncQuarter(EncodeDate(2021, 1,10), 4));
 | 
			
		||||
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 1, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 1, 2), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 2, 29), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncQuarter(EncodeDate(2020, 3, 31), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 2), IncQuarter(EncodeDate(2020, 1, 2), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 5,29), IncQuarter(EncodeDate(2020, 2,29), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 6,30), IncQuarter(EncodeDate(2020, 3,31), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncQuarter(EncodeDate(2020, 4, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncQuarter(EncodeDate(2020, 5, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncQuarter(EncodeDate(2020, 6, 30), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncQuarter(EncodeDate(2020, 7, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncQuarter(EncodeDate(2020, 8, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncQuarter(EncodeDate(2020, 9, 30), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 1, 1), IncQuarter(EncodeDate(2020, 10, 31), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 1, 1), IncQuarter(EncodeDate(2020, 11, 30), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 1, 1), IncQuarter(EncodeDate(2020, 12, 31), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 4, 1), IncQuarter(EncodeDate(2021, 1, 10), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 8, 1), IncQuarter(EncodeDate(2020, 5, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 9,30), IncQuarter(EncodeDate(2020, 6,30), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021,10, 1), IncQuarter(EncodeDate(2020, 7, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021,11, 1), IncQuarter(EncodeDate(2020, 8, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021,12,30), IncQuarter(EncodeDate(2020, 9,30), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 1,31), IncQuarter(EncodeDate(2020,10,31), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 2,28), IncQuarter(EncodeDate(2020,11,30), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 3,31), IncQuarter(EncodeDate(2020,12,31), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 4,10), IncQuarter(EncodeDate(2021, 1,10), 5));
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TQuarterTest.TestIncToStartOfQuarter;
 | 
			
		||||
begin
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 1, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 1, 2), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 2, 29), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 3, 31), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 4, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 5, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 6, 30), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 7, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 8, 1), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 9, 30), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 10, 31), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 11, 30), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 12, 31), 1));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2021, 1, 10), 1));
 | 
			
		||||
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 1, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 1, 2), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 2, 29), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 3, 31), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 4, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 5, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 6, 30), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 7, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 8, 1), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 9, 30), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 10, 31), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 11, 30), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 12, 31), 2));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncToStartOfTheQuarter(EncodeDate(2021, 1, 10), 2));
 | 
			
		||||
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 1, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 1, 2), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 2, 29), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2020, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 3, 31), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 4, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 5, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 6, 30), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 7, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 8, 1), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 9, 30), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 10, 31), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 11, 30), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 12, 31), 3));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncToStartOfTheQuarter(EncodeDate(2021, 1, 10), 3));
 | 
			
		||||
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 1, 1), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 1, 2), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 2, 29), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 3, 31), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 4, 1), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 5, 1), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 6, 30), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 7, 1), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 8, 1), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 9, 30), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 10, 31), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 11, 30), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 12, 31), 4));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 1, 1), IncToStartOfTheQuarter(EncodeDate(2021, 1, 10), 4));
 | 
			
		||||
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 1, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 1, 2), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 2, 29), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 4, 1), IncToStartOfTheQuarter(EncodeDate(2020, 3, 31), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 4, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 5, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 7, 1), IncToStartOfTheQuarter(EncodeDate(2020, 6, 30), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 7, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 8, 1), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2021, 10, 1), IncToStartOfTheQuarter(EncodeDate(2020, 9, 30), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 10, 31), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 11, 30), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 1, 1), IncToStartOfTheQuarter(EncodeDate(2020, 12, 31), 5));
 | 
			
		||||
  AssertEquals(EncodeDate(2022, 4, 1), IncToStartOfTheQuarter(EncodeDate(2021, 1, 10), 5));
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user