implements Promise
add Promise Function test