package com.rusticisoftware.tincan;
import static com.rusticisoftware.tincan.TestUtils.*;
import java.util.Arrays;
import java.util.List;
import com.rusticisoftware.tincan.exceptions.IncompatibleTCAPIVersion;
import org.junit.Test;
public class ContextActivitiesTest {
@Test
public void serializeDeserialize() throws Exception {
ContextActivities ctxActs = new ContextActivities();
ctxActs.setParent(getCtxActList("http://example.com/parent"));
ctxActs.setGrouping(getCtxActList("http://example.com/grouping"));
ctxActs.setOther(getCtxActList("http://example.com/other"));
assertSerializeDeserialize(ctxActs);
}
//
// 'category' arrived in 1.0.0, so confirm it works in everything
// after that point, which is to say not 0.95
//
@Test
public void serializeDeserializePost10() throws Exception {
ContextActivities ctxActs = new ContextActivities();
ctxActs.setParent(getCtxActList("http://example.com/parent"));
ctxActs.setGrouping(getCtxActList("http://example.com/grouping"));
ctxActs.setOther(getCtxActList("http://example.com/other"));
ctxActs.setCategory(getCtxActList("http://example.com/category"));
assertSerializeDeserialize(ctxActs, TCAPIVersion.V101);
assertSerializeDeserialize(ctxActs, TCAPIVersion.V100);
}
//
// 'category' is not supported in 0.95, make sure it isn't
//
@Test(expected = IncompatibleTCAPIVersion.class)
public void serializeDeserialize095Category() throws Exception {
ContextActivities ctxActs = new ContextActivities();
ctxActs.setCategory(getCtxActList("http://example.com/category"));
assertSerializeDeserialize(ctxActs, TCAPIVersion.V095);
}
private List<Activity> getCtxActList(String id) throws Exception {
return Arrays.asList(new Activity[]{ new Activity(id) });
}
}