package org.atlasapi.persistence.media.entity; import java.util.List; import java.util.Set; import junit.framework.TestCase; import org.atlasapi.media.entity.Identified; import org.joda.time.DateTime; import com.google.common.collect.Sets; import com.metabroadcast.common.time.DateTimeZones; import com.mongodb.DBObject; public class DescriptionTranslatorTest extends TestCase { private DateTime lastUpdated = new DateTime(DateTimeZones.UTC); @SuppressWarnings("unchecked") public void testShouldConvertFromDescription() throws Exception { Identified desc = new Identified(); desc.setCanonicalUri("canonicalUri"); desc.setCurie("curie"); Set<String> aliases = Sets.newHashSet(); aliases.add("alias1"); aliases.add("alias2"); desc.setAliasUrls(aliases); IdentifiedTranslator translator = new IdentifiedTranslator(); DBObject dbObj = translator.toDBObject(null, desc); assertEquals("canonicalUri", dbObj.get(IdentifiedTranslator.ID)); assertEquals("curie", dbObj.get("curie")); List<String> a = (List<String>) dbObj.get("aliases"); assertEquals(2, a.size()); for (String alias: a) { assertTrue(aliases.contains(alias)); } } public void testShouldConvertToDescription() throws Exception { Identified desc = new Identified(); desc.setCanonicalUri("canonicalUri"); desc.setCurie("curie"); Set<String> aliases = Sets.newHashSet(); aliases.add("alias1"); aliases.add("alias2"); desc.setAliasUrls(aliases); IdentifiedTranslator translator = new IdentifiedTranslator(); DBObject dbObj = translator.toDBObject(null, desc); Identified description = translator.fromDBObject(dbObj, null); assertEquals(desc.getCanonicalUri(), description.getCanonicalUri()); assertEquals(desc.getCurie(), description.getCurie()); assertEquals(desc.getAliases(), description.getAliases()); } public void testShouldConvertToDescriptionByRef() throws Exception { Identified desc = new Identified(); desc.setCanonicalUri("canonicalUri"); desc.setCurie("curie"); Set<String> aliases = Sets.newHashSet(); aliases.add("alias1"); aliases.add("alias2"); desc.setAliasUrls(aliases); desc.setLastUpdated(lastUpdated); IdentifiedTranslator translator = new IdentifiedTranslator(); DBObject dbObj = translator.toDBObject(null, desc); Identified description = new Identified(); translator.fromDBObject(dbObj, description); assertEquals(desc.getCanonicalUri(), description.getCanonicalUri()); assertEquals(desc.getCurie(), description.getCurie()); assertEquals(desc.getAliasUrls(), description.getAliasUrls()); assertEquals(desc.getLastUpdated(), description.getLastUpdated()); } }