diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-17 10:39:45 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-17 10:39:45 +0000 |
| commit | 4a34e970fb224be7640883f6b0dfa602157759f4 (patch) | |
| tree | 3f2e0a54163b179b411e604b6362c08cb1075d3d /tests/ii/overload-methods/program.cps | |
| parent | b47c302bbffd668334f307d512b674f804f8f2fc (diff) | |
test(overload): add randomized differential coverage
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'tests/ii/overload-methods/program.cps')
| -rw-r--r-- | tests/ii/overload-methods/program.cps | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/ii/overload-methods/program.cps b/tests/ii/overload-methods/program.cps new file mode 100644 index 0000000..5594cf0 --- /dev/null +++ b/tests/ii/overload-methods/program.cps @@ -0,0 +1,75 @@ +CLASS Meter + PRIVATE Value : INTEGER + PUBLIC OVERLOAD PROCEDURE NEW() + Value <- 5 + ENDPROCEDURE + PUBLIC OVERLOAD PROCEDURE NEW(X : INTEGER) + Value <- 2 * X + 3 + ENDPROCEDURE + PUBLIC OVERLOAD PROCEDURE NEW(Text : STRING) + Value <- LENGTH(Text) + 20 + ENDPROCEDURE + PUBLIC OVERLOAD PROCEDURE NEW(X : INTEGER, Y : INTEGER) + Value <- X - Y + ENDPROCEDURE + PUBLIC OVERLOAD FUNCTION Get() RETURNS INTEGER + RETURN Value + ENDFUNCTION + PUBLIC OVERLOAD FUNCTION Get(X : INTEGER) RETURNS INTEGER + RETURN Value + 3 * X + ENDFUNCTION + PUBLIC OVERLOAD FUNCTION Get(X : REAL) RETURNS BOOLEAN + RETURN Value > X + ENDFUNCTION + PUBLIC OVERLOAD FUNCTION Get(Text : STRING) RETURNS STRING + RETURN Text & "!" + ENDFUNCTION + PUBLIC OVERLOAD PROCEDURE Set(X : INTEGER) + Value <- X + ENDPROCEDURE + PUBLIC OVERLOAD PROCEDURE Set(Text : STRING) + Value <- LENGTH(Text) + ENDPROCEDURE + PUBLIC PROCEDURE Apply(X : INTEGER) + CALL this.Set(this.Get(X)) + ENDPROCEDURE +ENDCLASS +TYPE Holder + DECLARE Item : Meter +ENDTYPE +DECLARE Count : INTEGER +DECLARE Row : INTEGER +DECLARE A : INTEGER +DECLARE B : INTEGER +DECLARE Size : INTEGER +DECLARE Text : STRING +DECLARE I : INTEGER +DECLARE Total : INTEGER +INPUT Count +FOR Row <- 1 TO Count + INPUT A + INPUT B + INPUT Size + INPUT Text + DECLARE DefaultItem : Meter + DECLARE NumberItem : Meter(A) + DECLARE TextItem : Meter(Text) + DECLARE PairItem : Meter(A, B) + DECLARE Wrapped : Holder + DECLARE Items : ARRAY[1:Size] OF Meter + DECLARE ChangedNumber : Meter(A) + DECLARE ChangedText : Meter(Text) + DECLARE Rebuilt : Meter(A, B) + DECLARE HeapItem : Meter + Total <- 0 + FOR I <- 1 TO Size + Total <- Total + Items[I].Get() + NEXT I + HeapItem <- NEW Meter(A, B) + CALL ChangedNumber.Set(Text) + CALL ChangedText.Set(A) + CALL ChangedText.Apply(B) + CALL Rebuilt.NEW(Text) + OUTPUT DefaultItem.Get(), ":", NumberItem.Get(), ":", TextItem.Get(), ":", PairItem.Get(), ":", Wrapped.Item.Get(), ":", Total, ":", NumberItem.Get(B), ":", NumberItem.Get(B / 8), ":", NumberItem.Get(Text), ":", HeapItem.Get(), ":", ChangedNumber.Get(), ":", ChangedText.Get(), ":", Rebuilt.Get() + DELETE HeapItem +NEXT Row |
