license import { scalar } from '@tensorflow/tfjs-core' ; import { deregisterOp , getRegisteredOp , registerOp } from './register' ; describe ( 'register custom op' , ( ) => { describe ( 'registerCustomOp' , ( ) => { it ( 'should auto fill missing fields' , ( ) => { const executor = ( ) => scalar ( 1 ) ; registerOp ( 'newOp' , executor ) ; const opMapper = getRegisteredOp ( 'newOp' ) ; expect ( opMapper . tfOpName ) . toEqual ( 'newOp' ) ; expect ( opMapper . category ) . toEqual ( 'custom' ) ; expect ( opMapper . inputs ) . toEqual ( [ ] ) ; expect ( opMapper . attrs ) . toEqual ( [ ] ) ; expect ( opMapper . customExecutor ) . toEqual ( executor ) ; deregisterOp ( 'newOp' ) ; } ) ; } ) ; describe ( 'deregisterOp' , ( ) => { it ( 'should remove the custom op' , ( ) => { registerOp ( 'newOp' , ( ) => scalar ( 1 ) ) ; expect ( getRegisteredOp ( 'newOp' ) ) . toBeDefined ( ) ; deregisterOp ( 'newOp' ) ; expect ( getRegisteredOp ( 'newOp' ) ) . not . toBeDefined ( ) ; } ) ; } ) ; } ) ;