@@ -8,7 +8,7 @@ module.exports = function ({ cv, utils }) {
8
8
assertMetaData,
9
9
funcShouldRequireArgs,
10
10
readTestImage,
11
- generateAPITests
11
+ generateClassMethodTests
12
12
} = utils ;
13
13
14
14
describe ( 'inpaint' , ( ) => {
@@ -59,6 +59,39 @@ module.exports = function ({ cv, utils }) {
59
59
done ( ) ;
60
60
} ) . catch ( done ) ;
61
61
} ) ;
62
- } )
62
+ } ) ;
63
+
64
+ describe ( 'seamlessClone' , ( ) => {
65
+
66
+ it ( 'should have constants' , ( ) => {
67
+ expect ( isNaN ( cv . NORMAL_CLONE ) ) . to . be . equal ( false ) ;
68
+ expect ( isNaN ( cv . MIXED_CLONE ) ) . to . be . equal ( false ) ;
69
+ expect ( isNaN ( cv . MONOCHROME_TRANSFER ) ) . to . be . equal ( false ) ;
70
+ } ) ;
71
+
72
+ const src = new cv . Mat ( 5 , 5 , cv . CV_8UC3 , [ 128 , 128 , 128 ] ) ;
73
+ const dest = new cv . Mat ( 10 , 10 , cv . CV_8UC3 , [ 32 , 32 , 32 ] ) ;
74
+ const mask = new cv . Mat ( 5 , 5 , cv . CV_8UC3 , [ 255 , 255 , 255 ] ) ;
75
+ const center = new cv . Point2 ( 5 , 5 ) ;
76
+ const cloneType = cv . NORMAL_CLONE ;
77
+
78
+ const expectOutput = ( res ) => {
79
+ assertMetaData ( res ) ( dest . rows , dest . cols , cv . CV_8UC3 ) ;
80
+ } ;
81
+
82
+ generateClassMethodTests ( {
83
+ getClassInstance : ( ) => src ,
84
+ methodName : 'seamlessClone' ,
85
+ classNameSpace : 'Mat' ,
86
+ methodNameSpace : 'Photo' ,
87
+ getRequiredArgs : ( ) => ( [
88
+ dest ,
89
+ mask ,
90
+ center ,
91
+ cloneType
92
+ ] ) ,
93
+ expectOutput
94
+ } ) ;
95
+ } ) ;
63
96
64
97
} ;
0 commit comments