1 package org.iotivity.service;
3 import org.iotivity.service.client.RcsAddress;
4 import org.iotivity.service.client.RcsDiscoveryManager;
5 import org.iotivity.service.client.RcsDiscoveryManager.OnResourceDiscoveredListener;
6 import org.iotivity.service.client.RcsRemoteResourceObject;
7 import org.iotivity.service.server.RcsResourceObject;
9 import android.test.InstrumentationTestCase;
11 public abstract class TestBase extends InstrumentationTestCase {
12 protected static final String RESOURCEURI = "/a/TemperatureSensor";
13 protected static final String RESOURCETYPE = "oic.r.type";
14 protected static final String RESOURCEINTERFACE = "oic.if.baseline";
16 protected static final String KEY = "key";
17 protected static final RcsValue VALUE = new RcsValue(100);
18 protected static final int RAW_VALUE = 100;
20 private final Object mCond = new Object();
22 protected RcsResourceObject mServer;
23 protected RcsRemoteResourceObject mClient;
25 private OnResourceDiscoveredListener mOnResourceDiscoveredListener = new OnResourceDiscoveredListener() {
27 public void onResourceDiscovered(
28 RcsRemoteResourceObject RcsRemoteResourceObject) {
32 mClient = RcsRemoteResourceObject;
33 synchronized (mCond) {
40 protected void setUp() throws Exception {
43 mServer = new RcsResourceObject.Builder(RESOURCEURI, RESOURCETYPE,
44 RESOURCEINTERFACE).build();
45 mServer.setAttribute(KEY, VALUE);
47 WaitUntilDiscovered();
49 assertNotNull(mClient);
52 private void WaitUntilDiscovered() throws RcsException {
53 while (mClient == null) {
55 RcsDiscoveryManager.DiscoveryTask discoveryTask = RcsDiscoveryManager
56 .getInstance().discoverResourceByType(
57 RcsAddress.multicast(), "/oic/res",
58 RESOURCETYPE, mOnResourceDiscoveredListener);
60 synchronized (mCond) {
64 discoveryTask.cancel();
65 } catch (InterruptedException e) {
71 protected void setServerAttrbutes(RcsResourceAttributes attrs)
73 RcsResourceObject.AttributesLock lock = mServer.getAttributesLock();
74 lock.lock().putAll(attrs);
80 protected void tearDown() throws Exception {