nicolas cellier uploaded a new version of Math-Number-ExtensionsTests to project Math-Number-Extensions: http://www.squeaksource.com/NumberExtensions/Math-Number-ExtensionsTests-nice.1.mcz ==================== Summary ==================== Name: Math-Number-ExtensionsTests-nice.1 Author: nice Time: 1 October 2019, 2:39:20.800496 pm UUID: 2b0539a9-3c49-a04e-9648-42f1db6e0809 Ancestors: Some tests for piSin and piCos mathematical functions ==================== Snapshot ==================== SystemOrganization addCategory: #'Math-Number-ExtensionsTests'! TestCase subclass: #MathNumberExtensionsTests instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Math-Number-ExtensionsTests'! ----- Method: MathNumberExtensionsTests>>assert:classAndValueEquals: (in category 'accessing') ----- assert: expected classAndValueEquals: actual self assert: expected equals: actual; assert: expected class equals: actual class.! ----- Method: MathNumberExtensionsTests>>assert:equals:withinUlp: (in category 'accessing') ----- assert: expected equals: actual withinUlp: maxUlp self assert: (expected - actual) abs <= (maxUlp * expected ulp)! ----- Method: MathNumberExtensionsTests>>testPiCosForHalfIntegers (in category 'tests') ----- testPiCosForHalfIntegers -9 to: 9 by: 2 do: [:i | self assert: 0 classAndValueEquals: (i/2) piCos]! ----- Method: MathNumberExtensionsTests>>testPiCosForHugeFloat (in category 'tests') ----- testPiCosForHugeFloat self assert: 1 equals: Float fmax piCos. self assert: 1 equals: Float fmax negated piCos.! ----- Method: MathNumberExtensionsTests>>testPiCosForInfinities (in category 'tests') ----- testPiCosForInfinities self assert: (Float infinity) piCos isNaN. self assert: (Float infinity negated) piCos isNaN! ----- Method: MathNumberExtensionsTests>>testPiCosForIntegers (in category 'tests') ----- testPiCosForIntegers self assert: 1 classAndValueEquals: -2 piCos. self assert: -1 classAndValueEquals: -1 piCos. self assert: 1 classAndValueEquals: 0 piCos. self assert: -1 classAndValueEquals: 1 piCos. self assert: 1 classAndValueEquals: 2 piCos. self assert: -1 classAndValueEquals: 3 piCos.! ----- Method: MathNumberExtensionsTests>>testPiCosForNan (in category 'tests') ----- testPiCosForNan self assert: (Float nan) piCos isNaN! ----- Method: MathNumberExtensionsTests>>testPiSinCosKnownIdentities (in category 'tests') ----- testPiSinCosKnownIdentities self assert: 2 sqrt / 2 equals: (1/4) piCos withinUlp: 1. self assert: 2 sqrt / -2 equals: (3/4) piCos withinUlp: 1. self assert: 2 sqrt / 2 equals: (-1/4) piCos withinUlp: 1. self assert: 2 sqrt / -2 equals: (-3/4) piCos withinUlp: 1. self assert: 2 sqrt / 2 equals: (1/4) piSin withinUlp: 1. self assert: 2 sqrt / 2 equals: (3/4) piSin withinUlp: 1. self assert: 2 sqrt / -2 equals: (-1/4) piSin withinUlp: 1. self assert: 2 sqrt / -2 equals: (-3/4) piSin withinUlp: 1. self assert: 1/2 classAndValueEquals: (1/3) piCos. self assert: -1/2 classAndValueEquals: (2/3) piCos. self assert: 1/2 classAndValueEquals: (-1/3) piCos. self assert: -1/2 classAndValueEquals: (-2/3) piCos. self assert: 1/2 classAndValueEquals: (1/6) piSin. self assert: 1/2 classAndValueEquals: (5/6) piSin. self assert: -1/2 classAndValueEquals: (-1/6) piSin. self assert: -1/2 classAndValueEquals: (-5/6) piSin. self assert: 3 sqrt / 2 equals: (1/3) piSin withinUlp: 1. self assert: 3 sqrt / 2 equals: (2/3) piSin withinUlp: 1. self assert: 3 sqrt / -2 equals: (-1/3) piSin withinUlp: 1. self assert: 3 sqrt / -2 equals: (-2/3) piSin withinUlp: 1. self assert: 3 sqrt / 2 equals: (1/6) piCos withinUlp: 1. self assert: 3 sqrt / -2 equals: (5/6) piCos withinUlp: 1. self assert: 3 sqrt / 2 equals: (-1/6) piCos withinUlp: 1. self assert: 3 sqrt / -2 equals: (-5/6) piCos withinUlp: 1.! ----- Method: MathNumberExtensionsTests>>testPiSinForHalfIntegers (in category 'tests') ----- testPiSinForHalfIntegers self assert: 1 classAndValueEquals: (-3/2) piSin. self assert: -1 classAndValueEquals: (-1/2) piSin. self assert: 1 classAndValueEquals: (1/2) piSin. self assert: -1 classAndValueEquals: (3/2) piSin. self assert: 1 classAndValueEquals: (5/2) piSin.! ----- Method: MathNumberExtensionsTests>>testPiSinForHugeFloat (in category 'tests') ----- testPiSinForHugeFloat self assert: 0 equals: Float fmax piSin. self assert: 0 equals: Float fmax negated piSin.! ----- Method: MathNumberExtensionsTests>>testPiSinForInfinities (in category 'tests') ----- testPiSinForInfinities self assert: (Float infinity) piSin isNaN. self assert: (Float infinity negated) piSin isNaN! ----- Method: MathNumberExtensionsTests>>testPiSinForIntegers (in category 'tests') ----- testPiSinForIntegers -10 to: 10 do: [:i | self assert: 0 classAndValueEquals: i piSin]! ----- Method: MathNumberExtensionsTests>>testPiSinForNan (in category 'tests') ----- testPiSinForNan self assert: (Float nan) piSin isNaN!