// Path: sdk/src/com/sharethis/loopy/sdk/Item.java
// public class Item {
// 
//     String type = "website";
//     String url;
//     String title;
//     String imageUrl;
//     String description;
//     String videoUrl;
//     Set<String> tags;
// 
//     String shortlink;
// 
//     /**
//      * The "og:type" corresponding to the content being shared.
//      * @return og:type
//      */
//     public String getType() {
//         return type;
//     }
// 
//     /**
//      * Optional.
//      * Corresponds to the og:type meta element. Default is 'website'
//      * @param type The type of the content being shared (og:type)
//      * @see <a href="http://ogp.me/#types" target="_blank">http://ogp.me/#types</a>
//      */
//     public void setType(String type) {
//         this.type = type;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     /**
//      * Optional. (MUST specify one of url or title!)
//      * The url of the content being shared.  If the content does not have a url, you must at least provide a title.
//      * @param url The url of the content being shared.
//      */
//     public void setUrl(String url) {
//         this.url = url;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     /**
//      * Optional. (MUST specify one of url or title!)
//      * The title of the content being shared.  If the content does not have a url, you must at least provide a title.
//      * @param title The title of the content being shared.
//      */
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getImageUrl() {
//         return imageUrl;
//     }
// 
//     /**
//      * Optional. Corresponds to og:image
//      * @param imageUrl An image url corresponding to the content being shared.
//      */
//     public void setImageUrl(String imageUrl) {
//         this.imageUrl = imageUrl;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     /**
//      * Optional. Corresponds to og:description
//      * @param description The description of the content being shared.
//      */
//     public void setDescription(String description) {
//         this.description = description;
//     }
// 
//     public String getVideoUrl() {
//         return videoUrl;
//     }
// 
//     /**
//      * Optional. Corresponds to og:video
//      * @param videoUrl A video url corresponding to the content being shared.
//      */
//     public void setVideoUrl(String videoUrl) {
//         this.videoUrl = videoUrl;
//     }
// 
//     /**
//      * @return The custom tags associated with the item
//      */
//     public Set<String> getTags() {
//         return tags;
//     }
// 
//     /**
//      * Optional.
//      * @param tags Any custom tags associated with the item
//      */
//     public void setTags(Set<String> tags) {
//         this.tags = tags;
//     }
// 
//     public String getShortlink() {
//         return shortlink;
//     }
// 
//     void setShortlink(String shortlink) {
//         this.shortlink = shortlink;
//     }
// 
//     public synchronized void addTag(String tag) {
//         if(tags == null) {
//             tags = new LinkedHashSet<String>();
//         }
//         tags.add(tag);
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         Item item = (Item) o;
// 
//         if (title != null ? !title.equals(item.title) : item.title != null) return false;
//         if (url != null ? !url.equals(item.url) : item.url != null) return false;
// 
//         return true;
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = url != null ? url.hashCode() : 0;
//         result = 31 * result + (title != null ? title.hashCode() : 0);
//         return result;
//     }
// 
//     @Override
//     public String toString() {
//         if(url != null) {
//             return url;
//         }
//         else if(title != null) {
//             return title;
//         }
//         return super.toString();
//     }
// }
// 
// Path: test/src/com/sharethis/loopy/sdk/MockItem.java
// public class MockItem extends Item {
//     @Override
//     public void setShortlink(String shortlink) {
//         super.setShortlink(shortlink);
//     }
// }
// 
// Path: test/src/com/sharethis/loopy/sdk/MockShareCallback.java
// public class MockShareCallback extends ShareCallback {
//     @Override
//     public void setItem(Item item) {
//         super.setItem(item);
//     }
// 
//     @Override
//     public void onBeforePost(Map<String, String> headers, JSONObject payload) {
//         super.onBeforePost(headers, payload);
//     }
// 
//     @Override
//     public void onResult(Item item, Throwable error) {
// 
//     }
// }


import com.sharethis.loopy.sdk.Item;
import com.sharethis.loopy.sdk.MockItem;
import com.sharethis.loopy.sdk.MockShareCallback;
import org.json.JSONException;
import org.json.JSONObject;
import org.mockito.Mockito;
package com.sharethis.loopy.test;


/**
 * @author Jason Polites
 */
public class ShortenCallbackTest extends LoopyAndroidTestCase {

    public void testOnSuccess() throws JSONException {

// Path: sdk/src/com/sharethis/loopy/sdk/Item.java
// public class Item {
// 
//     String type = "website";
//     String url;
//     String title;
//     String imageUrl;
//     String description;
//     String videoUrl;
//     Set<String> tags;
// 
//     String shortlink;
// 
//     /**
//      * The "og:type" corresponding to the content being shared.
//      * @return og:type
//      */
//     public String getType() {
//         return type;
//     }
// 
//     /**
//      * Optional.
//      * Corresponds to the og:type meta element. Default is 'website'
//      * @param type The type of the content being shared (og:type)
//      * @see <a href="http://ogp.me/#types" target="_blank">http://ogp.me/#types</a>
//      */
//     public void setType(String type) {
//         this.type = type;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     /**
//      * Optional. (MUST specify one of url or title!)
//      * The url of the content being shared.  If the content does not have a url, you must at least provide a title.
//      * @param url The url of the content being shared.
//      */
//     public void setUrl(String url) {
//         this.url = url;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     /**
//      * Optional. (MUST specify one of url or title!)
//      * The title of the content being shared.  If the content does not have a url, you must at least provide a title.
//      * @param title The title of the content being shared.
//      */
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getImageUrl() {
//         return imageUrl;
//     }
// 
//     /**
//      * Optional. Corresponds to og:image
//      * @param imageUrl An image url corresponding to the content being shared.
//      */
//     public void setImageUrl(String imageUrl) {
//         this.imageUrl = imageUrl;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
//     /**
//      * Optional. Corresponds to og:description
//      * @param description The description of the content being shared.
//      */
//     public void setDescription(String description) {
//         this.description = description;
//     }
// 
//     public String getVideoUrl() {
//         return videoUrl;
//     }
// 
//     /**
//      * Optional. Corresponds to og:video
//      * @param videoUrl A video url corresponding to the content being shared.
//      */
//     public void setVideoUrl(String videoUrl) {
//         this.videoUrl = videoUrl;
//     }
// 
//     /**
//      * @return The custom tags associated with the item
//      */
//     public Set<String> getTags() {
//         return tags;
//     }
// 
//     /**
//      * Optional.
//      * @param tags Any custom tags associated with the item
//      */
//     public void setTags(Set<String> tags) {
//         this.tags = tags;
//     }
// 
//     public String getShortlink() {
//         return shortlink;
//     }
// 
//     void setShortlink(String shortlink) {
//         this.shortlink = shortlink;
//     }
// 
//     public synchronized void addTag(String tag) {
//         if(tags == null) {
//             tags = new LinkedHashSet<String>();
//         }
//         tags.add(tag);
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         Item item = (Item) o;
// 
//         if (title != null ? !title.equals(item.title) : item.title != null) return false;
//         if (url != null ? !url.equals(item.url) : item.url != null) return false;
// 
//         return true;
//     }
// 
//     @Override
//     public int hashCode() {
//         int result = url != null ? url.hashCode() : 0;
//         result = 31 * result + (title != null ? title.hashCode() : 0);
//         return result;
//     }
// 
//     @Override
//     public String toString() {
//         if(url != null) {
//             return url;
//         }
//         else if(title != null) {
//             return title;
//         }
//         return super.toString();
//     }
// }
// 
// Path: test/src/com/sharethis/loopy/sdk/MockItem.java
// public class MockItem extends Item {
//     @Override
//     public void setShortlink(String shortlink) {
//         super.setShortlink(shortlink);
//     }
// }
// 
// Path: test/src/com/sharethis/loopy/sdk/MockShareCallback.java
// public class MockShareCallback extends ShareCallback {
//     @Override
//     public void setItem(Item item) {
//         super.setItem(item);
//     }
// 
//     @Override
//     public void onBeforePost(Map<String, String> headers, JSONObject payload) {
//         super.onBeforePost(headers, payload);
//     }
// 
//     @Override
//     public void onResult(Item item, Throwable error) {
// 
//     }
// }


// Path: test/src/com/sharethis/loopy/test/ShortenCallbackTest.java
import com.sharethis.loopy.sdk.Item;
import com.sharethis.loopy.sdk.MockItem;
import com.sharethis.loopy.sdk.MockShareCallback;
import org.json.JSONException;
import org.json.JSONObject;
import org.mockito.Mockito;

package com.sharethis.loopy.test;


/**
 * @author Jason Polites
 */
public class ShortenCallbackTest extends LoopyAndroidTestCase {

    public void testOnSuccess() throws JSONException {

        MockShareCallback cb = new MockShareCallback() {