package org.societies.api.android.internal.model; import static org.junit.Assert.*; //import org.json.JSONException; //import org.json.JSONObject; //import org.json.JSONTokener; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.societies.api.internal.css.management.CSSManagerEnums; import org.societies.api.schema.cssmanagement.CssNode; //import com.google.gson.Gson; //import com.google.gson.GsonBuilder; public class TestAndroidCSSNode { public static final String TEST_IDENTITY_1 = "node11"; public static final String TEST_IDENTITY_2 = "node22"; @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void testConstructor() throws Exception { AndroidCSSNode cssNode = new AndroidCSSNode(); assertNotNull(cssNode); cssNode.setIdentity(TEST_IDENTITY_1); cssNode.setStatus(CSSManagerEnums.nodeStatus.Available.ordinal()); cssNode.setType(CSSManagerEnums.nodeType.Cloud.ordinal()); assertEquals(TEST_IDENTITY_1, cssNode.getIdentity()); assertEquals(CSSManagerEnums.nodeStatus.Available.ordinal(), cssNode.getStatus()); assertEquals(CSSManagerEnums.nodeType.Cloud.ordinal(), cssNode.getType()); } @Test public void testAlternativeConstructor() { AndroidCSSNode cssNode = new AndroidCSSNode(); cssNode.setIdentity(TEST_IDENTITY_1); cssNode.setStatus(CSSManagerEnums.nodeStatus.Hibernating.ordinal()); cssNode.setType(CSSManagerEnums.nodeType.Rich.ordinal()); assertEquals(TEST_IDENTITY_1, cssNode.getIdentity()); assertEquals(CSSManagerEnums.nodeType.Rich.ordinal(), cssNode.getType()); assertEquals(CSSManagerEnums.nodeStatus.Hibernating.ordinal(), cssNode.getStatus()); } @Test public void testConversion() { CssNode cssNode = new CssNode(); assertNotNull(cssNode); cssNode.setIdentity(TEST_IDENTITY_1); cssNode.setStatus(CSSManagerEnums.nodeStatus.Available.ordinal()); cssNode.setType(CSSManagerEnums.nodeType.Cloud.ordinal()); assertEquals(TEST_IDENTITY_1, cssNode.getIdentity()); assertEquals(CSSManagerEnums.nodeStatus.Available.ordinal(), cssNode.getStatus()); assertEquals(CSSManagerEnums.nodeType.Cloud.ordinal(), cssNode.getType()); AndroidCSSNode aNode = AndroidCSSNode.convertCssNode(cssNode); assertEquals(TEST_IDENTITY_1, aNode.getIdentity()); assertEquals(CSSManagerEnums.nodeStatus.Available.ordinal(), aNode.getStatus()); assertEquals(CSSManagerEnums.nodeType.Cloud.ordinal(), aNode.getType()); } // @Test // public void testParcelable() { // AndroidCSSNode cssNode = new AndroidCSSNode(TEST_IDENTITY_1, CSSNode.nodeStatus.Hibernating.ordinal(), CSSNode.nodeType.Rich.ordinal()); // // Parcel parcelOut = new Parcel(); // // cssNode.writeToParcel(out, flags) // // } // @Test // /** // * Tests the use GSON and JSON libraries to allow Java classes to be // * converted to and from JSON. Cannot work in this project as Android // * library is stubbed. // */ // public void testJSONConversion() { // AndroidCSSNode cssNode = new AndroidCSSNode(); // assertNotNull(cssNode); // // cssNode.setIdentity(TEST_IDENTITY_1); // cssNode.setStatus(CSSManagerEnums.nodeStatus.Available.ordinal()); // cssNode.setType(CSSManagerEnums.nodeType.Cloud.ordinal()); // // assertEquals(TEST_IDENTITY_1, cssNode.getIdentity()); // assertEquals(CSSManagerEnums.nodeStatus.Available.ordinal(), cssNode.getStatus()); // assertEquals(CSSManagerEnums.nodeType.Cloud.ordinal(), cssNode.getType()); // // // Gson gson = new GsonBuilder().setPrettyPrinting().create(); // String jSON = gson.toJson(cssNode); // System.out.println(jSON); // // gson = new Gson(); // jSON = gson.toJson(cssNode); // try { // JSONObject jObj = (JSONObject) new JSONTokener(jSON).nextValue(); // assertEquals(jObj.get("identity"), cssNode.getIdentity()); // // } catch (JSONException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // } }