{
* @author Carlos Munoz camunoz@redhat.com
*/
<<<<<<< HEAD
public class TransMemoryJPATest extends ZanataDbunitJpaTest {
/**
*
*/
private static final int NUM_TRANS_UNITS = 5;
@Override
protected void prepareDBUnitOperations() {
beforeTestOperations.add(new DataSetOperation(
"org/zanata/test/model/ClearAllTables.dbunit.xml",
DatabaseOperation.DELETE_ALL));
}
private TransMemory createDefaultTransMemoryInstance() {
TransMemory tm = new TransMemory();
tm.setSlug("new-trans-memory");
return tm;
}
private TransMemory loadTM(String slug) {
return (TransMemory) super.getSession()
.createCriteria(TransMemory.class)
.add(Restrictions.naturalId().set("slug", slug)).uniqueResult();
}
@Test
public void save() throws Exception {
TransMemory tm = createDefaultTransMemoryInstance();
super.getEm().persist(tm);
TransMemory stored = loadTM("new-trans-memory");
assertThat(stored.getSlug(), is(tm.getSlug()));
}
@Test
public void saveWithMetadata() throws Exception {
TransMemory tm = createDefaultTransMemoryInstance();
String defaultMetadataVal = "This is a test";
tm.getMetadata().put(TMMetadataType.TMX14, defaultMetadataVal);
super.getEm().persist(tm);
TransMemory stored = loadTM("new-trans-memory");
assertThat(stored.getSlug(), is(tm.getSlug()));
assertThat(stored.getMetadata().size(), is(tm.getMetadata().size()));
assertThat(stored.getMetadata().get(TMMetadataType.TMX14),
equalTo(defaultMetadataVal));
}
@Test
public void saveWithTransUnits() throws Exception {
TransMemory tm = createDefaultTransMemoryInstance();
// add some units
for (int i = 0; i < NUM_TRANS_UNITS; i++) {
TransMemoryUnit unit = new TransMemoryUnit("uid:" + i);
unit.setTranslationMemory(tm);
unit.setSourceLanguage("en-US");
unit.setTransUnitId("unit-id-" + i);
tm.getTranslationUnits().add(unit);
}
super.getEm().persist(tm);
// Fetch it, should have the same elements
TransMemory stored = loadTM("new-trans-memory");
assertThat(stored.getTranslationUnits().size(), is(NUM_TRANS_UNITS));
}
@Test
public void saveTransUnitsWithMetadata() throws Exception {
TransMemory tm = createDefaultTransMemoryInstance();
// add some units
for (int i = 0; i < NUM_TRANS_UNITS; i++) {
TransMemoryUnit unit = new TransMemoryUnit("uid:" + i);
unit.setTranslationMemory(tm);
unit.setSourceLanguage("en-US");
unit.setTransUnitId("unit-id-" + i);
unit.setMetadata(TMMetadataType.TMX14, "Metadata " + i);
tm.getTranslationUnits().add(unit);
}
super.getEm().persist(tm);
// Fetch it, should have the same elements
TransMemory stored = loadTM("new-trans-memory");
assertThat(stored.getTranslationUnits().size(), is(NUM_TRANS_UNITS));
for (TransMemoryUnit tu : tm.getTranslationUnits()) {
assertThat(tu.getMetadata(TMMetadataType.TMX14),
startsWith("Metadata "));
}
}
@Test
public void saveTransUnitVariants() throws Exception {
// Save them from the bottom up, as that is probably how it will need to
// be done due to the large amount of them
saveWithTransUnits();
// Fetch the translation memory
TransMemory stored = loadTM("new-trans-memory");
// For each trans unit, generate some variants
for (TransMemoryUnit tu : stored.getTranslationUnits()) {
TransMemoryUnitVariant tuvES =
new TransMemoryUnitVariant("es",
"Mensaje de Prueba");
TransMemoryUnitVariant tuvEN =
new TransMemoryUnitVariant("en-US",
"Test Message");
TransMemoryUnitVariant tuvFR =
new TransMemoryUnitVariant("fr",
"Message de test");
tu.getTransUnitVariants().put(tuvES.getLanguage(), tuvES);
tu.getTransUnitVariants().put(tuvEN.getLanguage(), tuvEN);
tu.getTransUnitVariants().put(tuvFR.getLanguage(), tuvFR);
super.getEm().merge(tu);
}
// Verify they were saved
List results = queryTUVs().getResultList();
assertThat(results.size(), greaterThan(0));
}
@Test
public void saveTransUnitVariantWithFormatting() throws Exception {
// Save them from the bottom up, as that is probably how it will need to
// be done due to the large amount of them
saveWithTransUnits();
// Fetch the translation memory
TransMemory stored = loadTM("new-trans-memory");
// Store a Trans unit variant with formatting
TransMemoryUnit tu = stored.getTranslationUnits().iterator().next();
TransMemoryUnitVariant tuvES =
new TransMemoryUnitVariant("es",
"Mensaje <b>de<b> Prueba");
tu.getTransUnitVariants().put(tuvES.getLanguage(), tuvES);
super.getEm().merge(tu);
// Verify they were saved
TransMemoryUnitVariant tuv =
(TransMemoryUnitVariant) queryTUVs().getSingleResult();
assertThat(tuv.getPlainTextSegment(), equalTo("Mensaje de Prueba"));
}
private Query queryTUVs() {
return getEm()
.createQuery(
"select tu.transUnitVariants from TransMemoryUnit tu where tu.translationMemory.slug = 'new-trans-memory'");
}
=======
public class TransMemoryJPATest extends ZanataDbunitJpaTest
{
@Override
protected void prepareDBUnitOperations()
{
beforeTestOperations.add(new DataSetOperation("org/zanata/test/model/ClearAllTables.dbunit.xml", DatabaseOperation.DELETE_ALL));
}
private TransMemory createDefaultTransMemoryInstance()
{
TransMemory tm = new TransMemory();
tm.setName("New Trans Memory");
tm.setSlug("new-trans-memory");
return tm;
}
private TransMemory getTransMemory(String slug)
return (TransMemory)
super.getSession().createCriteria(TransMemory.class).add(Restrictions.naturalId().set("slug", slug))
.uniqueResult();
}
@Test
public void save() throws Exception
{
TransMemory tm = createDefaultTransMemoryInstance();
super.getEm().persist(tm);
TransMemory stored = getTransMemory("new-trans-memory");
assertThat(stored.getName(), is(tm.getName()));
}
@Test
public void saveWithMetadata() throws Exception
{
TransMemory tm = createDefaultTransMemoryInstance();
String defaultMetadataVal = "This is a test";
tm.getMetadata().put(TransMemory.TransMemoryMetadata.DEFAULT, defaultMetadataVal);
super.getEm().persist(tm);
TransMemory stored = getTransMemory("new-trans-memory");
assertThat(stored.getName(), is(tm.getName()));
assertThat(stored.getMetadata().size(), is( tm.getMetadata().size() ));
assertThat(stored.getMetadata().get(TransMemory.TransMemoryMetadata.DEFAULT), equalTo(defaultMetadataVal));
}
@Test
public void saveWithTransUnits() throws Exception
{
TransMemory tm = createDefaultTransMemoryInstance();
// add some units
for( int i = 0; i<5; i++ )
{
TMTranslationUnit unit = new TMTranslationUnit();
unit.setTranslationMemory(tm);
unit.setSourceLanguage("en-US");
unit.setTransUnitId("unit-id-" + i);
tm.getTranslationUnits().add(unit);
}
super.getEm().persist(tm);
// Fetch it, should have the same elements
TransMemory stored = getTransMemory("new-trans-memory");
assertThat(stored.getTranslationUnits().size(), is(5));
}
@Test
public void saveTransUnitsWithMetadata() throws Exception
{
TransMemory tm = createDefaultTransMemoryInstance();
// add some units
for( int i = 0; i<5; i++ )
{
TMTranslationUnit unit = new TMTranslationUnit();
unit.setTranslationMemory(tm);
unit.setSourceLanguage("en-US");
unit.setTransUnitId("unit-id-" + i);
unit.getMetadata().put(TMTranslationUnit.TMTranslationUnitMetadata.DEFAULT, "Metadata " + i);
tm.getTranslationUnits().add(unit);
}
super.getEm().persist(tm);
// Fetch it, should have the same elements
TransMemory stored = getTransMemory("new-trans-memory");
assertThat(stored.getTranslationUnits().size(), is(5));
for( TMTranslationUnit tu : tm.getTranslationUnits() )
{
assertThat(tu.getMetadata().size(), is(1));
assertThat(tu.getMetadata().get(TMTranslationUnit.TMTranslationUnitMetadata.DEFAULT), startsWith("Metadata "));
}
}
@Test
public void saveTransUnitVariants() throws Exception
{
// Save them from the bottom up, as that is probably how it will need to be done due to the large amount of them
saveWithTransUnits();
// Fetch the translation memory
TransMemory stored = getTransMemory("new-trans-memory");
// For each trans unit, generate some variants
for(TMTranslationUnit tu : stored.getTranslationUnits())
{
TMTransUnitVariant tuvES = new TMTransUnitVariant("es", "Mensaje de Prueba");
TMTransUnitVariant tuvEN = new TMTransUnitVariant("en-US", "Test Message");
TMTransUnitVariant tuvFR = new TMTransUnitVariant("fr", "Message de test");
tu.getTransUnitVariants().put(tuvES.getLanguage(), tuvES);
tu.getTransUnitVariants().put(tuvEN.getLanguage(), tuvEN);
tu.getTransUnitVariants().put(tuvFR.getLanguage(), tuvFR);
super.getEm().merge(tu);
}
// Verify they were saved
List results = getEm().createQuery("from TMTransUnitVariant").getResultList();
assertThat(results.size(), greaterThan(0));
}
>>>>>>> 6885e3ee57e1a3c84cfeb7f85496587e4038b01a
} |