functionnal test and unit test + final version