{$MODE OBJFPC} { -*- delphi -*- } {$INCLUDE settings.inc} program test_dynasties; uses storable, dummygame, techtree, actors, dynasties; var TestNumber: Cardinal = 0; procedure Test(const Expression: Boolean); begin Inc(TestNumber); if (not Expression) then begin Writeln('Failed test ', TestNumber , '.'); Assert(False); Halt(1); end; end; procedure RoundTripCredentials(); var Tech: TTechnologyTreeManager; Dynasty: TDynasty; DummyGame: TDummyGame; begin Tech := TTechnologyTreeManager.Create('tests/simpletech.tt'); DummyGame := TDummyGame.Create(Tech); TActor.Game := DummyGame; Dynasty := TDynasty.Create('Joe', 'plumb3r'); StoreObjectToFile('tests/test.$$$', Dynasty, 1); Dynasty.Free(); Dynasty := ReadObjectFromFile('tests/test.$$$') as TDynasty; Test(Dynasty.Name = 'Joe'); Test(not Dynasty.Authenticate('plumb3r ')); Test(Dynasty.Authenticate('plumb3r')); Dynasty.Free(); DummyGame.Free(); Tech.Free(); end; begin RoundTripCredentials(); { procedure ChangePassword(var Message: TMessage); message 'change-password'; procedure SendDynastyDetails(Stream: TStringStreamWriter); override; procedure Adopt(Actor: TAbstractActor); override; deprecated 'The ownership mechanism here needs to be thought through'; } end.