home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / programming / gnusmalltalk / contrib / pointtst.st < prev    next >
Text File  |  1992-02-15  |  2KB  |  95 lines

  1. "===========================================================================
  2. | testing script for basic Point class primitives
  3. | tests the basic primitives to verify that they work
  4. | the test isn't exhaustive so there could be errors that do not show up
  5.  ==========================================================================="
  6.  
  7. "Creation methods and printing"
  8. | p1 p2 |
  9.   p1 _ Point x: 123 y: 456.
  10.   p2 _ 123@456.
  11.   'p1 = ' print.
  12.   p1 printNl.
  13.   'p2 = ' print.
  14.   p2 printNl!
  15.  
  16. "accessing"
  17.  
  18. | p |
  19.   p _ 123@456.
  20.   '(p x) = ' print.
  21.   (p x) printNl.
  22.   '(p y) = ' print.
  23.   (p y) printNl.
  24.   p x: 321.
  25.   'p = ' print.
  26.   p printNl.
  27.   p y: 654.
  28.   'p = ' print.
  29.   p printNl!
  30.  
  31. "comparing"
  32. | A B C |
  33.   A _ 45@230.
  34.   B _ 175@270.
  35.   C _ 175@200.
  36.   'A < B = ' print.
  37.   (A < B) printNl.
  38.   'A < C = ' print.
  39.   (A < C) printNl.
  40.   'A > C = ' print.
  41.   (A > C) printNl.
  42.   'B > A = ' print.
  43.   (B > A) printNl.
  44.   'A max: B = ' print.
  45.   (A max: B) printNl.
  46.   'A min: B = ' print.
  47.   (A min: B) printNl!
  48.  
  49. "arithmetic"
  50.  
  51. | A B C D|
  52.   A _ 45@230.
  53.   B _ 175@300.
  54.   C _ 50@50.
  55.   D _ 160@240.
  56.   'A + B = ' print.
  57.   (A + B) printNl.
  58.   'A + 175 = ' print.
  59.   (A + 175) printNl.
  60.   'A - B = ' print.
  61.   (A - B) printNl.
  62.   'D / 50 = ' print.
  63.   (D / 50) printNl.
  64.   'D // 50 = ' print.
  65.   (D // 50) printNl.
  66.   'D // C = ' print.
  67.   (D // C) printNl.
  68.   '(A - B) abs = ' print.
  69.   ((A - B) abs) printNl.
  70.   '120.5@220.7 rounded = ' print.
  71.   ((120.5@220.7) rounded) printNl.
  72.   'D truncateTo: 50 = ' print.
  73.   (D truncateTo: 50) printNl!
  74.  
  75. "point functions"
  76.  
  77. | A B C D |
  78.   A _ 45@230.
  79.   B _ 175@270.
  80.   C _ 160@240.
  81.   D _ 50@50.
  82.   'A dist: B = ' print.
  83.   (A dist: B) printNl.
  84.   'C dotProduct: D = ' print.
  85.   (C dotProduct: D) printNl.
  86.   'C grid: D = ' print.
  87.   (C grid: D) printNl.
  88.   'C normal = ' print.
  89.   (C normal) printNl.
  90.   'C truncatedGrid: D = ' print.
  91.   (C truncatedGrid: D) printNl.
  92.   '175@300 transpose = ' print.
  93.   ((175@300) transpose) printNl!
  94.  
  95.