@vived/core 1.4.2 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +118 -20
- package/dist/cjs/AppObject/AppObject.js +53 -0
- package/dist/cjs/AppObject/AppObject.js.map +1 -1
- package/dist/cjs/AppObject/AppObjectComponent.js +78 -0
- package/dist/cjs/AppObject/AppObjectComponent.js.map +1 -1
- package/dist/cjs/AppObject/AppObjectController.js +22 -0
- package/dist/cjs/AppObject/AppObjectController.js.map +1 -1
- package/dist/cjs/AppObject/AppObjectEntity.js +52 -0
- package/dist/cjs/AppObject/AppObjectEntity.js.map +1 -1
- package/dist/cjs/AppObject/AppObjectEntityRepo.js +75 -1
- package/dist/cjs/AppObject/AppObjectEntityRepo.js.map +1 -1
- package/dist/cjs/AppObject/AppObjectPM.js +46 -0
- package/dist/cjs/AppObject/AppObjectPM.js.map +1 -1
- package/dist/cjs/AppObject/AppObjectRepo.js +20 -0
- package/dist/cjs/AppObject/AppObjectRepo.js.map +1 -1
- package/dist/cjs/AppObject/AppObjectUC.js +23 -0
- package/dist/cjs/AppObject/AppObjectUC.js.map +1 -1
- package/dist/cjs/AppObject/AppObjectView.js +22 -0
- package/dist/cjs/AppObject/AppObjectView.js.map +1 -1
- package/dist/cjs/AppObject/getSingletonComponent.js +19 -0
- package/dist/cjs/AppObject/getSingletonComponent.js.map +1 -1
- package/dist/cjs/Entities/MemoizedAngle.js +21 -0
- package/dist/cjs/Entities/MemoizedAngle.js.map +1 -1
- package/dist/cjs/Entities/MemoizedBoolean.js +21 -0
- package/dist/cjs/Entities/MemoizedBoolean.js.map +1 -1
- package/dist/cjs/Entities/MemoizedColor.js +21 -0
- package/dist/cjs/Entities/MemoizedColor.js.map +1 -1
- package/dist/cjs/Entities/MemoizedNumber.js +21 -0
- package/dist/cjs/Entities/MemoizedNumber.js.map +1 -1
- package/dist/cjs/Entities/MemoizedQuaternion.js +21 -0
- package/dist/cjs/Entities/MemoizedQuaternion.js.map +1 -1
- package/dist/cjs/Entities/MemoizedString.js +21 -0
- package/dist/cjs/Entities/MemoizedString.js.map +1 -1
- package/dist/cjs/Entities/MemoizedVector2.js +21 -0
- package/dist/cjs/Entities/MemoizedVector2.js.map +1 -1
- package/dist/cjs/Entities/MemoizedVector3.js +21 -0
- package/dist/cjs/Entities/MemoizedVector3.js.map +1 -1
- package/dist/cjs/Entities/ObservableEntity.js +17 -0
- package/dist/cjs/Entities/ObservableEntity.js.map +1 -1
- package/dist/cjs/Entities/ObserverList.js +21 -0
- package/dist/cjs/Entities/ObserverList.js.map +1 -1
- package/dist/cjs/Entities/RangedNumber.js +29 -0
- package/dist/cjs/Entities/RangedNumber.js.map +1 -1
- package/dist/cjs/Types/PmAdapter.js.map +1 -1
- package/dist/cjs/Types/SingletonPmAdapter.js.map +1 -1
- package/dist/cjs/ValueObjects/Angle.js +1 -1
- package/dist/cjs/ValueObjects/Angle.js.map +1 -1
- package/dist/cjs/ValueObjects/LineSegment2D.js +6 -6
- package/dist/cjs/ValueObjects/LineSegment2D.js.map +1 -1
- package/dist/cjs/ValueObjects/Matrix.js +6 -6
- package/dist/cjs/ValueObjects/Matrix.js.map +1 -1
- package/dist/cjs/ValueObjects/Quaternion.js +17 -17
- package/dist/cjs/ValueObjects/Quaternion.js.map +1 -1
- package/dist/cjs/ValueObjects/Vector2.js +15 -8
- package/dist/cjs/ValueObjects/Vector2.js.map +1 -1
- package/dist/esm/AppObject/AppObject.js +53 -0
- package/dist/esm/AppObject/AppObject.js.map +1 -1
- package/dist/esm/AppObject/AppObjectComponent.js +78 -0
- package/dist/esm/AppObject/AppObjectComponent.js.map +1 -1
- package/dist/esm/AppObject/AppObjectController.js +22 -0
- package/dist/esm/AppObject/AppObjectController.js.map +1 -1
- package/dist/esm/AppObject/AppObjectEntity.js +52 -0
- package/dist/esm/AppObject/AppObjectEntity.js.map +1 -1
- package/dist/esm/AppObject/AppObjectEntityRepo.js +75 -1
- package/dist/esm/AppObject/AppObjectEntityRepo.js.map +1 -1
- package/dist/esm/AppObject/AppObjectPM.js +46 -0
- package/dist/esm/AppObject/AppObjectPM.js.map +1 -1
- package/dist/esm/AppObject/AppObjectRepo.js +20 -0
- package/dist/esm/AppObject/AppObjectRepo.js.map +1 -1
- package/dist/esm/AppObject/AppObjectUC.js +24 -1
- package/dist/esm/AppObject/AppObjectUC.js.map +1 -1
- package/dist/esm/AppObject/AppObjectView.js +23 -1
- package/dist/esm/AppObject/AppObjectView.js.map +1 -1
- package/dist/esm/AppObject/getSingletonComponent.js +19 -0
- package/dist/esm/AppObject/getSingletonComponent.js.map +1 -1
- package/dist/esm/Entities/MemoizedAngle.js +21 -0
- package/dist/esm/Entities/MemoizedAngle.js.map +1 -1
- package/dist/esm/Entities/MemoizedBoolean.js +21 -0
- package/dist/esm/Entities/MemoizedBoolean.js.map +1 -1
- package/dist/esm/Entities/MemoizedColor.js +21 -0
- package/dist/esm/Entities/MemoizedColor.js.map +1 -1
- package/dist/esm/Entities/MemoizedNumber.js +21 -0
- package/dist/esm/Entities/MemoizedNumber.js.map +1 -1
- package/dist/esm/Entities/MemoizedQuaternion.js +21 -0
- package/dist/esm/Entities/MemoizedQuaternion.js.map +1 -1
- package/dist/esm/Entities/MemoizedString.js +21 -0
- package/dist/esm/Entities/MemoizedString.js.map +1 -1
- package/dist/esm/Entities/MemoizedVector2.js +21 -0
- package/dist/esm/Entities/MemoizedVector2.js.map +1 -1
- package/dist/esm/Entities/MemoizedVector3.js +21 -0
- package/dist/esm/Entities/MemoizedVector3.js.map +1 -1
- package/dist/esm/Entities/ObservableEntity.js +17 -0
- package/dist/esm/Entities/ObservableEntity.js.map +1 -1
- package/dist/esm/Entities/ObserverList.js +21 -0
- package/dist/esm/Entities/ObserverList.js.map +1 -1
- package/dist/esm/Entities/RangedNumber.js +29 -0
- package/dist/esm/Entities/RangedNumber.js.map +1 -1
- package/dist/esm/Types/PmAdapter.js.map +1 -1
- package/dist/esm/Types/SingletonPmAdapter.js.map +1 -1
- package/dist/esm/ValueObjects/Angle.js +1 -1
- package/dist/esm/ValueObjects/Angle.js.map +1 -1
- package/dist/esm/ValueObjects/LineSegment2D.js +6 -6
- package/dist/esm/ValueObjects/LineSegment2D.js.map +1 -1
- package/dist/esm/ValueObjects/Matrix.js +6 -6
- package/dist/esm/ValueObjects/Matrix.js.map +1 -1
- package/dist/esm/ValueObjects/Quaternion.js +17 -17
- package/dist/esm/ValueObjects/Quaternion.js.map +1 -1
- package/dist/esm/ValueObjects/Vector2.js +15 -8
- package/dist/esm/ValueObjects/Vector2.js.map +1 -1
- package/dist/types/AppObject/AppObject.d.ts +42 -0
- package/dist/types/AppObject/AppObject.d.ts.map +1 -1
- package/dist/types/AppObject/AppObjectComponent.d.ts +80 -0
- package/dist/types/AppObject/AppObjectComponent.d.ts.map +1 -1
- package/dist/types/AppObject/AppObjectController.d.ts +22 -0
- package/dist/types/AppObject/AppObjectController.d.ts.map +1 -1
- package/dist/types/AppObject/AppObjectEntity.d.ts +55 -0
- package/dist/types/AppObject/AppObjectEntity.d.ts.map +1 -1
- package/dist/types/AppObject/AppObjectEntityRepo.d.ts +75 -0
- package/dist/types/AppObject/AppObjectEntityRepo.d.ts.map +1 -1
- package/dist/types/AppObject/AppObjectPM.d.ts +53 -0
- package/dist/types/AppObject/AppObjectPM.d.ts.map +1 -1
- package/dist/types/AppObject/AppObjectRepo.d.ts +124 -0
- package/dist/types/AppObject/AppObjectRepo.d.ts.map +1 -1
- package/dist/types/AppObject/AppObjectUC.d.ts +23 -0
- package/dist/types/AppObject/AppObjectUC.d.ts.map +1 -1
- package/dist/types/AppObject/AppObjectView.d.ts +22 -0
- package/dist/types/AppObject/AppObjectView.d.ts.map +1 -1
- package/dist/types/AppObject/getSingletonComponent.d.ts +19 -0
- package/dist/types/AppObject/getSingletonComponent.d.ts.map +1 -1
- package/dist/types/Entities/MemoizedAngle.d.ts +21 -0
- package/dist/types/Entities/MemoizedAngle.d.ts.map +1 -1
- package/dist/types/Entities/MemoizedBoolean.d.ts +21 -0
- package/dist/types/Entities/MemoizedBoolean.d.ts.map +1 -1
- package/dist/types/Entities/MemoizedColor.d.ts +21 -0
- package/dist/types/Entities/MemoizedColor.d.ts.map +1 -1
- package/dist/types/Entities/MemoizedNumber.d.ts +21 -0
- package/dist/types/Entities/MemoizedNumber.d.ts.map +1 -1
- package/dist/types/Entities/MemoizedQuaternion.d.ts +21 -0
- package/dist/types/Entities/MemoizedQuaternion.d.ts.map +1 -1
- package/dist/types/Entities/MemoizedString.d.ts +21 -0
- package/dist/types/Entities/MemoizedString.d.ts.map +1 -1
- package/dist/types/Entities/MemoizedVector2.d.ts +21 -0
- package/dist/types/Entities/MemoizedVector2.d.ts.map +1 -1
- package/dist/types/Entities/MemoizedVector3.d.ts +21 -0
- package/dist/types/Entities/MemoizedVector3.d.ts.map +1 -1
- package/dist/types/Entities/ObservableEntity.d.ts +20 -0
- package/dist/types/Entities/ObservableEntity.d.ts.map +1 -1
- package/dist/types/Entities/ObserverList.d.ts +21 -0
- package/dist/types/Entities/ObserverList.d.ts.map +1 -1
- package/dist/types/Entities/RangedNumber.d.ts +37 -0
- package/dist/types/Entities/RangedNumber.d.ts.map +1 -1
- package/dist/types/Types/PmAdapter.d.ts +60 -0
- package/dist/types/Types/PmAdapter.d.ts.map +1 -1
- package/dist/types/Types/SingletonPmAdapter.d.ts +55 -0
- package/dist/types/Types/SingletonPmAdapter.d.ts.map +1 -1
- package/dist/types/ValueObjects/Angle.d.ts +1 -1
- package/dist/types/ValueObjects/Matrix.d.ts +5 -5
- package/dist/types/ValueObjects/Matrix.d.ts.map +1 -1
- package/dist/types/ValueObjects/Quaternion.d.ts +17 -17
- package/dist/types/ValueObjects/Vector2.d.ts +8 -3
- package/dist/types/ValueObjects/Vector2.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/AppObject/AppObject.test.js +0 -113
- package/dist/cjs/AppObject/AppObject.test.js.map +0 -1
- package/dist/cjs/AppObject/AppObjectComponent.test.js +0 -132
- package/dist/cjs/AppObject/AppObjectComponent.test.js.map +0 -1
- package/dist/cjs/AppObject/AppObjectEntity.test.js +0 -108
- package/dist/cjs/AppObject/AppObjectEntity.test.js.map +0 -1
- package/dist/cjs/AppObject/AppObjectEntityRepo.test.js +0 -149
- package/dist/cjs/AppObject/AppObjectEntityRepo.test.js.map +0 -1
- package/dist/cjs/AppObject/AppObjectPM.test.js +0 -103
- package/dist/cjs/AppObject/AppObjectPM.test.js.map +0 -1
- package/dist/cjs/AppObject/AppObjectRepo.test.js +0 -213
- package/dist/cjs/AppObject/AppObjectRepo.test.js.map +0 -1
- package/dist/cjs/AppObject/getSingletonComponent.test.js +0 -13
- package/dist/cjs/AppObject/getSingletonComponent.test.js.map +0 -1
- package/dist/cjs/Entities/MemoizedAngle.test.js +0 -30
- package/dist/cjs/Entities/MemoizedAngle.test.js.map +0 -1
- package/dist/cjs/Entities/MemoizedBoolean.test.js +0 -34
- package/dist/cjs/Entities/MemoizedBoolean.test.js.map +0 -1
- package/dist/cjs/Entities/MemoizedColor.test.js +0 -32
- package/dist/cjs/Entities/MemoizedColor.test.js.map +0 -1
- package/dist/cjs/Entities/MemoizedNumber.test.js +0 -29
- package/dist/cjs/Entities/MemoizedNumber.test.js.map +0 -1
- package/dist/cjs/Entities/MemoizedQuaternion.test.js +0 -32
- package/dist/cjs/Entities/MemoizedQuaternion.test.js.map +0 -1
- package/dist/cjs/Entities/MemoizedString.test.js +0 -29
- package/dist/cjs/Entities/MemoizedString.test.js.map +0 -1
- package/dist/cjs/Entities/MemoizedVector2.test.js +0 -32
- package/dist/cjs/Entities/MemoizedVector2.test.js.map +0 -1
- package/dist/cjs/Entities/MemoizedVector3.test.js +0 -32
- package/dist/cjs/Entities/MemoizedVector3.test.js.map +0 -1
- package/dist/cjs/Entities/ObservableEntity.test.js +0 -25
- package/dist/cjs/Entities/ObservableEntity.test.js.map +0 -1
- package/dist/cjs/Entities/ObserverList.test.js +0 -44
- package/dist/cjs/Entities/ObserverList.test.js.map +0 -1
- package/dist/cjs/Entities/RangedNumber.test.js +0 -96
- package/dist/cjs/Entities/RangedNumber.test.js.map +0 -1
- package/dist/cjs/Utilities/LengthConverters.test.js +0 -24
- package/dist/cjs/Utilities/LengthConverters.test.js.map +0 -1
- package/dist/cjs/Utilities/LerpNumber.test.js +0 -90
- package/dist/cjs/Utilities/LerpNumber.test.js.map +0 -1
- package/dist/cjs/Utilities/addAlphaToHex.test.js +0 -34
- package/dist/cjs/Utilities/addAlphaToHex.test.js.map +0 -1
- package/dist/cjs/Utilities/alphaToHex.test.js +0 -75
- package/dist/cjs/Utilities/alphaToHex.test.js.map +0 -1
- package/dist/cjs/Utilities/degreesToRadians.test.js +0 -9
- package/dist/cjs/Utilities/degreesToRadians.test.js.map +0 -1
- package/dist/cjs/Utilities/easeFunctions.test.js +0 -209
- package/dist/cjs/Utilities/easeFunctions.test.js.map +0 -1
- package/dist/cjs/Utilities/interpolateNumber.test.js +0 -26
- package/dist/cjs/Utilities/interpolateNumber.test.js.map +0 -1
- package/dist/cjs/ValueObjects/Angle.test.js +0 -28
- package/dist/cjs/ValueObjects/Angle.test.js.map +0 -1
- package/dist/cjs/ValueObjects/Color.test.js +0 -147
- package/dist/cjs/ValueObjects/Color.test.js.map +0 -1
- package/dist/cjs/ValueObjects/LineSegment2D.test.js +0 -102
- package/dist/cjs/ValueObjects/LineSegment2D.test.js.map +0 -1
- package/dist/cjs/ValueObjects/Matrix.test.js +0 -385
- package/dist/cjs/ValueObjects/Matrix.test.js.map +0 -1
- package/dist/cjs/ValueObjects/ParametricLine.test.js +0 -126
- package/dist/cjs/ValueObjects/ParametricLine.test.js.map +0 -1
- package/dist/cjs/ValueObjects/ParametricPlane.test.js +0 -101
- package/dist/cjs/ValueObjects/ParametricPlane.test.js.map +0 -1
- package/dist/cjs/ValueObjects/Quaternion.test.js +0 -240
- package/dist/cjs/ValueObjects/Quaternion.test.js.map +0 -1
- package/dist/cjs/ValueObjects/Rectangle.test.js +0 -32
- package/dist/cjs/ValueObjects/Rectangle.test.js.map +0 -1
- package/dist/cjs/ValueObjects/Vector2.test.js +0 -136
- package/dist/cjs/ValueObjects/Vector2.test.js.map +0 -1
- package/dist/cjs/ValueObjects/Vector3.test.js +0 -188
- package/dist/cjs/ValueObjects/Vector3.test.js.map +0 -1
- package/dist/cjs/ValueObjects/Version.test.js +0 -310
- package/dist/cjs/ValueObjects/Version.test.js.map +0 -1
- package/dist/esm/AppObject/AppObject.test.js +0 -110
- package/dist/esm/AppObject/AppObject.test.js.map +0 -1
- package/dist/esm/AppObject/AppObjectComponent.test.js +0 -130
- package/dist/esm/AppObject/AppObjectComponent.test.js.map +0 -1
- package/dist/esm/AppObject/AppObjectEntity.test.js +0 -106
- package/dist/esm/AppObject/AppObjectEntity.test.js.map +0 -1
- package/dist/esm/AppObject/AppObjectEntityRepo.test.js +0 -147
- package/dist/esm/AppObject/AppObjectEntityRepo.test.js.map +0 -1
- package/dist/esm/AppObject/AppObjectPM.test.js +0 -101
- package/dist/esm/AppObject/AppObjectPM.test.js.map +0 -1
- package/dist/esm/AppObject/AppObjectRepo.test.js +0 -211
- package/dist/esm/AppObject/AppObjectRepo.test.js.map +0 -1
- package/dist/esm/AppObject/getSingletonComponent.test.js +0 -11
- package/dist/esm/AppObject/getSingletonComponent.test.js.map +0 -1
- package/dist/esm/Entities/MemoizedAngle.test.js +0 -28
- package/dist/esm/Entities/MemoizedAngle.test.js.map +0 -1
- package/dist/esm/Entities/MemoizedBoolean.test.js +0 -32
- package/dist/esm/Entities/MemoizedBoolean.test.js.map +0 -1
- package/dist/esm/Entities/MemoizedColor.test.js +0 -30
- package/dist/esm/Entities/MemoizedColor.test.js.map +0 -1
- package/dist/esm/Entities/MemoizedNumber.test.js +0 -27
- package/dist/esm/Entities/MemoizedNumber.test.js.map +0 -1
- package/dist/esm/Entities/MemoizedQuaternion.test.js +0 -30
- package/dist/esm/Entities/MemoizedQuaternion.test.js.map +0 -1
- package/dist/esm/Entities/MemoizedString.test.js +0 -27
- package/dist/esm/Entities/MemoizedString.test.js.map +0 -1
- package/dist/esm/Entities/MemoizedVector2.test.js +0 -30
- package/dist/esm/Entities/MemoizedVector2.test.js.map +0 -1
- package/dist/esm/Entities/MemoizedVector3.test.js +0 -30
- package/dist/esm/Entities/MemoizedVector3.test.js.map +0 -1
- package/dist/esm/Entities/ObservableEntity.test.js +0 -23
- package/dist/esm/Entities/ObservableEntity.test.js.map +0 -1
- package/dist/esm/Entities/ObserverList.test.js +0 -42
- package/dist/esm/Entities/ObserverList.test.js.map +0 -1
- package/dist/esm/Entities/RangedNumber.test.js +0 -94
- package/dist/esm/Entities/RangedNumber.test.js.map +0 -1
- package/dist/esm/Utilities/LengthConverters.test.js +0 -22
- package/dist/esm/Utilities/LengthConverters.test.js.map +0 -1
- package/dist/esm/Utilities/LerpNumber.test.js +0 -88
- package/dist/esm/Utilities/LerpNumber.test.js.map +0 -1
- package/dist/esm/Utilities/addAlphaToHex.test.js +0 -32
- package/dist/esm/Utilities/addAlphaToHex.test.js.map +0 -1
- package/dist/esm/Utilities/alphaToHex.test.js +0 -73
- package/dist/esm/Utilities/alphaToHex.test.js.map +0 -1
- package/dist/esm/Utilities/degreesToRadians.test.js +0 -7
- package/dist/esm/Utilities/degreesToRadians.test.js.map +0 -1
- package/dist/esm/Utilities/easeFunctions.test.js +0 -207
- package/dist/esm/Utilities/easeFunctions.test.js.map +0 -1
- package/dist/esm/Utilities/interpolateNumber.test.js +0 -24
- package/dist/esm/Utilities/interpolateNumber.test.js.map +0 -1
- package/dist/esm/ValueObjects/Angle.test.js +0 -26
- package/dist/esm/ValueObjects/Angle.test.js.map +0 -1
- package/dist/esm/ValueObjects/Color.test.js +0 -145
- package/dist/esm/ValueObjects/Color.test.js.map +0 -1
- package/dist/esm/ValueObjects/LineSegment2D.test.js +0 -100
- package/dist/esm/ValueObjects/LineSegment2D.test.js.map +0 -1
- package/dist/esm/ValueObjects/Matrix.test.js +0 -383
- package/dist/esm/ValueObjects/Matrix.test.js.map +0 -1
- package/dist/esm/ValueObjects/ParametricLine.test.js +0 -124
- package/dist/esm/ValueObjects/ParametricLine.test.js.map +0 -1
- package/dist/esm/ValueObjects/ParametricPlane.test.js +0 -99
- package/dist/esm/ValueObjects/ParametricPlane.test.js.map +0 -1
- package/dist/esm/ValueObjects/Quaternion.test.js +0 -238
- package/dist/esm/ValueObjects/Quaternion.test.js.map +0 -1
- package/dist/esm/ValueObjects/Rectangle.test.js +0 -30
- package/dist/esm/ValueObjects/Rectangle.test.js.map +0 -1
- package/dist/esm/ValueObjects/Vector2.test.js +0 -134
- package/dist/esm/ValueObjects/Vector2.test.js.map +0 -1
- package/dist/esm/ValueObjects/Vector3.test.js +0 -186
- package/dist/esm/ValueObjects/Vector3.test.js.map +0 -1
- package/dist/esm/ValueObjects/Version.test.js +0 -308
- package/dist/esm/ValueObjects/Version.test.js.map +0 -1
- package/dist/types/AppObject/AppObject.test.d.ts +0 -7
- package/dist/types/AppObject/AppObject.test.d.ts.map +0 -1
- package/dist/types/AppObject/AppObjectComponent.test.d.ts +0 -2
- package/dist/types/AppObject/AppObjectComponent.test.d.ts.map +0 -1
- package/dist/types/AppObject/AppObjectEntity.test.d.ts +0 -2
- package/dist/types/AppObject/AppObjectEntity.test.d.ts.map +0 -1
- package/dist/types/AppObject/AppObjectEntityRepo.test.d.ts +0 -2
- package/dist/types/AppObject/AppObjectEntityRepo.test.d.ts.map +0 -1
- package/dist/types/AppObject/AppObjectPM.test.d.ts +0 -2
- package/dist/types/AppObject/AppObjectPM.test.d.ts.map +0 -1
- package/dist/types/AppObject/AppObjectRepo.test.d.ts +0 -2
- package/dist/types/AppObject/AppObjectRepo.test.d.ts.map +0 -1
- package/dist/types/AppObject/getSingletonComponent.test.d.ts +0 -2
- package/dist/types/AppObject/getSingletonComponent.test.d.ts.map +0 -1
- package/dist/types/Entities/MemoizedAngle.test.d.ts +0 -2
- package/dist/types/Entities/MemoizedAngle.test.d.ts.map +0 -1
- package/dist/types/Entities/MemoizedBoolean.test.d.ts +0 -2
- package/dist/types/Entities/MemoizedBoolean.test.d.ts.map +0 -1
- package/dist/types/Entities/MemoizedColor.test.d.ts +0 -2
- package/dist/types/Entities/MemoizedColor.test.d.ts.map +0 -1
- package/dist/types/Entities/MemoizedNumber.test.d.ts +0 -2
- package/dist/types/Entities/MemoizedNumber.test.d.ts.map +0 -1
- package/dist/types/Entities/MemoizedQuaternion.test.d.ts +0 -2
- package/dist/types/Entities/MemoizedQuaternion.test.d.ts.map +0 -1
- package/dist/types/Entities/MemoizedString.test.d.ts +0 -2
- package/dist/types/Entities/MemoizedString.test.d.ts.map +0 -1
- package/dist/types/Entities/MemoizedVector2.test.d.ts +0 -2
- package/dist/types/Entities/MemoizedVector2.test.d.ts.map +0 -1
- package/dist/types/Entities/MemoizedVector3.test.d.ts +0 -2
- package/dist/types/Entities/MemoizedVector3.test.d.ts.map +0 -1
- package/dist/types/Entities/ObservableEntity.test.d.ts +0 -2
- package/dist/types/Entities/ObservableEntity.test.d.ts.map +0 -1
- package/dist/types/Entities/ObserverList.test.d.ts +0 -2
- package/dist/types/Entities/ObserverList.test.d.ts.map +0 -1
- package/dist/types/Entities/RangedNumber.test.d.ts +0 -2
- package/dist/types/Entities/RangedNumber.test.d.ts.map +0 -1
- package/dist/types/Utilities/LengthConverters.test.d.ts +0 -2
- package/dist/types/Utilities/LengthConverters.test.d.ts.map +0 -1
- package/dist/types/Utilities/LerpNumber.test.d.ts +0 -2
- package/dist/types/Utilities/LerpNumber.test.d.ts.map +0 -1
- package/dist/types/Utilities/addAlphaToHex.test.d.ts +0 -2
- package/dist/types/Utilities/addAlphaToHex.test.d.ts.map +0 -1
- package/dist/types/Utilities/alphaToHex.test.d.ts +0 -2
- package/dist/types/Utilities/alphaToHex.test.d.ts.map +0 -1
- package/dist/types/Utilities/degreesToRadians.test.d.ts +0 -2
- package/dist/types/Utilities/degreesToRadians.test.d.ts.map +0 -1
- package/dist/types/Utilities/easeFunctions.test.d.ts +0 -2
- package/dist/types/Utilities/easeFunctions.test.d.ts.map +0 -1
- package/dist/types/Utilities/interpolateNumber.test.d.ts +0 -2
- package/dist/types/Utilities/interpolateNumber.test.d.ts.map +0 -1
- package/dist/types/ValueObjects/Angle.test.d.ts +0 -2
- package/dist/types/ValueObjects/Angle.test.d.ts.map +0 -1
- package/dist/types/ValueObjects/Color.test.d.ts +0 -2
- package/dist/types/ValueObjects/Color.test.d.ts.map +0 -1
- package/dist/types/ValueObjects/LineSegment2D.test.d.ts +0 -2
- package/dist/types/ValueObjects/LineSegment2D.test.d.ts.map +0 -1
- package/dist/types/ValueObjects/Matrix.test.d.ts +0 -2
- package/dist/types/ValueObjects/Matrix.test.d.ts.map +0 -1
- package/dist/types/ValueObjects/ParametricLine.test.d.ts +0 -2
- package/dist/types/ValueObjects/ParametricLine.test.d.ts.map +0 -1
- package/dist/types/ValueObjects/ParametricPlane.test.d.ts +0 -2
- package/dist/types/ValueObjects/ParametricPlane.test.d.ts.map +0 -1
- package/dist/types/ValueObjects/Quaternion.test.d.ts +0 -2
- package/dist/types/ValueObjects/Quaternion.test.d.ts.map +0 -1
- package/dist/types/ValueObjects/Rectangle.test.d.ts +0 -2
- package/dist/types/ValueObjects/Rectangle.test.d.ts.map +0 -1
- package/dist/types/ValueObjects/Vector2.test.d.ts +0 -2
- package/dist/types/ValueObjects/Vector2.test.d.ts.map +0 -1
- package/dist/types/ValueObjects/Vector3.test.d.ts +0 -2
- package/dist/types/ValueObjects/Vector3.test.d.ts.map +0 -1
- package/dist/types/ValueObjects/Version.test.d.ts +0 -2
- package/dist/types/ValueObjects/Version.test.d.ts.map +0 -1
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const easeFunctions_1 = require("./easeFunctions");
|
|
4
|
-
it("Returns the proper values for ease linear", () => {
|
|
5
|
-
expect((0, easeFunctions_1.easeLinear)(-1)).toEqual(0);
|
|
6
|
-
expect((0, easeFunctions_1.easeLinear)(0)).toEqual(0);
|
|
7
|
-
expect((0, easeFunctions_1.easeLinear)(0.25)).toEqual(0.25);
|
|
8
|
-
expect((0, easeFunctions_1.easeLinear)(0.5)).toEqual(0.5);
|
|
9
|
-
expect((0, easeFunctions_1.easeLinear)(0.75)).toEqual(0.75);
|
|
10
|
-
expect((0, easeFunctions_1.easeLinear)(1)).toEqual(1);
|
|
11
|
-
expect((0, easeFunctions_1.easeLinear)(2)).toEqual(1);
|
|
12
|
-
});
|
|
13
|
-
// Quad
|
|
14
|
-
it("Returns the proper val for quad in", () => {
|
|
15
|
-
expect((0, easeFunctions_1.quadIn)(-1)).toEqual(0);
|
|
16
|
-
expect((0, easeFunctions_1.quadIn)(0)).toEqual(0);
|
|
17
|
-
expect((0, easeFunctions_1.quadIn)(0.25)).toEqual(0.0625);
|
|
18
|
-
expect((0, easeFunctions_1.quadIn)(0.5)).toEqual(0.25);
|
|
19
|
-
expect((0, easeFunctions_1.quadIn)(0.75)).toEqual(0.5625);
|
|
20
|
-
expect((0, easeFunctions_1.quadIn)(1)).toEqual(1);
|
|
21
|
-
expect((0, easeFunctions_1.quadIn)(2)).toEqual(1);
|
|
22
|
-
});
|
|
23
|
-
it("Returns the proper val for quad out", () => {
|
|
24
|
-
expect((0, easeFunctions_1.quadOut)(-1)).toEqual(0);
|
|
25
|
-
expect((0, easeFunctions_1.quadOut)(0)).toEqual(0);
|
|
26
|
-
expect((0, easeFunctions_1.quadOut)(0.25)).toEqual(0.4375);
|
|
27
|
-
expect((0, easeFunctions_1.quadOut)(0.5)).toEqual(0.75);
|
|
28
|
-
expect((0, easeFunctions_1.quadOut)(0.75)).toEqual(0.9375);
|
|
29
|
-
expect((0, easeFunctions_1.quadOut)(1)).toEqual(1);
|
|
30
|
-
expect((0, easeFunctions_1.quadOut)(2)).toEqual(1);
|
|
31
|
-
});
|
|
32
|
-
it("Returns the proper val for quad in out", () => {
|
|
33
|
-
expect((0, easeFunctions_1.quadInOut)(-1)).toEqual(0);
|
|
34
|
-
expect((0, easeFunctions_1.quadInOut)(0)).toEqual(0);
|
|
35
|
-
expect((0, easeFunctions_1.quadInOut)(0.25)).toEqual(0.125);
|
|
36
|
-
expect((0, easeFunctions_1.quadInOut)(0.5)).toEqual(0.5);
|
|
37
|
-
expect((0, easeFunctions_1.quadInOut)(0.75)).toEqual(0.875);
|
|
38
|
-
expect((0, easeFunctions_1.quadInOut)(1)).toEqual(1);
|
|
39
|
-
expect((0, easeFunctions_1.quadInOut)(2)).toEqual(1);
|
|
40
|
-
});
|
|
41
|
-
// Cubic
|
|
42
|
-
it("Returns the proper val for cubic in", () => {
|
|
43
|
-
expect((0, easeFunctions_1.cubicIn)(-1)).toEqual(0);
|
|
44
|
-
expect((0, easeFunctions_1.cubicIn)(0)).toEqual(0);
|
|
45
|
-
expect((0, easeFunctions_1.cubicIn)(0.25)).toEqual(0.015625);
|
|
46
|
-
expect((0, easeFunctions_1.cubicIn)(0.5)).toEqual(0.125);
|
|
47
|
-
expect((0, easeFunctions_1.cubicIn)(0.75)).toEqual(0.421875);
|
|
48
|
-
expect((0, easeFunctions_1.cubicIn)(1)).toEqual(1);
|
|
49
|
-
expect((0, easeFunctions_1.cubicIn)(2)).toEqual(1);
|
|
50
|
-
});
|
|
51
|
-
it("Returns the proper val for cubic out", () => {
|
|
52
|
-
expect((0, easeFunctions_1.cubicOut)(-1)).toEqual(0);
|
|
53
|
-
expect((0, easeFunctions_1.cubicOut)(0)).toEqual(0);
|
|
54
|
-
expect((0, easeFunctions_1.cubicOut)(0.25)).toEqual(0.578125);
|
|
55
|
-
expect((0, easeFunctions_1.cubicOut)(0.5)).toEqual(0.875);
|
|
56
|
-
expect((0, easeFunctions_1.cubicOut)(0.75)).toEqual(0.984375);
|
|
57
|
-
expect((0, easeFunctions_1.cubicOut)(1)).toEqual(1);
|
|
58
|
-
expect((0, easeFunctions_1.cubicOut)(2)).toEqual(1);
|
|
59
|
-
});
|
|
60
|
-
it("Returns the proper val for cubic in out", () => {
|
|
61
|
-
expect((0, easeFunctions_1.cubicInOut)(-1)).toEqual(0);
|
|
62
|
-
expect((0, easeFunctions_1.cubicInOut)(0)).toEqual(0);
|
|
63
|
-
expect((0, easeFunctions_1.cubicInOut)(0.25)).toEqual(0.0625);
|
|
64
|
-
expect((0, easeFunctions_1.cubicInOut)(0.5)).toEqual(0.5);
|
|
65
|
-
expect((0, easeFunctions_1.cubicInOut)(0.75)).toEqual(0.9375);
|
|
66
|
-
expect((0, easeFunctions_1.cubicInOut)(1)).toEqual(1);
|
|
67
|
-
expect((0, easeFunctions_1.cubicInOut)(2)).toEqual(1);
|
|
68
|
-
});
|
|
69
|
-
// Expo
|
|
70
|
-
it("Returns the proper val for Expo in", () => {
|
|
71
|
-
expect((0, easeFunctions_1.expoIn)(-1)).toEqual(0);
|
|
72
|
-
expect((0, easeFunctions_1.expoIn)(0)).toEqual(0);
|
|
73
|
-
expect((0, easeFunctions_1.expoIn)(0.25)).toEqual(0.005524271728019902);
|
|
74
|
-
expect((0, easeFunctions_1.expoIn)(0.5)).toEqual(0.03125);
|
|
75
|
-
expect((0, easeFunctions_1.expoIn)(0.75)).toEqual(0.17677669529663687);
|
|
76
|
-
expect((0, easeFunctions_1.expoIn)(1)).toEqual(1);
|
|
77
|
-
expect((0, easeFunctions_1.expoIn)(2)).toEqual(1);
|
|
78
|
-
});
|
|
79
|
-
it("Returns the proper val for Expo out", () => {
|
|
80
|
-
expect((0, easeFunctions_1.expoOut)(-1)).toEqual(0);
|
|
81
|
-
expect((0, easeFunctions_1.expoOut)(0)).toEqual(0);
|
|
82
|
-
expect((0, easeFunctions_1.expoOut)(0.25)).toEqual(0.8232233047033631);
|
|
83
|
-
expect((0, easeFunctions_1.expoOut)(0.5)).toEqual(0.96875);
|
|
84
|
-
expect((0, easeFunctions_1.expoOut)(0.75)).toEqual(0.99447572827198);
|
|
85
|
-
expect((0, easeFunctions_1.expoOut)(1)).toEqual(1);
|
|
86
|
-
expect((0, easeFunctions_1.expoOut)(2)).toEqual(1);
|
|
87
|
-
});
|
|
88
|
-
it("Returns the proper val for Expo in out", () => {
|
|
89
|
-
expect((0, easeFunctions_1.expoInOut)(-1)).toEqual(0);
|
|
90
|
-
expect((0, easeFunctions_1.expoInOut)(0)).toEqual(0);
|
|
91
|
-
expect((0, easeFunctions_1.expoInOut)(0.25)).toEqual(0.015625);
|
|
92
|
-
expect((0, easeFunctions_1.expoInOut)(0.5)).toEqual(0.5);
|
|
93
|
-
expect((0, easeFunctions_1.expoInOut)(0.75)).toEqual(0.984375);
|
|
94
|
-
expect((0, easeFunctions_1.expoInOut)(1)).toEqual(1);
|
|
95
|
-
expect((0, easeFunctions_1.expoInOut)(2)).toEqual(1);
|
|
96
|
-
});
|
|
97
|
-
// Sin
|
|
98
|
-
it("Returns the proper val for Sin in", () => {
|
|
99
|
-
expect((0, easeFunctions_1.sinIn)(-1)).toEqual(0);
|
|
100
|
-
expect((0, easeFunctions_1.sinIn)(0)).toEqual(0);
|
|
101
|
-
expect((0, easeFunctions_1.sinIn)(0.25)).toEqual(0.07612046748871326);
|
|
102
|
-
expect((0, easeFunctions_1.sinIn)(0.5)).toEqual(0.2928932188134524);
|
|
103
|
-
expect((0, easeFunctions_1.sinIn)(0.75)).toEqual(0.6173165676349102);
|
|
104
|
-
expect((0, easeFunctions_1.sinIn)(1)).toEqual(1);
|
|
105
|
-
expect((0, easeFunctions_1.sinIn)(2)).toEqual(1);
|
|
106
|
-
});
|
|
107
|
-
it("Returns the proper val for Sin out", () => {
|
|
108
|
-
expect((0, easeFunctions_1.sinOut)(-1)).toEqual(0);
|
|
109
|
-
expect((0, easeFunctions_1.sinOut)(0)).toEqual(0);
|
|
110
|
-
expect((0, easeFunctions_1.sinOut)(0.25)).toEqual(0.3826834323650898);
|
|
111
|
-
expect((0, easeFunctions_1.sinOut)(0.5)).toEqual(0.7071067811865475);
|
|
112
|
-
expect((0, easeFunctions_1.sinOut)(0.75)).toEqual(0.9238795325112867);
|
|
113
|
-
expect((0, easeFunctions_1.sinOut)(1)).toEqual(1);
|
|
114
|
-
expect((0, easeFunctions_1.sinOut)(2)).toEqual(1);
|
|
115
|
-
});
|
|
116
|
-
it("Returns the proper val for Sin in out", () => {
|
|
117
|
-
expect((0, easeFunctions_1.sinInOut)(-1)).toEqual(0);
|
|
118
|
-
expect((0, easeFunctions_1.sinInOut)(0)).toEqual(0);
|
|
119
|
-
expect((0, easeFunctions_1.sinInOut)(0.25)).toEqual(0.1464466094067262);
|
|
120
|
-
expect((0, easeFunctions_1.sinInOut)(0.5)).toBeCloseTo(0.5);
|
|
121
|
-
expect((0, easeFunctions_1.sinInOut)(0.75)).toEqual(0.8535533905932737);
|
|
122
|
-
expect((0, easeFunctions_1.sinInOut)(1)).toEqual(1);
|
|
123
|
-
expect((0, easeFunctions_1.sinInOut)(2)).toEqual(1);
|
|
124
|
-
});
|
|
125
|
-
// Quart
|
|
126
|
-
it("Returns the proper val for Quart in", () => {
|
|
127
|
-
expect((0, easeFunctions_1.quartIn)(-1)).toEqual(0);
|
|
128
|
-
expect((0, easeFunctions_1.quartIn)(0)).toEqual(0);
|
|
129
|
-
expect((0, easeFunctions_1.quartIn)(0.25)).toEqual(0.00390625);
|
|
130
|
-
expect((0, easeFunctions_1.quartIn)(0.5)).toEqual(0.0625);
|
|
131
|
-
expect((0, easeFunctions_1.quartIn)(0.75)).toEqual(0.31640625);
|
|
132
|
-
expect((0, easeFunctions_1.quartIn)(1)).toEqual(1);
|
|
133
|
-
expect((0, easeFunctions_1.quartIn)(2)).toEqual(1);
|
|
134
|
-
});
|
|
135
|
-
it("Returns the proper val for Quart out", () => {
|
|
136
|
-
expect((0, easeFunctions_1.quartOut)(-1)).toEqual(0);
|
|
137
|
-
expect((0, easeFunctions_1.quartOut)(0)).toEqual(0);
|
|
138
|
-
expect((0, easeFunctions_1.quartOut)(0.25)).toEqual(0.68359375);
|
|
139
|
-
expect((0, easeFunctions_1.quartOut)(0.5)).toEqual(0.9375);
|
|
140
|
-
expect((0, easeFunctions_1.quartOut)(0.75)).toEqual(0.99609375);
|
|
141
|
-
expect((0, easeFunctions_1.quartOut)(1)).toEqual(1);
|
|
142
|
-
expect((0, easeFunctions_1.quartOut)(2)).toEqual(1);
|
|
143
|
-
});
|
|
144
|
-
it("Returns the proper val for Quart in out", () => {
|
|
145
|
-
expect((0, easeFunctions_1.quartInOut)(-1)).toEqual(0);
|
|
146
|
-
expect((0, easeFunctions_1.quartInOut)(0)).toEqual(0);
|
|
147
|
-
expect((0, easeFunctions_1.quartInOut)(0.25)).toEqual(0.03125);
|
|
148
|
-
expect((0, easeFunctions_1.quartInOut)(0.5)).toBeCloseTo(0.5);
|
|
149
|
-
expect((0, easeFunctions_1.quartInOut)(0.75)).toEqual(0.96875);
|
|
150
|
-
expect((0, easeFunctions_1.quartInOut)(1)).toEqual(1);
|
|
151
|
-
expect((0, easeFunctions_1.quartInOut)(2)).toEqual(1);
|
|
152
|
-
});
|
|
153
|
-
// Quint
|
|
154
|
-
it("Returns the proper val for Quint in", () => {
|
|
155
|
-
expect((0, easeFunctions_1.quintIn)(-1)).toEqual(0);
|
|
156
|
-
expect((0, easeFunctions_1.quintIn)(0)).toEqual(0);
|
|
157
|
-
expect((0, easeFunctions_1.quintIn)(0.25)).toEqual(0.0009765625);
|
|
158
|
-
expect((0, easeFunctions_1.quintIn)(0.5)).toEqual(0.03125);
|
|
159
|
-
expect((0, easeFunctions_1.quintIn)(0.75)).toEqual(0.2373046875);
|
|
160
|
-
expect((0, easeFunctions_1.quintIn)(1)).toEqual(1);
|
|
161
|
-
expect((0, easeFunctions_1.quintIn)(2)).toEqual(1);
|
|
162
|
-
});
|
|
163
|
-
it("Returns the proper val for Quint out", () => {
|
|
164
|
-
expect((0, easeFunctions_1.quintOut)(-1)).toEqual(0);
|
|
165
|
-
expect((0, easeFunctions_1.quintOut)(0)).toEqual(0);
|
|
166
|
-
expect((0, easeFunctions_1.quintOut)(0.25)).toEqual(0.7626953125);
|
|
167
|
-
expect((0, easeFunctions_1.quintOut)(0.5)).toEqual(0.96875);
|
|
168
|
-
expect((0, easeFunctions_1.quintOut)(0.75)).toEqual(0.9990234375);
|
|
169
|
-
expect((0, easeFunctions_1.quintOut)(1)).toEqual(1);
|
|
170
|
-
expect((0, easeFunctions_1.quintOut)(2)).toEqual(1);
|
|
171
|
-
});
|
|
172
|
-
it("Returns the proper val for Quint in out", () => {
|
|
173
|
-
expect((0, easeFunctions_1.quintInOut)(-1)).toEqual(0);
|
|
174
|
-
expect((0, easeFunctions_1.quintInOut)(0)).toEqual(0);
|
|
175
|
-
expect((0, easeFunctions_1.quintInOut)(0.25)).toEqual(0.015625);
|
|
176
|
-
expect((0, easeFunctions_1.quintInOut)(0.5)).toBeCloseTo(0.5);
|
|
177
|
-
expect((0, easeFunctions_1.quintInOut)(0.75)).toEqual(0.984375);
|
|
178
|
-
expect((0, easeFunctions_1.quintInOut)(1)).toEqual(1);
|
|
179
|
-
expect((0, easeFunctions_1.quintInOut)(2)).toEqual(1);
|
|
180
|
-
});
|
|
181
|
-
// Circ
|
|
182
|
-
it("Returns the proper val for Circ in", () => {
|
|
183
|
-
expect((0, easeFunctions_1.circIn)(-1)).toEqual(0);
|
|
184
|
-
expect((0, easeFunctions_1.circIn)(0)).toEqual(0);
|
|
185
|
-
expect((0, easeFunctions_1.circIn)(0.25)).toEqual(0.031754163448145745);
|
|
186
|
-
expect((0, easeFunctions_1.circIn)(0.5)).toEqual(0.1339745962155614);
|
|
187
|
-
expect((0, easeFunctions_1.circIn)(0.75)).toEqual(0.3385621722338523);
|
|
188
|
-
expect((0, easeFunctions_1.circIn)(1)).toEqual(1);
|
|
189
|
-
expect((0, easeFunctions_1.circIn)(2)).toEqual(1);
|
|
190
|
-
});
|
|
191
|
-
it("Returns the proper val for Circ out", () => {
|
|
192
|
-
expect((0, easeFunctions_1.circOut)(-1)).toEqual(0);
|
|
193
|
-
expect((0, easeFunctions_1.circOut)(0)).toEqual(0);
|
|
194
|
-
expect((0, easeFunctions_1.circOut)(0.25)).toEqual(0.6614378277661477);
|
|
195
|
-
expect((0, easeFunctions_1.circOut)(0.5)).toEqual(0.8660254037844386);
|
|
196
|
-
expect((0, easeFunctions_1.circOut)(0.75)).toEqual(0.9682458365518543);
|
|
197
|
-
expect((0, easeFunctions_1.circOut)(1)).toEqual(1);
|
|
198
|
-
expect((0, easeFunctions_1.circOut)(2)).toEqual(1);
|
|
199
|
-
});
|
|
200
|
-
it("Returns the proper val for Circ in out", () => {
|
|
201
|
-
expect((0, easeFunctions_1.circInOut)(-1)).toEqual(0);
|
|
202
|
-
expect((0, easeFunctions_1.circInOut)(0)).toEqual(0);
|
|
203
|
-
expect((0, easeFunctions_1.circInOut)(0.25)).toEqual(0.0669872981077807);
|
|
204
|
-
expect((0, easeFunctions_1.circInOut)(0.5)).toBeCloseTo(0.5);
|
|
205
|
-
expect((0, easeFunctions_1.circInOut)(0.75)).toEqual(0.9330127018922193);
|
|
206
|
-
expect((0, easeFunctions_1.circInOut)(1)).toEqual(1);
|
|
207
|
-
expect((0, easeFunctions_1.circInOut)(2)).toEqual(1);
|
|
208
|
-
});
|
|
209
|
-
//# sourceMappingURL=easeFunctions.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"easeFunctions.test.js","sourceRoot":"","sources":["../../../src/Utilities/easeFunctions.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n easeLinear,\r\n quadIn,\r\n quadInOut,\r\n quadOut,\r\n cubicIn,\r\n cubicInOut,\r\n cubicOut,\r\n expoIn,\r\n expoInOut,\r\n expoOut,\r\n sinIn,\r\n sinInOut,\r\n sinOut,\r\n quartIn,\r\n quartInOut,\r\n quartOut,\r\n quintIn,\r\n quintInOut,\r\n quintOut,\r\n circIn,\r\n circInOut,\r\n circOut,\r\n} from \"./easeFunctions\";\r\n\r\nit(\"Returns the proper values for ease linear\", () => {\r\n expect(easeLinear(-1)).toEqual(0);\r\n expect(easeLinear(0)).toEqual(0);\r\n expect(easeLinear(0.25)).toEqual(0.25);\r\n expect(easeLinear(0.5)).toEqual(0.5);\r\n expect(easeLinear(0.75)).toEqual(0.75);\r\n expect(easeLinear(1)).toEqual(1);\r\n expect(easeLinear(2)).toEqual(1);\r\n});\r\n\r\n// Quad\r\nit(\"Returns the proper val for quad in\", () => {\r\n expect(quadIn(-1)).toEqual(0);\r\n expect(quadIn(0)).toEqual(0);\r\n expect(quadIn(0.25)).toEqual(0.0625);\r\n expect(quadIn(0.5)).toEqual(0.25);\r\n expect(quadIn(0.75)).toEqual(0.5625);\r\n expect(quadIn(1)).toEqual(1);\r\n expect(quadIn(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for quad out\", () => {\r\n expect(quadOut(-1)).toEqual(0);\r\n expect(quadOut(0)).toEqual(0);\r\n expect(quadOut(0.25)).toEqual(0.4375);\r\n expect(quadOut(0.5)).toEqual(0.75);\r\n expect(quadOut(0.75)).toEqual(0.9375);\r\n expect(quadOut(1)).toEqual(1);\r\n expect(quadOut(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for quad in out\", () => {\r\n expect(quadInOut(-1)).toEqual(0);\r\n expect(quadInOut(0)).toEqual(0);\r\n expect(quadInOut(0.25)).toEqual(0.125);\r\n expect(quadInOut(0.5)).toEqual(0.5);\r\n expect(quadInOut(0.75)).toEqual(0.875);\r\n expect(quadInOut(1)).toEqual(1);\r\n expect(quadInOut(2)).toEqual(1);\r\n});\r\n\r\n// Cubic\r\nit(\"Returns the proper val for cubic in\", () => {\r\n expect(cubicIn(-1)).toEqual(0);\r\n expect(cubicIn(0)).toEqual(0);\r\n expect(cubicIn(0.25)).toEqual(0.015625);\r\n expect(cubicIn(0.5)).toEqual(0.125);\r\n expect(cubicIn(0.75)).toEqual(0.421875);\r\n expect(cubicIn(1)).toEqual(1);\r\n expect(cubicIn(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for cubic out\", () => {\r\n expect(cubicOut(-1)).toEqual(0);\r\n expect(cubicOut(0)).toEqual(0);\r\n expect(cubicOut(0.25)).toEqual(0.578125);\r\n expect(cubicOut(0.5)).toEqual(0.875);\r\n expect(cubicOut(0.75)).toEqual(0.984375);\r\n expect(cubicOut(1)).toEqual(1);\r\n expect(cubicOut(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for cubic in out\", () => {\r\n expect(cubicInOut(-1)).toEqual(0);\r\n expect(cubicInOut(0)).toEqual(0);\r\n expect(cubicInOut(0.25)).toEqual(0.0625);\r\n expect(cubicInOut(0.5)).toEqual(0.5);\r\n expect(cubicInOut(0.75)).toEqual(0.9375);\r\n expect(cubicInOut(1)).toEqual(1);\r\n expect(cubicInOut(2)).toEqual(1);\r\n});\r\n\r\n// Expo\r\nit(\"Returns the proper val for Expo in\", () => {\r\n expect(expoIn(-1)).toEqual(0);\r\n expect(expoIn(0)).toEqual(0);\r\n expect(expoIn(0.25)).toEqual(0.005524271728019902);\r\n expect(expoIn(0.5)).toEqual(0.03125);\r\n expect(expoIn(0.75)).toEqual(0.17677669529663687);\r\n expect(expoIn(1)).toEqual(1);\r\n expect(expoIn(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for Expo out\", () => {\r\n expect(expoOut(-1)).toEqual(0);\r\n expect(expoOut(0)).toEqual(0);\r\n expect(expoOut(0.25)).toEqual(0.8232233047033631);\r\n expect(expoOut(0.5)).toEqual(0.96875);\r\n expect(expoOut(0.75)).toEqual(0.99447572827198);\r\n expect(expoOut(1)).toEqual(1);\r\n expect(expoOut(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for Expo in out\", () => {\r\n expect(expoInOut(-1)).toEqual(0);\r\n expect(expoInOut(0)).toEqual(0);\r\n expect(expoInOut(0.25)).toEqual(0.015625);\r\n expect(expoInOut(0.5)).toEqual(0.5);\r\n expect(expoInOut(0.75)).toEqual(0.984375);\r\n expect(expoInOut(1)).toEqual(1);\r\n expect(expoInOut(2)).toEqual(1);\r\n});\r\n\r\n// Sin\r\nit(\"Returns the proper val for Sin in\", () => {\r\n expect(sinIn(-1)).toEqual(0);\r\n expect(sinIn(0)).toEqual(0);\r\n expect(sinIn(0.25)).toEqual(0.07612046748871326);\r\n expect(sinIn(0.5)).toEqual(0.2928932188134524);\r\n expect(sinIn(0.75)).toEqual(0.6173165676349102);\r\n expect(sinIn(1)).toEqual(1);\r\n expect(sinIn(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for Sin out\", () => {\r\n expect(sinOut(-1)).toEqual(0);\r\n expect(sinOut(0)).toEqual(0);\r\n expect(sinOut(0.25)).toEqual(0.3826834323650898);\r\n expect(sinOut(0.5)).toEqual(0.7071067811865475);\r\n expect(sinOut(0.75)).toEqual(0.9238795325112867);\r\n expect(sinOut(1)).toEqual(1);\r\n expect(sinOut(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for Sin in out\", () => {\r\n expect(sinInOut(-1)).toEqual(0);\r\n expect(sinInOut(0)).toEqual(0);\r\n expect(sinInOut(0.25)).toEqual(0.1464466094067262);\r\n expect(sinInOut(0.5)).toBeCloseTo(0.5);\r\n expect(sinInOut(0.75)).toEqual(0.8535533905932737);\r\n expect(sinInOut(1)).toEqual(1);\r\n expect(sinInOut(2)).toEqual(1);\r\n});\r\n\r\n// Quart\r\nit(\"Returns the proper val for Quart in\", () => {\r\n expect(quartIn(-1)).toEqual(0);\r\n expect(quartIn(0)).toEqual(0);\r\n expect(quartIn(0.25)).toEqual(0.00390625);\r\n expect(quartIn(0.5)).toEqual(0.0625);\r\n expect(quartIn(0.75)).toEqual(0.31640625);\r\n expect(quartIn(1)).toEqual(1);\r\n expect(quartIn(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for Quart out\", () => {\r\n expect(quartOut(-1)).toEqual(0);\r\n expect(quartOut(0)).toEqual(0);\r\n expect(quartOut(0.25)).toEqual(0.68359375);\r\n expect(quartOut(0.5)).toEqual(0.9375);\r\n expect(quartOut(0.75)).toEqual(0.99609375);\r\n expect(quartOut(1)).toEqual(1);\r\n expect(quartOut(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for Quart in out\", () => {\r\n expect(quartInOut(-1)).toEqual(0);\r\n expect(quartInOut(0)).toEqual(0);\r\n expect(quartInOut(0.25)).toEqual(0.03125);\r\n expect(quartInOut(0.5)).toBeCloseTo(0.5);\r\n expect(quartInOut(0.75)).toEqual(0.96875);\r\n expect(quartInOut(1)).toEqual(1);\r\n expect(quartInOut(2)).toEqual(1);\r\n});\r\n\r\n// Quint\r\nit(\"Returns the proper val for Quint in\", () => {\r\n expect(quintIn(-1)).toEqual(0);\r\n expect(quintIn(0)).toEqual(0);\r\n expect(quintIn(0.25)).toEqual(0.0009765625);\r\n expect(quintIn(0.5)).toEqual(0.03125);\r\n expect(quintIn(0.75)).toEqual(0.2373046875);\r\n expect(quintIn(1)).toEqual(1);\r\n expect(quintIn(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for Quint out\", () => {\r\n expect(quintOut(-1)).toEqual(0);\r\n expect(quintOut(0)).toEqual(0);\r\n expect(quintOut(0.25)).toEqual(0.7626953125);\r\n expect(quintOut(0.5)).toEqual(0.96875);\r\n expect(quintOut(0.75)).toEqual(0.9990234375);\r\n expect(quintOut(1)).toEqual(1);\r\n expect(quintOut(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for Quint in out\", () => {\r\n expect(quintInOut(-1)).toEqual(0);\r\n expect(quintInOut(0)).toEqual(0);\r\n expect(quintInOut(0.25)).toEqual(0.015625);\r\n expect(quintInOut(0.5)).toBeCloseTo(0.5);\r\n expect(quintInOut(0.75)).toEqual(0.984375);\r\n expect(quintInOut(1)).toEqual(1);\r\n expect(quintInOut(2)).toEqual(1);\r\n});\r\n\r\n// Circ\r\nit(\"Returns the proper val for Circ in\", () => {\r\n expect(circIn(-1)).toEqual(0);\r\n expect(circIn(0)).toEqual(0);\r\n expect(circIn(0.25)).toEqual(0.031754163448145745);\r\n expect(circIn(0.5)).toEqual(0.1339745962155614);\r\n expect(circIn(0.75)).toEqual(0.3385621722338523);\r\n expect(circIn(1)).toEqual(1);\r\n expect(circIn(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for Circ out\", () => {\r\n expect(circOut(-1)).toEqual(0);\r\n expect(circOut(0)).toEqual(0);\r\n expect(circOut(0.25)).toEqual(0.6614378277661477);\r\n expect(circOut(0.5)).toEqual(0.8660254037844386);\r\n expect(circOut(0.75)).toEqual(0.9682458365518543);\r\n expect(circOut(1)).toEqual(1);\r\n expect(circOut(2)).toEqual(1);\r\n});\r\n\r\nit(\"Returns the proper val for Circ in out\", () => {\r\n expect(circInOut(-1)).toEqual(0);\r\n expect(circInOut(0)).toEqual(0);\r\n expect(circInOut(0.25)).toEqual(0.0669872981077807);\r\n expect(circInOut(0.5)).toBeCloseTo(0.5);\r\n expect(circInOut(0.75)).toEqual(0.9330127018922193);\r\n expect(circInOut(1)).toEqual(1);\r\n expect(circInOut(2)).toEqual(1);\r\n});\r\n"]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const interpolateNumber_1 = require("./interpolateNumber");
|
|
4
|
-
describe("Lerp number", () => {
|
|
5
|
-
it("Interpolate as expected", () => {
|
|
6
|
-
const lerpedVal = (0, interpolateNumber_1.interpolateNumber)(0, 10, 0.5);
|
|
7
|
-
expect(lerpedVal).toEqual(5);
|
|
8
|
-
});
|
|
9
|
-
it("Interpolate without clamping", () => {
|
|
10
|
-
const lerpedVal = (0, interpolateNumber_1.interpolateNumber)(0, 10, -0.5);
|
|
11
|
-
expect(lerpedVal).toEqual(-5);
|
|
12
|
-
});
|
|
13
|
-
it("Interpolate without clamping", () => {
|
|
14
|
-
const lerpedVal = (0, interpolateNumber_1.interpolateNumber)(0, 10, 1.5);
|
|
15
|
-
expect(lerpedVal).toEqual(15);
|
|
16
|
-
});
|
|
17
|
-
it("Interpolate with clamping", () => {
|
|
18
|
-
const lerpedVal = (0, interpolateNumber_1.interpolateNumber)(0, 10, -0.5, true);
|
|
19
|
-
expect(lerpedVal).toEqual(0);
|
|
20
|
-
});
|
|
21
|
-
it("Interpolate with clamping", () => {
|
|
22
|
-
const lerpedVal = (0, interpolateNumber_1.interpolateNumber)(0, 10, 1.5, true);
|
|
23
|
-
expect(lerpedVal).toEqual(10);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
//# sourceMappingURL=interpolateNumber.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpolateNumber.test.js","sourceRoot":"","sources":["../../../src/Utilities/interpolateNumber.test.ts"],"names":[],"mappings":";;AAAA,2DAAwD;AAExD,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,SAAS,GAAG,IAAA,qCAAiB,EAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,SAAS,GAAG,IAAA,qCAAiB,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,SAAS,GAAG,IAAA,qCAAiB,EAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,SAAS,GAAG,IAAA,qCAAiB,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,SAAS,GAAG,IAAA,qCAAiB,EAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { interpolateNumber } from \"./interpolateNumber\";\r\n\r\ndescribe(\"Lerp number\", () => {\r\n it(\"Interpolate as expected\", () => {\r\n const lerpedVal = interpolateNumber(0, 10, 0.5);\r\n expect(lerpedVal).toEqual(5);\r\n });\r\n\r\n it(\"Interpolate without clamping\", () => {\r\n const lerpedVal = interpolateNumber(0, 10, -0.5);\r\n expect(lerpedVal).toEqual(-5);\r\n });\r\n\r\n it(\"Interpolate without clamping\", () => {\r\n const lerpedVal = interpolateNumber(0, 10, 1.5);\r\n expect(lerpedVal).toEqual(15);\r\n });\r\n\r\n it(\"Interpolate with clamping\", () => {\r\n const lerpedVal = interpolateNumber(0, 10, -0.5, true);\r\n expect(lerpedVal).toEqual(0);\r\n });\r\n\r\n it(\"Interpolate with clamping\", () => {\r\n const lerpedVal = interpolateNumber(0, 10, 1.5, true);\r\n expect(lerpedVal).toEqual(10);\r\n });\r\n});\r\n"]}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Angle_1 = require("./Angle");
|
|
4
|
-
describe("Angle Value Object", () => {
|
|
5
|
-
it("Creates an angle from degrees", () => {
|
|
6
|
-
const ang = Angle_1.Angle.FromDegrees(125);
|
|
7
|
-
expect(ang.degrees).toEqual(125);
|
|
8
|
-
});
|
|
9
|
-
it("Creates an angle from degrees", () => {
|
|
10
|
-
const ang = Angle_1.Angle.FromRadians(1.25);
|
|
11
|
-
expect(ang.radians).toEqual(1.25);
|
|
12
|
-
});
|
|
13
|
-
it("Converts from degrees and radians", () => {
|
|
14
|
-
const ang = Angle_1.Angle.FromDegrees(125);
|
|
15
|
-
expect(ang.radians).toBeCloseTo(2.18166);
|
|
16
|
-
});
|
|
17
|
-
it("Converts from radians to degrees", () => {
|
|
18
|
-
const ang = Angle_1.Angle.FromRadians(1.25);
|
|
19
|
-
expect(ang.degrees).toBeCloseTo(71.61972);
|
|
20
|
-
});
|
|
21
|
-
it("Checks for closeness", () => {
|
|
22
|
-
const ang1 = Angle_1.Angle.FromDegrees(1.555);
|
|
23
|
-
const ang2 = Angle_1.Angle.FromDegrees(1.556);
|
|
24
|
-
expect(Angle_1.Angle.Close(ang1, ang2, 0.0011)).toEqual(true);
|
|
25
|
-
expect(Angle_1.Angle.Close(ang1, ang2, 0.001)).toEqual(false);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=Angle.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Angle.test.js","sourceRoot":"","sources":["../../../src/ValueObjects/Angle.test.ts"],"names":[],"mappings":";;AAAA,mCAAgC;AAChC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,aAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,aAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,GAAG,GAAG,aAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,aAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,aAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,CAAC,aAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,aAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import { Angle } from \"./Angle\";\r\ndescribe(\"Angle Value Object\", () => {\r\n it(\"Creates an angle from degrees\", () => {\r\n const ang = Angle.FromDegrees(125);\r\n expect(ang.degrees).toEqual(125);\r\n });\r\n\r\n it(\"Creates an angle from degrees\", () => {\r\n const ang = Angle.FromRadians(1.25);\r\n expect(ang.radians).toEqual(1.25);\r\n });\r\n\r\n it(\"Converts from degrees and radians\", () => {\r\n const ang = Angle.FromDegrees(125);\r\n expect(ang.radians).toBeCloseTo(2.18166);\r\n });\r\n\r\n it(\"Converts from radians to degrees\", () => {\r\n const ang = Angle.FromRadians(1.25);\r\n expect(ang.degrees).toBeCloseTo(71.61972);\r\n });\r\n\r\n it(\"Checks for closeness\", ()=>{\r\n const ang1 = Angle.FromDegrees(1.555);\r\n const ang2 = Angle.FromDegrees(1.556);\r\n\r\n expect(Angle.Close(ang1, ang2, 0.0011)).toEqual(true);\r\n expect(Angle.Close(ang1, ang2, 0.001)).toEqual(false);\r\n })\r\n});\r\n"]}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Color_1 = require("./Color");
|
|
4
|
-
describe("Color value object - RGBA", () => {
|
|
5
|
-
it("Make a color as expected", () => {
|
|
6
|
-
const color = Color_1.Color.RGBA(10, 20, 30, 40);
|
|
7
|
-
expect(color.r).toEqual(10);
|
|
8
|
-
expect(color.g).toEqual(20);
|
|
9
|
-
expect(color.b).toEqual(30);
|
|
10
|
-
expect(color.a).toEqual(40);
|
|
11
|
-
});
|
|
12
|
-
it("Clamps the color values to a minumum value of 0", () => {
|
|
13
|
-
const color = Color_1.Color.RGBA(-1, -1, -1, -1);
|
|
14
|
-
expect(color.r).toEqual(0);
|
|
15
|
-
expect(color.g).toEqual(0);
|
|
16
|
-
expect(color.b).toEqual(0);
|
|
17
|
-
expect(color.a).toEqual(0);
|
|
18
|
-
});
|
|
19
|
-
it("Clamps the color values to a maximum value of 255", () => {
|
|
20
|
-
const color = Color_1.Color.RGBA(300, 300, 300, 300);
|
|
21
|
-
expect(color.r).toEqual(255);
|
|
22
|
-
expect(color.g).toEqual(255);
|
|
23
|
-
expect(color.b).toEqual(255);
|
|
24
|
-
expect(color.a).toEqual(255);
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
describe("Color value object - RGB", () => {
|
|
28
|
-
it("Make a color as expected", () => {
|
|
29
|
-
const color = Color_1.Color.RGB(10, 20, 30);
|
|
30
|
-
expect(color.r).toEqual(10);
|
|
31
|
-
expect(color.g).toEqual(20);
|
|
32
|
-
expect(color.b).toEqual(30);
|
|
33
|
-
expect(color.a).toEqual(255);
|
|
34
|
-
});
|
|
35
|
-
it("Clamps the color values to a minumum value of 0", () => {
|
|
36
|
-
const color = Color_1.Color.RGB(-1, -1, -1);
|
|
37
|
-
expect(color.r).toEqual(0);
|
|
38
|
-
expect(color.g).toEqual(0);
|
|
39
|
-
expect(color.b).toEqual(0);
|
|
40
|
-
expect(color.a).toEqual(255);
|
|
41
|
-
});
|
|
42
|
-
it("Clamps the color values to a maximum value of 255", () => {
|
|
43
|
-
const color = Color_1.Color.RGB(300, 300, 300);
|
|
44
|
-
expect(color.r).toEqual(255);
|
|
45
|
-
expect(color.g).toEqual(255);
|
|
46
|
-
expect(color.b).toEqual(255);
|
|
47
|
-
expect(color.a).toEqual(255);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
describe("Color from Hex", () => {
|
|
51
|
-
// See https://www.rapidtables.com/convert/color/hex-to-rgb.html
|
|
52
|
-
it("Properly converts red", () => {
|
|
53
|
-
const color = Color_1.Color.Hex("FF0000");
|
|
54
|
-
expect(color.r).toEqual(255);
|
|
55
|
-
expect(color.g).toEqual(0);
|
|
56
|
-
expect(color.b).toEqual(0);
|
|
57
|
-
expect(color.a).toEqual(255);
|
|
58
|
-
});
|
|
59
|
-
it("Properly converts green", () => {
|
|
60
|
-
const color = Color_1.Color.Hex("00FF00");
|
|
61
|
-
expect(color.r).toEqual(0);
|
|
62
|
-
expect(color.g).toEqual(255);
|
|
63
|
-
expect(color.b).toEqual(0);
|
|
64
|
-
expect(color.a).toEqual(255);
|
|
65
|
-
});
|
|
66
|
-
it("Properly converts blue", () => {
|
|
67
|
-
const color = Color_1.Color.Hex("0000FF");
|
|
68
|
-
expect(color.r).toEqual(0);
|
|
69
|
-
expect(color.g).toEqual(0);
|
|
70
|
-
expect(color.b).toEqual(255);
|
|
71
|
-
expect(color.a).toEqual(255);
|
|
72
|
-
});
|
|
73
|
-
it("Properly converts gray", () => {
|
|
74
|
-
const color = Color_1.Color.Hex("808080");
|
|
75
|
-
expect(color.r).toEqual(128);
|
|
76
|
-
expect(color.g).toEqual(128);
|
|
77
|
-
expect(color.b).toEqual(128);
|
|
78
|
-
expect(color.a).toEqual(255);
|
|
79
|
-
});
|
|
80
|
-
it("Warns if something goes wrong and returns black", () => {
|
|
81
|
-
console.warn = jest.fn();
|
|
82
|
-
const color = Color_1.Color.Hex("Your Mom goes to college");
|
|
83
|
-
expect(color.r).toEqual(0);
|
|
84
|
-
expect(color.g).toEqual(0);
|
|
85
|
-
expect(color.b).toEqual(0);
|
|
86
|
-
expect(color.a).toEqual(255);
|
|
87
|
-
expect(console.warn).toBeCalled();
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
describe("Color from X11", () => {
|
|
91
|
-
it("Finds the proper color by name", () => {
|
|
92
|
-
const color = Color_1.Color.X11("OrangeRed");
|
|
93
|
-
expect(color.r).toEqual(255);
|
|
94
|
-
expect(color.g).toEqual(69);
|
|
95
|
-
expect(color.b).toEqual(0);
|
|
96
|
-
expect(color.a).toEqual(255);
|
|
97
|
-
});
|
|
98
|
-
it("Warns if the X11 color is not found and returns black", () => {
|
|
99
|
-
console.warn = jest.fn();
|
|
100
|
-
const color = Color_1.Color.X11("Your Mom goes to college");
|
|
101
|
-
expect(color.r).toEqual(0);
|
|
102
|
-
expect(color.g).toEqual(0);
|
|
103
|
-
expect(color.b).toEqual(0);
|
|
104
|
-
expect(color.a).toEqual(255);
|
|
105
|
-
expect(console.warn).toBeCalled();
|
|
106
|
-
});
|
|
107
|
-
it("Checks for equality", () => {
|
|
108
|
-
const colorA = Color_1.Color.X11("OrangeRed");
|
|
109
|
-
const colorB = Color_1.Color.X11("LemonChiffon");
|
|
110
|
-
const colorC = Color_1.Color.X11("OrangeRed");
|
|
111
|
-
expect(Color_1.Color.Equal(colorA, colorC)).toEqual(true);
|
|
112
|
-
expect(Color_1.Color.Equal(colorA, colorB)).toEqual(false);
|
|
113
|
-
});
|
|
114
|
-
it("Gets the hex", () => {
|
|
115
|
-
const c = Color_1.Color.Hex("#fcba03");
|
|
116
|
-
expect(c.hex).toEqual("#fcba03");
|
|
117
|
-
});
|
|
118
|
-
it("Gets the Data Transfer Object", () => {
|
|
119
|
-
const color = Color_1.Color.RGBA(10, 20, 30, 40);
|
|
120
|
-
expect(color.dto).toEqual({
|
|
121
|
-
r: 10,
|
|
122
|
-
g: 20,
|
|
123
|
-
b: 30,
|
|
124
|
-
a: 40,
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
it("Makes a Color from a DTO", () => {
|
|
128
|
-
const color = Color_1.Color.FromDTO({
|
|
129
|
-
r: 10,
|
|
130
|
-
g: 20,
|
|
131
|
-
b: 30,
|
|
132
|
-
a: 40,
|
|
133
|
-
});
|
|
134
|
-
expect(color.r).toEqual(10);
|
|
135
|
-
expect(color.g).toEqual(20);
|
|
136
|
-
expect(color.b).toEqual(30);
|
|
137
|
-
expect(color.a).toEqual(40);
|
|
138
|
-
});
|
|
139
|
-
it("Color name is not case sensitive", () => {
|
|
140
|
-
const color1 = Color_1.Color.X11("OrangeRed");
|
|
141
|
-
const color2 = Color_1.Color.X11("orangered");
|
|
142
|
-
const color3 = Color_1.Color.X11("orangeRed");
|
|
143
|
-
expect(color1).toEqual(color2);
|
|
144
|
-
expect(color1).toEqual(color3);
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
|
-
//# sourceMappingURL=Color.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Color.test.js","sourceRoot":"","sources":["../../../src/ValueObjects/Color.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Color } from \"./Color\";\r\n\r\ndescribe(\"Color value object - RGBA\", () => {\r\n it(\"Make a color as expected\", () => {\r\n const color = Color.RGBA(10, 20, 30, 40);\r\n\r\n expect(color.r).toEqual(10);\r\n expect(color.g).toEqual(20);\r\n expect(color.b).toEqual(30);\r\n expect(color.a).toEqual(40);\r\n });\r\n\r\n it(\"Clamps the color values to a minumum value of 0\", () => {\r\n const color = Color.RGBA(-1, -1, -1, -1);\r\n\r\n expect(color.r).toEqual(0);\r\n expect(color.g).toEqual(0);\r\n expect(color.b).toEqual(0);\r\n expect(color.a).toEqual(0);\r\n });\r\n\r\n it(\"Clamps the color values to a maximum value of 255\", () => {\r\n const color = Color.RGBA(300, 300, 300, 300);\r\n\r\n expect(color.r).toEqual(255);\r\n expect(color.g).toEqual(255);\r\n expect(color.b).toEqual(255);\r\n expect(color.a).toEqual(255);\r\n });\r\n});\r\n\r\ndescribe(\"Color value object - RGB\", () => {\r\n it(\"Make a color as expected\", () => {\r\n const color = Color.RGB(10, 20, 30);\r\n\r\n expect(color.r).toEqual(10);\r\n expect(color.g).toEqual(20);\r\n expect(color.b).toEqual(30);\r\n expect(color.a).toEqual(255);\r\n });\r\n\r\n it(\"Clamps the color values to a minumum value of 0\", () => {\r\n const color = Color.RGB(-1, -1, -1);\r\n\r\n expect(color.r).toEqual(0);\r\n expect(color.g).toEqual(0);\r\n expect(color.b).toEqual(0);\r\n expect(color.a).toEqual(255);\r\n });\r\n\r\n it(\"Clamps the color values to a maximum value of 255\", () => {\r\n const color = Color.RGB(300, 300, 300);\r\n\r\n expect(color.r).toEqual(255);\r\n expect(color.g).toEqual(255);\r\n expect(color.b).toEqual(255);\r\n expect(color.a).toEqual(255);\r\n });\r\n});\r\n\r\ndescribe(\"Color from Hex\", () => {\r\n // See https://www.rapidtables.com/convert/color/hex-to-rgb.html\r\n it(\"Properly converts red\", () => {\r\n const color = Color.Hex(\"FF0000\");\r\n\r\n expect(color.r).toEqual(255);\r\n expect(color.g).toEqual(0);\r\n expect(color.b).toEqual(0);\r\n expect(color.a).toEqual(255);\r\n });\r\n\r\n it(\"Properly converts green\", () => {\r\n const color = Color.Hex(\"00FF00\");\r\n\r\n expect(color.r).toEqual(0);\r\n expect(color.g).toEqual(255);\r\n expect(color.b).toEqual(0);\r\n expect(color.a).toEqual(255);\r\n });\r\n\r\n it(\"Properly converts blue\", () => {\r\n const color = Color.Hex(\"0000FF\");\r\n\r\n expect(color.r).toEqual(0);\r\n expect(color.g).toEqual(0);\r\n expect(color.b).toEqual(255);\r\n expect(color.a).toEqual(255);\r\n });\r\n\r\n it(\"Properly converts gray\", () => {\r\n const color = Color.Hex(\"808080\");\r\n\r\n expect(color.r).toEqual(128);\r\n expect(color.g).toEqual(128);\r\n expect(color.b).toEqual(128);\r\n expect(color.a).toEqual(255);\r\n });\r\n\r\n it(\"Warns if something goes wrong and returns black\", () => {\r\n console.warn = jest.fn();\r\n const color = Color.Hex(\"Your Mom goes to college\");\r\n\r\n expect(color.r).toEqual(0);\r\n expect(color.g).toEqual(0);\r\n expect(color.b).toEqual(0);\r\n expect(color.a).toEqual(255);\r\n\r\n expect(console.warn).toBeCalled();\r\n });\r\n});\r\n\r\ndescribe(\"Color from X11\", () => {\r\n it(\"Finds the proper color by name\", () => {\r\n const color = Color.X11(\"OrangeRed\");\r\n\r\n expect(color.r).toEqual(255);\r\n expect(color.g).toEqual(69);\r\n expect(color.b).toEqual(0);\r\n expect(color.a).toEqual(255);\r\n });\r\n\r\n it(\"Warns if the X11 color is not found and returns black\", () => {\r\n console.warn = jest.fn();\r\n const color = Color.X11(\"Your Mom goes to college\");\r\n\r\n expect(color.r).toEqual(0);\r\n expect(color.g).toEqual(0);\r\n expect(color.b).toEqual(0);\r\n expect(color.a).toEqual(255);\r\n\r\n expect(console.warn).toBeCalled();\r\n });\r\n\r\n it(\"Checks for equality\", () => {\r\n const colorA = Color.X11(\"OrangeRed\");\r\n const colorB = Color.X11(\"LemonChiffon\");\r\n const colorC = Color.X11(\"OrangeRed\");\r\n\r\n expect(Color.Equal(colorA, colorC)).toEqual(true);\r\n expect(Color.Equal(colorA, colorB)).toEqual(false);\r\n });\r\n\r\n it(\"Gets the hex\", () => {\r\n const c = Color.Hex(\"#fcba03\");\r\n expect(c.hex).toEqual(\"#fcba03\");\r\n });\r\n\r\n it(\"Gets the Data Transfer Object\", () => {\r\n const color = Color.RGBA(10, 20, 30, 40);\r\n\r\n expect(color.dto).toEqual({\r\n r: 10,\r\n g: 20,\r\n b: 30,\r\n a: 40,\r\n });\r\n });\r\n\r\n it(\"Makes a Color from a DTO\", () => {\r\n const color = Color.FromDTO({\r\n r: 10,\r\n g: 20,\r\n b: 30,\r\n a: 40,\r\n });\r\n\r\n expect(color.r).toEqual(10);\r\n expect(color.g).toEqual(20);\r\n expect(color.b).toEqual(30);\r\n expect(color.a).toEqual(40);\r\n });\r\n\r\n it(\"Color name is not case sensitive\", () => {\r\n const color1 = Color.X11(\"OrangeRed\");\r\n const color2 = Color.X11(\"orangered\");\r\n const color3 = Color.X11(\"orangeRed\");\r\n\r\n expect(color1).toEqual(color2);\r\n expect(color1).toEqual(color3);\r\n });\r\n});\r\n"]}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Vector2_1 = require("./Vector2");
|
|
4
|
-
const LineSegment2D_1 = require("./LineSegment2D");
|
|
5
|
-
test("Construction stores the start and end pos", () => {
|
|
6
|
-
const start = new Vector2_1.Vector2(2, 3);
|
|
7
|
-
const end = new Vector2_1.Vector2(4, 5);
|
|
8
|
-
const seg = new LineSegment2D_1.LineSegment2D(start, end);
|
|
9
|
-
expect(seg.end.x).toEqual(4);
|
|
10
|
-
expect(seg.end.y).toEqual(5);
|
|
11
|
-
expect(seg.start.x).toEqual(2);
|
|
12
|
-
expect(seg.start.y).toEqual(3);
|
|
13
|
-
});
|
|
14
|
-
test("Direction", () => {
|
|
15
|
-
const start = new Vector2_1.Vector2(2, 3);
|
|
16
|
-
const end = new Vector2_1.Vector2(2, 5);
|
|
17
|
-
const seg = new LineSegment2D_1.LineSegment2D(start, end);
|
|
18
|
-
expect(seg.direction.x).toEqual(0);
|
|
19
|
-
expect(seg.direction.y).toEqual(1);
|
|
20
|
-
});
|
|
21
|
-
test("Direction", () => {
|
|
22
|
-
const start = new Vector2_1.Vector2(2, 3);
|
|
23
|
-
const end = new Vector2_1.Vector2(-10, 3);
|
|
24
|
-
const seg = new LineSegment2D_1.LineSegment2D(start, end);
|
|
25
|
-
expect(seg.direction.x).toEqual(-1);
|
|
26
|
-
expect(seg.direction.y).toEqual(0);
|
|
27
|
-
});
|
|
28
|
-
test("Length", () => {
|
|
29
|
-
const start = new Vector2_1.Vector2(0, 0);
|
|
30
|
-
const end = new Vector2_1.Vector2(10, 0);
|
|
31
|
-
const seg = new LineSegment2D_1.LineSegment2D(start, end);
|
|
32
|
-
expect(seg.length).toEqual(10);
|
|
33
|
-
});
|
|
34
|
-
test("Position at percent", () => {
|
|
35
|
-
const start = new Vector2_1.Vector2(0, 0);
|
|
36
|
-
const end = new Vector2_1.Vector2(10, 0);
|
|
37
|
-
const seg = new LineSegment2D_1.LineSegment2D(start, end);
|
|
38
|
-
const zero = LineSegment2D_1.LineSegment2D.GetPositionAtPercent(seg, 0);
|
|
39
|
-
expect(zero.x).toEqual(0);
|
|
40
|
-
expect(zero.y).toEqual(0);
|
|
41
|
-
const one = LineSegment2D_1.LineSegment2D.GetPositionAtPercent(seg, 1);
|
|
42
|
-
expect(one.x).toEqual(10);
|
|
43
|
-
expect(one.y).toEqual(0);
|
|
44
|
-
});
|
|
45
|
-
test("Intersect", () => {
|
|
46
|
-
const lineA = new LineSegment2D_1.LineSegment2D(new Vector2_1.Vector2(1, 1), new Vector2_1.Vector2(15, 1));
|
|
47
|
-
const lineB = new LineSegment2D_1.LineSegment2D(new Vector2_1.Vector2(10, -2), new Vector2_1.Vector2(10, 2));
|
|
48
|
-
const intersection = LineSegment2D_1.LineSegment2D.Intersect(lineA, lineB);
|
|
49
|
-
expect(intersection?.x).toEqual(10);
|
|
50
|
-
expect(intersection?.y).toEqual(1);
|
|
51
|
-
});
|
|
52
|
-
test("Intersect with tolerance", () => {
|
|
53
|
-
const lineA = new LineSegment2D_1.LineSegment2D(new Vector2_1.Vector2(1, 1), new Vector2_1.Vector2(9.5, 1));
|
|
54
|
-
const lineB = new LineSegment2D_1.LineSegment2D(new Vector2_1.Vector2(10, -2), new Vector2_1.Vector2(10, 2));
|
|
55
|
-
const intersection1 = LineSegment2D_1.LineSegment2D.Intersect(lineA, lineB, 0.2);
|
|
56
|
-
expect(intersection1).toBeUndefined();
|
|
57
|
-
const intersection2 = LineSegment2D_1.LineSegment2D.Intersect(lineA, lineB, 0.5);
|
|
58
|
-
expect(intersection2?.x).toEqual(10);
|
|
59
|
-
expect(intersection2?.y).toEqual(1);
|
|
60
|
-
});
|
|
61
|
-
test("Parallel line should not intersect", () => {
|
|
62
|
-
const lineA = new LineSegment2D_1.LineSegment2D(new Vector2_1.Vector2(1, 0), new Vector2_1.Vector2(15, 0));
|
|
63
|
-
const lineB = new LineSegment2D_1.LineSegment2D(new Vector2_1.Vector2(0, 0), new Vector2_1.Vector2(10, 0));
|
|
64
|
-
const intersection = LineSegment2D_1.LineSegment2D.Intersect(lineA, lineB);
|
|
65
|
-
expect(intersection).toBeUndefined();
|
|
66
|
-
});
|
|
67
|
-
test("Short segments should not intersect", () => {
|
|
68
|
-
const lineA = new LineSegment2D_1.LineSegment2D(new Vector2_1.Vector2(1, 1), new Vector2_1.Vector2(9, 1));
|
|
69
|
-
const lineB = new LineSegment2D_1.LineSegment2D(new Vector2_1.Vector2(10, -2), new Vector2_1.Vector2(10, 2));
|
|
70
|
-
const intersection = LineSegment2D_1.LineSegment2D.Intersect(lineA, lineB);
|
|
71
|
-
expect(intersection).toBeUndefined();
|
|
72
|
-
});
|
|
73
|
-
test("Equality", () => {
|
|
74
|
-
const lineA = new LineSegment2D_1.LineSegment2D(new Vector2_1.Vector2(1, 0), new Vector2_1.Vector2(15, 0));
|
|
75
|
-
const lineB = new LineSegment2D_1.LineSegment2D(new Vector2_1.Vector2(1, 0), new Vector2_1.Vector2(15, 0));
|
|
76
|
-
expect(lineA).toEqual(lineB);
|
|
77
|
-
});
|
|
78
|
-
test("Closest point", () => {
|
|
79
|
-
const startPosition = new Vector2_1.Vector2(-9, 2);
|
|
80
|
-
const endPosition = new Vector2_1.Vector2(3, 2);
|
|
81
|
-
const line = new LineSegment2D_1.LineSegment2D(startPosition, endPosition);
|
|
82
|
-
const closestPoint = LineSegment2D_1.LineSegment2D.ClosestPointOnLine(line, new Vector2_1.Vector2(1, 1));
|
|
83
|
-
expect(closestPoint.x).toEqual(1);
|
|
84
|
-
expect(closestPoint.y).toEqual(2);
|
|
85
|
-
});
|
|
86
|
-
test("Closest point should be clamped to the start", () => {
|
|
87
|
-
const startPosition = new Vector2_1.Vector2(-9, 2);
|
|
88
|
-
const endPosition = new Vector2_1.Vector2(3, 2);
|
|
89
|
-
const line = new LineSegment2D_1.LineSegment2D(startPosition, endPosition);
|
|
90
|
-
const closestPoint = LineSegment2D_1.LineSegment2D.ClosestPointOnLine(line, new Vector2_1.Vector2(-12, 2));
|
|
91
|
-
expect(closestPoint.x).toEqual(-9);
|
|
92
|
-
expect(closestPoint.y).toEqual(2);
|
|
93
|
-
});
|
|
94
|
-
test("Closest point should be clamped to the end", () => {
|
|
95
|
-
const startPosition = new Vector2_1.Vector2(-9, 2);
|
|
96
|
-
const endPosition = new Vector2_1.Vector2(3, 2);
|
|
97
|
-
const line = new LineSegment2D_1.LineSegment2D(startPosition, endPosition);
|
|
98
|
-
const closestPoint = LineSegment2D_1.LineSegment2D.ClosestPointOnLine(line, new Vector2_1.Vector2(5, 2));
|
|
99
|
-
expect(closestPoint.x).toEqual(3);
|
|
100
|
-
expect(closestPoint.y).toEqual(2);
|
|
101
|
-
});
|
|
102
|
-
//# sourceMappingURL=LineSegment2D.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LineSegment2D.test.js","sourceRoot":"","sources":["../../../src/ValueObjects/LineSegment2D.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { Vector2 } from \"./Vector2\";\r\nimport { LineSegment2D } from \"./LineSegment2D\";\r\n\r\ntest(\"Construction stores the start and end pos\", () => {\r\n const start = new Vector2(2, 3);\r\n const end = new Vector2(4, 5);\r\n const seg = new LineSegment2D(start, end);\r\n\r\n expect(seg.end.x).toEqual(4);\r\n expect(seg.end.y).toEqual(5);\r\n\r\n expect(seg.start.x).toEqual(2);\r\n expect(seg.start.y).toEqual(3);\r\n});\r\n\r\ntest(\"Direction\", () => {\r\n const start = new Vector2(2, 3);\r\n const end = new Vector2(2, 5);\r\n const seg = new LineSegment2D(start, end);\r\n\r\n expect(seg.direction.x).toEqual(0);\r\n expect(seg.direction.y).toEqual(1);\r\n});\r\n\r\ntest(\"Direction\", () => {\r\n const start = new Vector2(2, 3);\r\n const end = new Vector2(-10, 3);\r\n const seg = new LineSegment2D(start, end);\r\n\r\n expect(seg.direction.x).toEqual(-1);\r\n expect(seg.direction.y).toEqual(0);\r\n});\r\n\r\ntest(\"Length\", () => {\r\n const start = new Vector2(0, 0);\r\n const end = new Vector2(10, 0);\r\n const seg = new LineSegment2D(start, end);\r\n\r\n expect(seg.length).toEqual(10);\r\n});\r\n\r\ntest(\"Position at percent\", () => {\r\n const start = new Vector2(0, 0);\r\n const end = new Vector2(10, 0);\r\n const seg = new LineSegment2D(start, end);\r\n\r\n const zero = LineSegment2D.GetPositionAtPercent(seg, 0);\r\n expect(zero.x).toEqual(0);\r\n expect(zero.y).toEqual(0);\r\n\r\n const one = LineSegment2D.GetPositionAtPercent(seg, 1);\r\n expect(one.x).toEqual(10);\r\n expect(one.y).toEqual(0);\r\n});\r\n\r\ntest(\"Intersect\", () => {\r\n const lineA = new LineSegment2D(new Vector2(1, 1), new Vector2(15, 1));\r\n const lineB = new LineSegment2D(new Vector2(10, -2), new Vector2(10, 2));\r\n\r\n const intersection = LineSegment2D.Intersect(lineA, lineB);\r\n\r\n expect(intersection?.x).toEqual(10);\r\n expect(intersection?.y).toEqual(1);\r\n});\r\n\r\ntest(\"Intersect with tolerance\", () => {\r\n const lineA = new LineSegment2D(new Vector2(1, 1), new Vector2(9.5, 1));\r\n const lineB = new LineSegment2D(new Vector2(10, -2), new Vector2(10, 2));\r\n\r\n const intersection1 = LineSegment2D.Intersect(lineA, lineB, 0.2);\r\n expect(intersection1).toBeUndefined();\r\n\r\n const intersection2 = LineSegment2D.Intersect(lineA, lineB, 0.5);\r\n\r\n expect(intersection2?.x).toEqual(10);\r\n expect(intersection2?.y).toEqual(1);\r\n});\r\n\r\ntest(\"Parallel line should not intersect\", () => {\r\n const lineA = new LineSegment2D(new Vector2(1, 0), new Vector2(15, 0));\r\n const lineB = new LineSegment2D(new Vector2(0, 0), new Vector2(10, 0));\r\n\r\n const intersection = LineSegment2D.Intersect(lineA, lineB);\r\n\r\n expect(intersection).toBeUndefined();\r\n});\r\n\r\ntest(\"Short segments should not intersect\", () => {\r\n const lineA = new LineSegment2D(new Vector2(1, 1), new Vector2(9, 1));\r\n const lineB = new LineSegment2D(new Vector2(10, -2), new Vector2(10, 2));\r\n\r\n const intersection = LineSegment2D.Intersect(lineA, lineB);\r\n\r\n expect(intersection).toBeUndefined();\r\n});\r\n\r\ntest(\"Equality\", () => {\r\n const lineA = new LineSegment2D(new Vector2(1, 0), new Vector2(15, 0));\r\n const lineB = new LineSegment2D(new Vector2(1, 0), new Vector2(15, 0));\r\n\r\n expect(lineA).toEqual(lineB);\r\n});\r\n\r\ntest(\"Closest point\", () => {\r\n const startPosition = new Vector2(-9, 2);\r\n const endPosition = new Vector2(3, 2);\r\n const line = new LineSegment2D(startPosition, endPosition);\r\n\r\n const closestPoint = LineSegment2D.ClosestPointOnLine(\r\n line,\r\n new Vector2(1, 1)\r\n );\r\n\r\n expect(closestPoint.x).toEqual(1);\r\n expect(closestPoint.y).toEqual(2);\r\n});\r\n\r\ntest(\"Closest point should be clamped to the start\", () => {\r\n const startPosition = new Vector2(-9, 2);\r\n const endPosition = new Vector2(3, 2);\r\n const line = new LineSegment2D(startPosition, endPosition);\r\n\r\n const closestPoint = LineSegment2D.ClosestPointOnLine(\r\n line,\r\n new Vector2(-12, 2)\r\n );\r\n\r\n expect(closestPoint.x).toEqual(-9);\r\n expect(closestPoint.y).toEqual(2);\r\n});\r\n\r\ntest(\"Closest point should be clamped to the end\", () => {\r\n const startPosition = new Vector2(-9, 2);\r\n const endPosition = new Vector2(3, 2);\r\n const line = new LineSegment2D(startPosition, endPosition);\r\n\r\n const closestPoint = LineSegment2D.ClosestPointOnLine(\r\n line,\r\n new Vector2(5, 2)\r\n );\r\n\r\n expect(closestPoint.x).toEqual(3);\r\n expect(closestPoint.y).toEqual(2);\r\n});\r\n"]}
|