33 self assert: (1/3) degreeSin printString = '0.005817731354993834' |
35 self assert: (1/3) degreeSin printString = '0.005817731354993834' |
34 ] |
36 ] |
35 ! |
37 ! |
36 |
38 |
37 testFractionPrinting |
39 testFractionPrinting |
38 self assert: (353/359) printString = '(353/359)'. |
40 self assert: (353 / 359) printString = '(353/359)'. |
39 |
41 |
40 self assert: (-2/3) printString = '(-2/3)'. |
42 self assert: (-2 / 3) printString = '(-2/3)'. |
41 self assert: (-2/3) storeString = '(-2/3)'. |
43 self assert: (-2 / 3) storeString = '(-2/3)'. |
42 self assert: (5/-7) printString = '(-5/7)'. |
44 self assert: (5 / -7) printString = '(-5/7)'. |
43 self assert: (5/-7) storeString = '(-5/7)'. |
45 self assert: (5 / -7) storeString = '(-5/7)'. |
44 |
46 |
45 Smalltalk isSmalltalkX ifFalse:[ |
47 Smalltalk isSmalltalkX ifFalse:[ |
46 self assert: ((2/3) printStringBase: 2) = '(10/11)'. |
48 self assert: ((2/3) printStringBase: 2) = '(10/11)'. |
47 self assert: ((2/3) storeStringBase: 2) = '(2r10/2r11)'. |
49 self assert: ((2/3) storeStringBase: 2) = '(2r10/2r11)'. |
48 self assert: ((5/7) printStringBase: 3) = '(12/21)'. |
50 self assert: ((5/7) printStringBase: 3) = '(12/21)'. |
49 self assert: ((5/7) storeStringBase: 3) = '(3r12/3r21)'. |
51 self assert: ((5/7) storeStringBase: 3) = '(3r12/3r21)'. |
50 self assert: ((11/13) printStringBase: 4) = '(23/31)'. |
52 self assert: ((11/13) printStringBase: 4) = '(23/31)'. |
51 self assert: ((11/13) storeStringBase: 4) = '(4r23/4r31)'. |
53 self assert: ((11/13) storeStringBase: 4) = '(4r23/4r31)'. |
52 self assert: ((17/19) printStringBase: 5) = '(32/34)'. |
54 self assert: ((17/19) printStringBase: 5) = '(32/34)'. |
53 self assert: ((17/19) storeStringBase: 5) = '(5r32/5r34)'. |
55 self assert: ((17/19) storeStringBase: 5) = '(5r32/5r34)'. |
54 self assert: ((23/29) printStringBase: 6) = '(35/45)'. |
56 self assert: ((23/29) printStringBase: 6) = '(35/45)'. |
55 self assert: ((23/29) storeStringBase: 6) = '(6r35/6r45)'. |
57 self assert: ((23/29) storeStringBase: 6) = '(6r35/6r45)'. |
56 self assert: ((31/37) printStringBase: 7) = '(43/52)'. |
58 self assert: ((31/37) printStringBase: 7) = '(43/52)'. |
57 self assert: ((31/37) storeStringBase: 7) = '(7r43/7r52)'. |
59 self assert: ((31/37) storeStringBase: 7) = '(7r43/7r52)'. |
58 self assert: ((41/43) printStringBase: 8) = '(51/53)'. |
60 self assert: ((41/43) printStringBase: 8) = '(51/53)'. |
59 self assert: ((41/43) storeStringBase: 8) = '(8r51/8r53)'. |
61 self assert: ((41/43) storeStringBase: 8) = '(8r51/8r53)'. |
60 self assert: ((47/53) printStringBase: 9) = '(52/58)'. |
62 self assert: ((47/53) printStringBase: 9) = '(52/58)'. |
61 self assert: ((47/53) storeStringBase: 9) = '(9r52/9r58)'. |
63 self assert: ((47/53) storeStringBase: 9) = '(9r52/9r58)'. |
62 self assert: ((59/61) printStringBase: 10) = '(59/61)'. |
64 self assert: ((59/61) printStringBase: 10) = '(59/61)'. |
63 self assert: ((59/61) storeStringBase: 10) = '(59/61)'. |
65 self assert: ((59/61) storeStringBase: 10) = '(59/61)'. |
64 self assert: ((67/71) printStringBase: 11) = '(61/65)'. |
66 self assert: ((67/71) printStringBase: 11) = '(61/65)'. |
65 self assert: ((67/71) storeStringBase: 11) = '(11r61/11r65)'. |
67 self assert: ((67/71) storeStringBase: 11) = '(11r61/11r65)'. |
66 self assert: ((73/79) printStringBase: 12) = '(61/67)'. |
68 self assert: ((73/79) printStringBase: 12) = '(61/67)'. |
67 self assert: ((73/79) storeStringBase: 12) = '(12r61/12r67)'. |
69 self assert: ((73/79) storeStringBase: 12) = '(12r61/12r67)'. |
68 self assert: ((83/89) printStringBase: 13) = '(65/6B)'. |
70 self assert: ((83/89) printStringBase: 13) = '(65/6B)'. |
69 self assert: ((83/89) storeStringBase: 13) = '(13r65/13r6B)'. |
71 self assert: ((83/89) storeStringBase: 13) = '(13r65/13r6B)'. |
70 self assert: ((97/101) printStringBase: 14) = '(6D/73)'. |
72 self assert: ((97/101) printStringBase: 14) = '(6D/73)'. |
71 self assert: ((97/101) storeStringBase: 14) = '(14r6D/14r73)'. |
73 self assert: ((97/101) storeStringBase: 14) = '(14r6D/14r73)'. |
72 self assert: ((103/107) printStringBase: 15) = '(6D/72)'. |
74 self assert: ((103/107) printStringBase: 15) = '(6D/72)'. |
73 self assert: ((103/107) storeStringBase: 15) = '(15r6D/15r72)'. |
75 self assert: ((103/107) storeStringBase: 15) = '(15r6D/15r72)'. |
74 self assert: ((109/113) printStringBase: 16) = '(6D/71)'. |
76 self assert: ((109/113) printStringBase: 16) = '(6D/71)'. |
75 self assert: ((109/113) storeStringBase: 16) = '(16r6D/16r71)'. |
77 self assert: ((109/113) storeStringBase: 16) = '(16r6D/16r71)'. |
76 self assert: ((127/131) printStringBase: 17) = '(78/7C)'. |
78 self assert: ((127/131) printStringBase: 17) = '(78/7C)'. |
77 self assert: ((127/131) storeStringBase: 17) = '(17r78/17r7C)'. |
79 self assert: ((127/131) storeStringBase: 17) = '(17r78/17r7C)'. |
78 self assert: ((137/139) printStringBase: 18) = '(7B/7D)'. |
80 self assert: ((137/139) printStringBase: 18) = '(7B/7D)'. |
79 self assert: ((137/139) storeStringBase: 18) = '(18r7B/18r7D)'. |
81 self assert: ((137/139) storeStringBase: 18) = '(18r7B/18r7D)'. |
80 self assert: ((149/151) printStringBase: 19) = '(7G/7I)'. |
82 self assert: ((149/151) printStringBase: 19) = '(7G/7I)'. |
81 self assert: ((149/151) storeStringBase: 19) = '(19r7G/19r7I)'. |
83 self assert: ((149/151) storeStringBase: 19) = '(19r7G/19r7I)'. |
82 self assert: ((157/163) printStringBase: 20) = '(7H/83)'. |
84 self assert: ((157/163) printStringBase: 20) = '(7H/83)'. |
83 self assert: ((157/163) storeStringBase: 20) = '(20r7H/20r83)'. |
85 self assert: ((157/163) storeStringBase: 20) = '(20r7H/20r83)'. |
84 self assert: ((167/173) printStringBase: 21) = '(7K/85)'. |
86 self assert: ((167/173) printStringBase: 21) = '(7K/85)'. |
85 self assert: ((167/173) storeStringBase: 21) = '(21r7K/21r85)'. |
87 self assert: ((167/173) storeStringBase: 21) = '(21r7K/21r85)'. |
86 self assert: ((179/181) printStringBase: 22) = '(83/85)'. |
88 self assert: ((179/181) printStringBase: 22) = '(83/85)'. |
87 self assert: ((179/181) storeStringBase: 22) = '(22r83/22r85)'. |
89 self assert: ((179/181) storeStringBase: 22) = '(22r83/22r85)'. |
88 self assert: ((191/193) printStringBase: 23) = '(87/89)'. |
90 self assert: ((191/193) printStringBase: 23) = '(87/89)'. |
89 self assert: ((191/193) storeStringBase: 23) = '(23r87/23r89)'. |
91 self assert: ((191/193) storeStringBase: 23) = '(23r87/23r89)'. |
90 self assert: ((197/199) printStringBase: 24) = '(85/87)'. |
92 self assert: ((197/199) printStringBase: 24) = '(85/87)'. |
91 self assert: ((197/199) storeStringBase: 24) = '(24r85/24r87)'. |
93 self assert: ((197/199) storeStringBase: 24) = '(24r85/24r87)'. |
92 self assert: ((211/223) printStringBase: 25) = '(8B/8N)'. |
94 self assert: ((211/223) printStringBase: 25) = '(8B/8N)'. |
93 self assert: ((211/223) storeStringBase: 25) = '(25r8B/25r8N)'. |
95 self assert: ((211/223) storeStringBase: 25) = '(25r8B/25r8N)'. |
94 self assert: ((227/229) printStringBase: 26) = '(8J/8L)'. |
96 self assert: ((227/229) printStringBase: 26) = '(8J/8L)'. |
95 self assert: ((227/229) storeStringBase: 26) = '(26r8J/26r8L)'. |
97 self assert: ((227/229) storeStringBase: 26) = '(26r8J/26r8L)'. |
96 self assert: ((233/239) printStringBase: 27) = '(8H/8N)'. |
98 self assert: ((233/239) printStringBase: 27) = '(8H/8N)'. |
97 self assert: ((233/239) storeStringBase: 27) = '(27r8H/27r8N)'. |
99 self assert: ((233/239) storeStringBase: 27) = '(27r8H/27r8N)'. |
98 self assert: ((241/251) printStringBase: 28) = '(8H/8R)'. |
100 self assert: ((241/251) printStringBase: 28) = '(8H/8R)'. |
99 self assert: ((241/251) storeStringBase: 28) = '(28r8H/28r8R)'. |
101 self assert: ((241/251) storeStringBase: 28) = '(28r8H/28r8R)'. |
100 self assert: ((257/263) printStringBase: 29) = '(8P/92)'. |
102 self assert: ((257/263) printStringBase: 29) = '(8P/92)'. |
101 self assert: ((257/263) storeStringBase: 29) = '(29r8P/29r92)'. |
103 self assert: ((257/263) storeStringBase: 29) = '(29r8P/29r92)'. |
102 self assert: ((269/271) printStringBase: 30) = '(8T/91)'. |
104 self assert: ((269/271) printStringBase: 30) = '(8T/91)'. |
103 self assert: ((269/271) storeStringBase: 30) = '(30r8T/30r91)'. |
105 self assert: ((269/271) storeStringBase: 30) = '(30r8T/30r91)'. |
104 self assert: ((277/281) printStringBase: 31) = '(8T/92)'. |
106 self assert: ((277/281) printStringBase: 31) = '(8T/92)'. |
105 self assert: ((277/281) storeStringBase: 31) = '(31r8T/31r92)'. |
107 self assert: ((277/281) storeStringBase: 31) = '(31r8T/31r92)'. |
106 self assert: ((283/293) printStringBase: 32) = '(8R/95)'. |
108 self assert: ((283/293) printStringBase: 32) = '(8R/95)'. |
107 self assert: ((283/293) storeStringBase: 32) = '(32r8R/32r95)'. |
109 self assert: ((283/293) storeStringBase: 32) = '(32r8R/32r95)'. |
108 self assert: ((307/311) printStringBase: 33) = '(9A/9E)'. |
110 self assert: ((307/311) printStringBase: 33) = '(9A/9E)'. |
109 self assert: ((307/311) storeStringBase: 33) = '(33r9A/33r9E)'. |
111 self assert: ((307/311) storeStringBase: 33) = '(33r9A/33r9E)'. |
110 self assert: ((313/317) printStringBase: 34) = '(97/9B)'. |
112 self assert: ((313/317) printStringBase: 34) = '(97/9B)'. |
111 self assert: ((313/317) storeStringBase: 34) = '(34r97/34r9B)'. |
113 self assert: ((313/317) storeStringBase: 34) = '(34r97/34r9B)'. |
112 self assert: ((331/337) printStringBase: 35) = '(9G/9M)'. |
114 self assert: ((331/337) printStringBase: 35) = '(9G/9M)'. |
113 self assert: ((331/337) storeStringBase: 35) = '(35r9G/35r9M)'. |
115 self assert: ((331/337) storeStringBase: 35) = '(35r9G/35r9M)'. |
114 self assert: ((347/349) printStringBase: 36) = '(9N/9P)'. |
116 self assert: ((347/349) printStringBase: 36) = '(9N/9P)'. |
115 self assert: ((347/349) storeStringBase: 36) = '(36r9N/36r9P)'. |
117 self assert: ((347/349) storeStringBase: 36) = '(36r9N/36r9P)'. |
116 |
118 |
117 self assert: ((-2/3) printStringBase: 2) = '(-10/11)'. |
119 self assert: ((-2/3) printStringBase: 2) = '(-10/11)'. |
118 self assert: ((-2/3) storeStringBase: 2) = '(-2r10/2r11)'. |
120 self assert: ((-2/3) storeStringBase: 2) = '(-2r10/2r11)'. |
119 self assert: ((5/-7) printStringBase: 3) = '(-12/21)'. |
121 self assert: ((5/-7) printStringBase: 3) = '(-12/21)'. |
120 self assert: ((5/-7) storeStringBase: 3) = '(-3r12/3r21)'. |
122 self assert: ((5/-7) storeStringBase: 3) = '(-3r12/3r21)'. |
121 ]. |
123 ]. |
122 ! |
124 ! |
123 |
125 |
124 testFractionReduction |
126 testFractionReduction |
125 self assert: (100 factorial / 99 factorial) == 100. |
127 self assert: (100 factorial / 99 factorial) == 100. |
126 ! |
128 ! |