| 
									
										
										
										
											2009-08-12 00:07:13 -04:00
										 |  |  | USING: descriptive kernel math tools.test continuations prettyprint io.streams.string see | 
					
						
							|  |  |  | math.ratios ;
 | 
					
						
							| 
									
										
										
										
											2008-05-10 17:05:20 -04:00
										 |  |  | IN: descriptive.tests | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DESCRIPTIVE: divide ( num denom -- fraction ) / ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ 3 ] [ 9 3 divide ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-12 00:07:13 -04:00
										 |  |  | [ | 
					
						
							|  |  |  |     T{ descriptive-error f
 | 
					
						
							|  |  |  |         { { "num" 3 } { "denom" 0 } } | 
					
						
							|  |  |  |         T{ division-by-zero f 3 } | 
					
						
							|  |  |  |         divide | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | ] [ | 
					
						
							|  |  |  |     [ 3 0 divide ] [ ] recover
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ "USING: descriptive math ;\nIN: descriptive.tests\nDESCRIPTIVE: divide ( num denom -- fraction ) / ;\n" ] | 
					
						
							|  |  |  | [ \ divide [ see ] with-string-writer ] unit-test | 
					
						
							| 
									
										
										
										
											2008-05-10 17:05:20 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | DESCRIPTIVE:: divide* ( num denom -- fraction ) num denom / ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ 3 ] [ 9 3 divide* ] unit-test | 
					
						
							| 
									
										
										
										
											2009-08-12 00:07:13 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ | 
					
						
							|  |  |  |     T{ descriptive-error f
 | 
					
						
							|  |  |  |         { { "num" 3 } { "denom" 0 } } | 
					
						
							|  |  |  |         T{ division-by-zero f 3 } | 
					
						
							|  |  |  |         divide* | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | ] [ [ 3 0 divide* ] [ ] recover ] unit-test | 
					
						
							| 
									
										
										
										
											2008-05-10 17:05:20 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ "USING: descriptive math ;\nIN: descriptive.tests\nDESCRIPTIVE:: divide* ( num denom -- fraction ) num denom / ;\n" ] [ \ divide* [ see ] with-string-writer ] unit-test |