diff --git a/tests/test/terecs6.pp b/tests/test/terecs6.pp
index f0a5551612..5a7b8c9aa3 100644
--- a/tests/test/terecs6.pp
+++ b/tests/test/terecs6.pp
@@ -34,6 +34,8 @@ type
     class operator BitwiseXor(a, b: TFoo): TFoo;
     class operator Inc(a: TFoo): TFoo;
     class operator Dec(a: TFoo): TFoo;
+    class operator Negative(a: TFoo): TFoo;
+    class operator Positive(a: TFoo): TFoo;
  end;
 
 class operator TFoo.Explicit(a: TFoo): Integer;
@@ -167,6 +169,17 @@ begin
   Result.F := a.F - 1;
 end;
 
+class operator TFoo.Negative(a: TFoo): TFoo;
+begin
+  Result.F := -a.F;
+end;
+
+class operator TFoo.Positive(a: TFoo): TFoo;
+begin
+  // to check that operator is called change the result value
+  Result.F := a.F+1;
+end;
+
 var
   a, b: TFoo;
   i: integer;
@@ -232,5 +245,11 @@ begin
     halt(26);
   if Integer(b) <> 2 then
     halt(27);
+  b := -b;
+  if b.F <> -1 then
+    halt(28);
+  b := +b;
+  if b.F <> 0 then
+    halt(29);
   WriteLn('ok');
 end.