Created
October 21, 2017 01:51
-
-
Save gabfssilva/5d7c355876ccc93c6531aa9e7323bc78 to your computer and use it in GitHub Desktop.
polymorphism ~ strategy
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
interface DatabaseAccess { | |
void save(Object entity); | |
} | |
class MySQL implements DatabaseAccess{ | |
@Override | |
void save(Object entity) { | |
//saving obj into MySQL | |
} | |
} | |
class UserService { | |
DatabaseAccess db; | |
UserService(DatabaseAccess db) { | |
this.db = db; | |
} | |
void saveUser(User u){ | |
db.save(u); | |
} | |
} | |
---------- TEST ----------- | |
class DatabaseAccessMock implements DatabaseAccess{ | |
@Override | |
void save(Object entity) { | |
//mocking insert | |
} | |
} | |
class UserServiceTest { | |
void test_save_user(){ | |
UserService service = new UserService(new DatabaseAccessMock()); | |
service.save(new User(...)); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment