36 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Modula-2
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Modula-2
		
	
	
	
	
	
MODULE ConvTest;
 | 
						|
FROM Conversions IMPORT
 | 
						|
  ConvertOctal, ConvertHex, ConvertCardinal, ConvertInteger;
 | 
						|
FROM Strings IMPORT CompareStr;
 | 
						|
FROM Test IMPORT fail, finished;
 | 
						|
 | 
						|
(* Asserts a = b, or fails with code. *)
 | 
						|
PROCEDURE A(a, b: ARRAY OF CHAR; code: INTEGER);
 | 
						|
BEGIN
 | 
						|
  IF (CompareStr(a, b) # 0) OR (CompareStr(a, "wrong string") = 0) THEN
 | 
						|
    fail(code)
 | 
						|
  END
 | 
						|
END A;
 | 
						|
 | 
						|
VAR
 | 
						|
  str: ARRAY [0..15] OF CHAR;
 | 
						|
BEGIN
 | 
						|
  ConvertOctal(  9, 6, str); A("    11", str, 1);
 | 
						|
  ConvertOctal( 59, 6, str); A("    73", str, 2);
 | 
						|
  ConvertOctal(278, 6, str); A("   426", str, 3);
 | 
						|
 | 
						|
  ConvertHex(  9, 6, str); A("     9", str, 11H);
 | 
						|
  ConvertHex( 59, 6, str); A("    3B", str, 12H);
 | 
						|
  ConvertHex(278, 6, str); A("   116", str, 13H);
 | 
						|
 | 
						|
  ConvertCardinal(  9, 6, str); A("     9", str, 21H);
 | 
						|
  ConvertCardinal( 59, 6, str); A("    59", str, 22H);
 | 
						|
  ConvertCardinal(278, 6, str); A("   278", str, 23H);
 | 
						|
 | 
						|
  ConvertInteger(   9, 6, str); A("     9", str, 31H);
 | 
						|
  ConvertInteger(  59, 6, str); A("    59", str, 32H);
 | 
						|
  ConvertInteger( 278, 6, str); A("   278", str, 33H);
 | 
						|
  ConvertInteger(-424, 6, str); A("  -424", str, 34H);
 | 
						|
 | 
						|
  finished;
 | 
						|
END ConvTest.
 |