anchor.diff:  interface
   
   uses
  -  Classes, SysUtils, Variants,
  +  Classes, SysUtils, Variants, DB, TypInfo,
     James.API,
     James.Testing.Clss;
   
  
positive.code: begin
    CheckEquals(
      TNullGuid.New.AsString,
    );
  end;
  
  initialization
    TTestSuite.New('Core.Data')
      .Add(TTest.New(TDataStreamTest))
      .Add(TTest.New(TDataGuidTest))
      ;
  
  
negative.code: 
  implementation
  
  { TDataParamsTest }
  
  procedure TDataParamsTest.Add;
  begin
    CheckEquals(
      10,
      TDataParams.New
        .Add('foo', ftSmallint, 10)
        .Get(0)
        .AsInteger
    );
  end;
  
  procedure TDataParamsTest.AddParam;
  var
    P: IDataParam;
  begin
    P := TDataParam.New('foo', 20);
    CheckEquals(
      P.AsInteger,
      TDataParams.New
        .Add(P)
        .Get(0)
        .AsInteger
    );
  end;
  
  procedure TDataParamsTest.AddParams;
  begin
    CheckEquals(
      5,
      TDataParams.New
        .Add(TDataParam.New('1', 1))
        .Add(TDataParam.New('2', 2))
        .Add(
          TDataParams.New
            .Add(TDataParam.New('3', 3))
            .Add(TDataParam.New('4', 4))
            .Add(TDataParam.New('5', 4))
        )
        .Count
    );
  end;
  
  procedure TDataParamsTest.GetByIndex;
  begin
    CheckEquals(
      2,
      TDataParams.New
        .Add(TDataParam.New('1', 1))
        .Add(TDataParam.New('2', 2))
        .Get(1)
        .AsInteger
    );
  end;
  
  procedure TDataParamsTest.GetByName;
  begin
    CheckEquals(
      33,
      TDataParams.New
        .Add(TDataParam.New('foo', 22))
        .Add(TDataParam.New('bar', 33))
        .Get('bar')
        .AsInteger
    );
  end;
  
  procedure TDataParamsTest.Count;
  begin
    CheckEquals(
      5,
      TDataParams.New
        .Add(TDataParam.New('1', 1))
        .Add(TDataParam.New('2', 2))
        .Add(TDataParam.New('3', 3))
        .Add(TDataParam.New('4', 4))
        .Add(TDataParam.New('5', 4))
        .Count
    );
  end;
  
  procedure TDataParamsTest.AsStringWithSeparator;
  begin
    CheckEquals(
      '1;2;3',
      TDataParams.New
        .Add(TDataParam.New('1', 1))
        .Add(TDataParam.New('2', 2))
        .Add(TDataParam.New('3', 3))
        .AsString(';')
    );
  end;
  
  