package by.istin.android.xcore.test.provider; import android.app.Application; import android.net.Uri; import android.test.ApplicationTestCase; import by.istin.android.xcore.ContextHolder; import by.istin.android.xcore.provider.ModelContract; import by.istin.android.xcore.model.BigTestEntity; public class ModelContractTest extends ApplicationTestCase<Application> { private static final String SELECT_FROM_TABLE = "SELECT * FROM TABLE"; public ModelContractTest() { super(Application.class); } @Override protected void setUp() throws Exception { super.setUp(); createApplication(); } public void testSqlUri() throws Exception { Application application = getApplication(); assertNotNull(application); ContextHolder.getInstance().setContext(application); final Uri REFRESH_URI = ModelContract.getUri(BigTestEntity.class); Uri sqlQueryUri = ModelContract.getSQLQueryUri(SELECT_FROM_TABLE, REFRESH_URI); String sqlParam = ModelContract.getSqlParam(sqlQueryUri); assertEquals(sqlParam, SELECT_FROM_TABLE); } public void testNotNotify() throws Exception { Application application = getApplication(); assertNotNull(application); ContextHolder.getInstance().setContext(application); final Uri REFRESH_URI = ModelContract.getUri(BigTestEntity.class); Uri sqlQueryUri = ModelContract.getSQLQueryUri(SELECT_FROM_TABLE, REFRESH_URI); final Uri resultUri = new ModelContract.UriBuilder(sqlQueryUri).notNotifyChanges().build(); String sqlParam = ModelContract.getSqlParam(resultUri); assertEquals(sqlParam, SELECT_FROM_TABLE); assertFalse(ModelContract.isNotify(resultUri)); } }