### Question:
KinoService implements DataService<KinoDto> { public KinoDto createOrUpdate(KinoDto kinoDto) { LocalKino localKino = kinoDtoToDbBuilder.build(kinoDto); if(kinoDto.getTmdbKinoId() != null) { tmdbKinoRepository.createOrUpdate(localKino.getKino()); } localKinoRepository.createOrUpdate(localKino); return kinoDtoBuilder.build(localKino); } KinoService(DaoSession session);   KinoService(LocalKinoRepository localKinoRepository, TmdbKinoRepository tmdbKinoRepository, KinoDtoBuilder kinoDtoBuilder, KinoDtoToDbBuilder builder); KinoDto getKino(long id); List<KinoDto> getAll(); void createOrUpdateWithTmdbId(List<KinoDto> kinoDtos); KinoDto createOrUpdate(KinoDto kinoDto); KinoDto getWithTmdbId(long tmdbId); List<KinoDto> getKinosByRating(boolean asc); List<KinoDto> getKinosByYear(boolean asc); List<KinoDto> getKinosByReviewDate(boolean asc); List<KinoDto> getKinosByTitle(boolean asc); void delete(KinoDto kinoDto);  }### Answer:
@Test public void createKinoNullTmdb() { LocalKino kinoToCreate = mock(LocalKino.class); KinoDtoToDbBuilder builder = mock(KinoDtoToDbBuilder.class); doReturn(kinoToCreate).when(builder).build(kinoDto); KinoDto createdKino = mock(KinoDto.class); doReturn(createdKino).when(kinoDtoBuilder).build(kinoToCreate); assertEquals( createdKino, new KinoService(localKinoRepository, tmdbKinoRepository, kinoDtoBuilder, builder).createOrUpdate(kinoDto) ); verify(localKinoRepository).createOrUpdate(kinoToCreate); }