anchor.diff:  interface
   
   uses
  +  System.Text,
     Xunit,
     RemObjects.Script;
   
   type
     ScriptTestConsole = class
     private
  +    var fStringBuffer: StringBuilder;
       //var     bag: Dictionary<System.Object, System.Object> := new Dictionary<System.Object, System.Object>();
   //
     //public
  
positive.code: 
      [Fact]
      method DatePropertyAcceptsNumber();
    end;
  
  
  
negative.code: end;
  
  
  method NetTypeConverter._ToString_IsCalledWhenScriptCalls_toString_();
  begin
    using engine := new EcmaScriptComponent() do begin
      engine.Include('test',
  "
  function testFunction(cc) {
      // Result should be the same!
      var ts0 = cc.toString();
      var ts1 = cc.ToString();
      cc.writeString(ts0);
      cc.writeString(ts1);
  }
  ");
      var lConsole: ScriptTestConsole := new ScriptTestConsole();
      engine.RunFunction('testFunction', lConsole);
  
      Assert.Equal<String>('Custom .ToString call result||Custom .ToString call result||', lConsole.GetStringBuffer());
    end;
  end;
  
  
  constructor ScriptTestConsole();
  begin
    self.fStringBuffer := new StringBuilder();
  end;
  
  
  method ScriptTestConsole.writeString(s: String);
  begin
    self.fStringBuffer.Append(s);
    self.fStringBuffer.Append('||');
  end;
  
  
  method ScriptTestConsole.GetStringBuffer(): String;
  begin
    exit self.fStringBuffer.ToString();
  end;
  
  
  method ScriptTestConsole.ToString(): String;
  begin
    exit 'Custom .ToString call result';
  end;
  
  
  //
  //method RemObjectsConsole.set_propDouble(value: System.Double); begin
    //Console.WriteLine('propDouble:{0}', value)
  