From 4fd020d084846865178b21d759ce55933fd2be96 Mon Sep 17 00:00:00 2001 From: samuraiGH Date: Fri, 28 Jun 2024 17:21:00 +0300 Subject: [PATCH] adding tests --- .../ForeachResolver/foreach_resolver.pas | 48 +++++++++++++++ .../ForeachResolver/foreach_resolver_lib.dll | Bin 0 -> 66048 bytes .../ForeachResolver/foreach_resolver_lib.pas | 58 ++++++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 TestSuite/ForeachResolver/foreach_resolver.pas create mode 100644 TestSuite/ForeachResolver/foreach_resolver_lib.dll create mode 100644 TestSuite/ForeachResolver/foreach_resolver_lib.pas diff --git a/TestSuite/ForeachResolver/foreach_resolver.pas b/TestSuite/ForeachResolver/foreach_resolver.pas new file mode 100644 index 000000000..c61937fea --- /dev/null +++ b/TestSuite/ForeachResolver/foreach_resolver.pas @@ -0,0 +1,48 @@ +{$reference 'foreach_resolver_lib.dll'} + +type + c0 = class + procedure pr:= exit; + end; + +begin + var v1:= new c1; + v1._element:= new c0; + + foreach var item in v1 do + item.pr; + + Assert(check); + check:= false; + + var v2:= new c2; + v2._element:= 'myStr'; + foreach var item in v2 do + item.Replace('my', 'your'); + + Assert(check); + check:= false; + + var v3:= new c3; + v3._element:= 'myStr'; + foreach var item in v3 do + print(item); + + Assert(check); + check:= false; + + var v4:= new c4; + v4._element:= 'myStr'; + foreach var item in v4 do + item.Replace('my', 'your'); + + Assert(check); + check:= false; + + var v5:= new c5; + v5._element:= 4; + foreach var item in v5 do + Assert(item = 4); + + Assert(check); +end. \ No newline at end of file diff --git a/TestSuite/ForeachResolver/foreach_resolver_lib.dll b/TestSuite/ForeachResolver/foreach_resolver_lib.dll new file mode 100644 index 0000000000000000000000000000000000000000..7ba778e58d9e329cde79ae4f0998c45e6f145b9b GIT binary patch literal 66048 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 = class (IEnumerable, IEnumerable) + public + _element: T2; + + function GetEnumerator: IEnumerator; + begin + check:= true; + result:= lst( _element ).GetEnumerator; + end; + + function IEnumerable.GetEnumerator: IEnumerator; + begin end; + + function IEnumerable.GetEnumerator: IEnumerator; + begin end; + end; + + c2 = class (IEnumerable, IEnumerable) + public + _element: string; + + function GetEnumerator: IEnumerator; + begin + check:= true; + result:= lst(_element).GetEnumerator; + end; + + function IEnumerable.GetEnumerator: IEnumerator; + begin end; + + function IEnumerable.GetEnumerator: IEnumerator; + begin end; + end; + + c3 = class (IEnumerable) + public + _element: object; + + function IEnumerable.GetEnumerator: IEnumerator; + begin end; + + function GetEnumerator: IEnumerator; + begin + check:= true; + result:= |_element|.GetEnumerator; + end; + end; + + c4 = class (c2) end; + + c5 = class (c1) end; +end. \ No newline at end of file