TMutable
This commit is contained in:
+21
-21
@@ -13,8 +13,8 @@ type
|
||||
[TestFixture]
|
||||
TTestMycCoreLazy = class(TObject)
|
||||
private
|
||||
procedure Helper_ConsumeInitialPop(const ALazy: IMycLazy<Integer>; InitialExpectedValue: Integer); overload;
|
||||
procedure Helper_ConsumeInitialPop(const ALazy: IMycLazy<string>; const InitialExpectedValue: string); overload;
|
||||
procedure Helper_ConsumeInitialPop(const ALazy: TLazy<Integer>.ILazy; InitialExpectedValue: Integer); overload;
|
||||
procedure Helper_ConsumeInitialPop(const ALazy: TLazy<String>.ILazy; const InitialExpectedValue: string); overload;
|
||||
public
|
||||
[Setup]
|
||||
procedure Setup;
|
||||
@@ -65,7 +65,7 @@ uses
|
||||
|
||||
{ TTestMycCoreLazy Helper Methods }
|
||||
|
||||
procedure TTestMycCoreLazy.Helper_ConsumeInitialPop(const ALazy: IMycLazy<Integer>; InitialExpectedValue: Integer);
|
||||
procedure TTestMycCoreLazy.Helper_ConsumeInitialPop(const ALazy: TLazy<Integer>.ILazy; InitialExpectedValue: Integer);
|
||||
var
|
||||
tempValue: Integer;
|
||||
popResult: Boolean;
|
||||
@@ -77,7 +77,7 @@ begin
|
||||
Assert.IsFalse(ALazy.GetChanged.IsSet, 'Changed.IsSet should be false after consuming initial pop');
|
||||
end;
|
||||
|
||||
procedure TTestMycCoreLazy.Helper_ConsumeInitialPop(const ALazy: IMycLazy<string>; const InitialExpectedValue: string);
|
||||
procedure TTestMycCoreLazy.Helper_ConsumeInitialPop(const ALazy: TLazy<String>.ILazy; const InitialExpectedValue: string);
|
||||
var
|
||||
tempValue: string;
|
||||
popResult: Boolean;
|
||||
@@ -102,10 +102,10 @@ end;
|
||||
// == Tests for TMycNullLazy<T> ==
|
||||
procedure TTestMycCoreLazy.TestNullLazy_GetChanged_IsAlwaysNullState;
|
||||
var
|
||||
nullLazy: IMycLazy<Integer>;
|
||||
nullLazy: TLazy<Integer>.ILazy;
|
||||
changedState: TState.IState;
|
||||
begin
|
||||
nullLazy := TMycNullLazy<Integer>.Create as IMycLazy<Integer>;
|
||||
nullLazy := TMycNullLazy<Integer>.Create as TLazy<Integer>.ILazy;
|
||||
Assert.IsNotNull(nullLazy, 'TMycNullLazy<Integer> instance should not be nil');
|
||||
changedState := nullLazy.GetChanged;
|
||||
Assert.AreSame(TState.Null, changedState, 'TMycNullLazy.GetChanged should return TState.Null');
|
||||
@@ -114,11 +114,11 @@ end;
|
||||
|
||||
procedure TTestMycCoreLazy.TestNullLazy_Pop_ReturnsDefaultIntegerAndTrue;
|
||||
var
|
||||
nullLazy: IMycLazy<Integer>;
|
||||
nullLazy: TLazy<Integer>.ILazy;
|
||||
value: Integer;
|
||||
result: Boolean;
|
||||
begin
|
||||
nullLazy := TMycNullLazy<Integer>.Create as IMycLazy<Integer>;
|
||||
nullLazy := TMycNullLazy<Integer>.Create as TLazy<Integer>.ILazy;
|
||||
Assert.IsNotNull(nullLazy, 'TMycNullLazy<Integer> instance should not be nil');
|
||||
value := 123;
|
||||
result := nullLazy.Pop(value);
|
||||
@@ -128,11 +128,11 @@ end;
|
||||
|
||||
procedure TTestMycCoreLazy.TestNullLazy_Pop_ReturnsDefaultStringAndTrue;
|
||||
var
|
||||
nullLazy: IMycLazy<string>;
|
||||
nullLazy: TLazy<String>.ILazy;
|
||||
value: string;
|
||||
result: Boolean;
|
||||
begin
|
||||
nullLazy := TMycNullLazy<string>.Create as IMycLazy<string>;
|
||||
nullLazy := TMycNullLazy<string>.Create as TLazy<String>.ILazy;
|
||||
Assert.IsNotNull(nullLazy, 'TMycNullLazy<string> instance should not be nil');
|
||||
value := 'test';
|
||||
result := nullLazy.Pop(value);
|
||||
@@ -142,11 +142,11 @@ end;
|
||||
|
||||
procedure TTestMycCoreLazy.TestNullLazy_Pop_ReturnsDefaultInterfaceAndTrue;
|
||||
var
|
||||
nullLazy: IMycLazy<TState.IState>;
|
||||
nullLazy: TLazy<TState.IState>.ILazy;
|
||||
value: TState.IState;
|
||||
result: Boolean;
|
||||
begin
|
||||
nullLazy := TMycNullLazy<TState.IState>.Create as IMycLazy<TState.IState>;
|
||||
nullLazy := TMycNullLazy<TState.IState>.Create as TLazy<TState.IState>.ILazy;
|
||||
Assert.IsNotNull(nullLazy, 'TMycNullLazy<TState.IState> instance should not be nil');
|
||||
value := TState.Null;
|
||||
result := nullLazy.Pop(value);
|
||||
@@ -157,7 +157,7 @@ end;
|
||||
// == Tests for TMycFuncLazy<T> - Initial State by Design ==
|
||||
procedure TTestMycCoreLazy.TestFuncLazy_GetChanged_IsAlwaysTrueAfterCreation;
|
||||
var
|
||||
funcLazy: IMycLazy<Integer>;
|
||||
funcLazy: TLazy<Integer>.ILazy;
|
||||
changedState: TState.IState;
|
||||
sourceDirty: TFlag.IFlag;
|
||||
begin
|
||||
@@ -172,7 +172,7 @@ end;
|
||||
|
||||
procedure TTestMycCoreLazy.TestFuncLazy_FirstPop_AlwaysEvaluatesAndResetsChanged;
|
||||
var
|
||||
funcLazy: IMycLazy<Integer>;
|
||||
funcLazy: TLazy<Integer>.ILazy;
|
||||
value: Integer;
|
||||
result: Boolean;
|
||||
sourceDirty: TFlag.IFlag;
|
||||
@@ -206,7 +206,7 @@ end;
|
||||
|
||||
procedure TTestMycCoreLazy.TestFuncLazy_AfterFirstPop_IfNoSourceChange_GetChangedIsFalse;
|
||||
var
|
||||
funcLazy: IMycLazy<Integer>;
|
||||
funcLazy: TLazy<Integer>.ILazy;
|
||||
sourceDirty: TFlag.IFlag;
|
||||
initialProcValue: Integer;
|
||||
begin
|
||||
@@ -220,7 +220,7 @@ end;
|
||||
|
||||
procedure TTestMycCoreLazy.TestFuncLazy_AfterFirstPop_IfNoSourceChange_PopReturnsFalse_ValueUndefined;
|
||||
var
|
||||
funcLazy: IMycLazy<Integer>;
|
||||
funcLazy: TLazy<Integer>.ILazy;
|
||||
value: Integer;
|
||||
result: Boolean;
|
||||
sourceDirty: TFlag.IFlag;
|
||||
@@ -249,7 +249,7 @@ end;
|
||||
|
||||
procedure TTestMycCoreLazy.TestFuncLazy_AfterSourceChange_GetChanged_IsSet;
|
||||
var
|
||||
funcLazy: IMycLazy<Integer>;
|
||||
funcLazy: TLazy<Integer>.ILazy;
|
||||
changedState: TState.IState;
|
||||
sourceDirty: TFlag.IFlag;
|
||||
initialProcValue: Integer;
|
||||
@@ -266,7 +266,7 @@ end;
|
||||
|
||||
procedure TTestMycCoreLazy.TestFuncLazy_AfterSourceChange_Pop_ReturnsTrueAndProcResult_ResetsChanged;
|
||||
var
|
||||
funcLazy: IMycLazy<Integer>;
|
||||
funcLazy: TLazy<Integer>.ILazy;
|
||||
value: Integer;
|
||||
result: Boolean;
|
||||
sourceDirty: TFlag.IFlag;
|
||||
@@ -304,7 +304,7 @@ end;
|
||||
|
||||
procedure TTestMycCoreLazy.TestFuncLazy_Pop_Twice_SourceUnchanged_SecondPopReturnsFalse_ValueUndefined;
|
||||
var
|
||||
funcLazy: IMycLazy<Integer>;
|
||||
funcLazy: TLazy<Integer>.ILazy;
|
||||
value: Integer;
|
||||
resultPop1, resultPop2: Boolean;
|
||||
sourceDirty: TFlag.IFlag;
|
||||
@@ -336,7 +336,7 @@ end;
|
||||
// to TestFuncLazy_SourceInteraction_NotifyOnSetSourceDoesNotRetriggerLazy
|
||||
procedure TTestMycCoreLazy.TestFuncLazy_SourceInteraction_NotifyOnSetSourceDoesNotRetriggerLazy;
|
||||
var
|
||||
funcLazy: IMycLazy<Integer>;
|
||||
funcLazy: TLazy<Integer>.ILazy;
|
||||
value: Integer;
|
||||
result: Boolean;
|
||||
sourceDirty: TFlag.IFlag;
|
||||
@@ -417,7 +417,7 @@ end;
|
||||
|
||||
procedure TTestMycCoreLazy.TestFuncLazy_SourceIsInitiallySet_PopBehavesCorrectly;
|
||||
var
|
||||
funcLazy: IMycLazy<Integer>;
|
||||
funcLazy: TLazy<Integer>.ILazy;
|
||||
value: Integer;
|
||||
result: Boolean;
|
||||
sourceDirty: TFlag.IFlag;
|
||||
|
||||
Reference in New Issue
Block a user