-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
278 additions
and
43 deletions.
There are no files selected for viewing
26 changes: 0 additions & 26 deletions
26
store2store/src/androidTest/java/com/playmoweb/store2store/ExampleInstrumentedTest.java
This file was deleted.
Oops, something went wrong.
112 changes: 112 additions & 0 deletions
112
store2store/src/androidTest/java/com/playmoweb/store2store/mock/MemoryDao.java
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
package com.playmoweb.store2store.mock; | ||
|
||
import com.playmoweb.store2store.dao.api.IDao; | ||
import com.playmoweb.store2store.utils.Filter; | ||
import com.playmoweb.store2store.utils.SortingMode; | ||
|
||
import java.util.ArrayList; | ||
import java.util.List; | ||
|
||
import rx.Observable; | ||
|
||
/** | ||
* Memory dao for tests purposes | ||
* | ||
* @warning This class is not tested ! | ||
* | ||
* @author Thibaud Giovannetti | ||
* @by Playmoweb | ||
* @date 28/02/2017 | ||
*/ | ||
public class MemoryDao implements IDao<TestModel> { | ||
private List<TestModel> models = new ArrayList<>(); | ||
|
||
@Override | ||
public Observable<List<TestModel>> getAll(Filter filter, SortingMode sortingMode) { | ||
return Observable.just(models); | ||
} | ||
|
||
@Override | ||
public Observable<TestModel> getOne(Filter filter, SortingMode sortingMode) { | ||
return Observable.just(models.get(0)); | ||
} | ||
|
||
@Override | ||
public Observable<TestModel> getById(String id) { | ||
int integerId = Integer.valueOf(id); | ||
TestModel t = null; | ||
for(TestModel tm : models) { | ||
if(tm.getId() == integerId) { | ||
t = tm; | ||
break; | ||
} | ||
} | ||
return Observable.just(t); | ||
} | ||
|
||
@Override | ||
public Observable<TestModel> insertOrUpdate(TestModel object) { | ||
return Observable.just(insertObjectOrUpdate(object)); | ||
} | ||
|
||
@Override | ||
public Observable<List<TestModel>> insertOrUpdate(List<TestModel> items) { | ||
List<TestModel> output = new ArrayList<>(items.size()); | ||
|
||
for(int i = 0; i < items.size(); i++) { | ||
output.set(i, insertObjectOrUpdate(items.get(i))); | ||
} | ||
return Observable.just(output); | ||
} | ||
|
||
@Override | ||
public Observable<Void> delete(List<TestModel> items) { | ||
for(TestModel tm : models) { | ||
removeItemIfExists(tm); | ||
} | ||
return Observable.just(null); | ||
} | ||
|
||
@Override | ||
public Observable<Void> delete(TestModel object) { | ||
removeItemIfExists(object); | ||
return Observable.just(null); | ||
} | ||
|
||
@Override | ||
public Observable<Void> deleteAll() { | ||
models.clear(); | ||
return Observable.just(null); | ||
} | ||
|
||
|
||
// PRIVATES METHODS | ||
|
||
private List<TestModel> removeItemIfExists(TestModel object) { | ||
List<TestModel> output = new ArrayList<>(); | ||
for(TestModel tm : models) { | ||
if(tm.getId() != object.getId()) { | ||
output.add(tm); | ||
} | ||
} | ||
return output; | ||
} | ||
|
||
private TestModel insertObjectOrUpdate(TestModel object) { | ||
TestModel t = null; | ||
int i = 0; | ||
for(TestModel tm : models) { | ||
if(tm.getId() == object.getId()) { | ||
t = tm; | ||
models.set(i, object); | ||
break; | ||
} | ||
i++; | ||
} | ||
|
||
if(t == null) { | ||
models.add(object); | ||
} | ||
return object; | ||
} | ||
} |
79 changes: 79 additions & 0 deletions
79
store2store/src/androidTest/java/com/playmoweb/store2store/mock/MemoryService.java
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
package com.playmoweb.store2store.mock; | ||
|
||
import com.playmoweb.store2store.service.api.AbstractService; | ||
import com.playmoweb.store2store.utils.Filter; | ||
import com.playmoweb.store2store.utils.SortingMode; | ||
|
||
import java.util.List; | ||
|
||
import rx.Observable; | ||
|
||
/** | ||
* Memory service for tests purposes | ||
* @author Thibaud Giovannetti | ||
* @by Playmoweb | ||
* @date 28/02/2017 | ||
*/ | ||
public class MemoryService extends AbstractService<TestModel> { | ||
// to simplify we use a second memory DAO to simulate another storage :) | ||
private MemoryDao myCustomAPI = new MemoryDao(); | ||
|
||
/** | ||
* Public constructor | ||
* | ||
* @param clazz | ||
*/ | ||
public MemoryService(Class<TestModel> clazz) { | ||
super(clazz, new MemoryDao()); | ||
} | ||
|
||
@Override | ||
protected Observable<List<TestModel>> getAll(Filter filter, SortingMode sortingMode) { | ||
return myCustomAPI.getAll(filter, sortingMode); | ||
} | ||
|
||
@Override | ||
protected Observable<TestModel> getOne(Filter filter, SortingMode sortingMode) { | ||
return myCustomAPI.getOne(filter, sortingMode); | ||
} | ||
|
||
@Override | ||
protected Observable<TestModel> getById(String id) { | ||
return myCustomAPI.getById(id); | ||
} | ||
|
||
@Override | ||
protected Observable<TestModel> insert(TestModel object) { | ||
return myCustomAPI.insertOrUpdate(object); | ||
} | ||
|
||
@Override | ||
protected Observable<List<TestModel>> insert(List<TestModel> items) { | ||
return myCustomAPI.insertOrUpdate(items); | ||
} | ||
|
||
@Override | ||
protected Observable<TestModel> update(TestModel object) { | ||
return myCustomAPI.insertOrUpdate(object); | ||
} | ||
|
||
@Override | ||
protected Observable<List<TestModel>> update(List<TestModel> items) { | ||
return myCustomAPI.insertOrUpdate(items); | ||
} | ||
|
||
@Override | ||
protected Observable<Void> delete(List<TestModel> items) { | ||
return myCustomAPI.delete(items); | ||
} | ||
|
||
@Override | ||
protected Observable<Void> delete(TestModel object) { | ||
return myCustomAPI.delete(object); | ||
} | ||
|
||
@Override | ||
protected Observable<Void> deleteAll() { | ||
return myCustomAPI.deleteAll(); | ||
} | ||
} |
46 changes: 46 additions & 0 deletions
46
store2store/src/androidTest/java/com/playmoweb/store2store/mock/TestModel.java
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
package com.playmoweb.store2store.mock; | ||
|
||
/** | ||
* Bean for tests purposes | ||
* @author Thibaud Giovannetti | ||
* @by Playmoweb | ||
* @date 28/02/2017 | ||
*/ | ||
public class TestModel { | ||
private int id; | ||
private String name; | ||
private boolean available; | ||
|
||
public TestModel(int id) { | ||
this.id = id; | ||
} | ||
|
||
public TestModel(int id, String name) { | ||
this.id = id; | ||
this.name = name; | ||
} | ||
|
||
public int getId() { | ||
return id; | ||
} | ||
|
||
public void setId(int id) { | ||
this.id = id; | ||
} | ||
|
||
public String getName() { | ||
return name; | ||
} | ||
|
||
public void setName(String name) { | ||
this.name = name; | ||
} | ||
|
||
public boolean isAvailable() { | ||
return available; | ||
} | ||
|
||
public void setAvailable(boolean available) { | ||
this.available = available; | ||
} | ||
} |
41 changes: 41 additions & 0 deletions
41
...re/src/androidTest/java/com/playmoweb/store2store/service/AbstractServiceGetUnitTest.java
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
package com.playmoweb.store2store.service; | ||
|
||
import android.support.test.runner.AndroidJUnit4; | ||
|
||
import com.playmoweb.store2store.mock.MemoryService; | ||
import com.playmoweb.store2store.mock.TestModel; | ||
|
||
import org.junit.After; | ||
import org.junit.Before; | ||
import org.junit.Test; | ||
import org.junit.runner.RunWith; | ||
|
||
import rx.subscriptions.CompositeSubscription; | ||
|
||
/** | ||
* Test all get operations | ||
* @author Thibaud Giovannetti | ||
* @by Playmoweb | ||
* @date 28/02/2017 | ||
*/ | ||
@RunWith(AndroidJUnit4.class) | ||
public class AbstractServiceGetUnitTest { | ||
|
||
private final CompositeSubscription subscriptions = new CompositeSubscription(); | ||
private MemoryService service = new MemoryService(TestModel.class); | ||
|
||
@Before | ||
public void before() { | ||
|
||
} | ||
|
||
@After | ||
public void after() { | ||
subscriptions.clear(); | ||
} | ||
|
||
@Test | ||
public void getOne() throws Exception { | ||
|
||
} | ||
} |
17 changes: 0 additions & 17 deletions
17
store2store/src/test/java/com/playmoweb/store2store/ExampleUnitTest.java
This file was deleted.
Oops, something went wrong.