use of org.jbei.ice.storage.model.Strain in project ice by JBEI.
the class CustomFieldsTest method testGetPartsByFields.
@Test
public void testGetPartsByFields() throws Exception {
// create part
Account account = AccountCreator.createTestAccount("testGetPartsByFields", false);
final String userId = account.getEmail();
Strain strain = TestEntryCreator.createTestStrain(account);
Assert.assertNotNull(strain);
// create fields for strain
long strainId = strain.getId();
fields.createField(userId, strainId, new CustomField(strainId, "type", "promoter"));
fields.createField(userId, strainId, new CustomField(strainId, "strength", "weak"));
// search for strength:weak
List<CustomField> searchFields = new ArrayList<>();
searchFields.add(new CustomField("strength", "weak"));
List<PartData> results = fields.getPartsByFields(userId, searchFields);
Assert.assertEquals(1, results.size());
// create additional entry
Plasmid plasmid = TestEntryCreator.createTestPlasmid(account);
Assert.assertNotNull(plasmid);
long plasmidId = plasmid.getId();
fields.createField(userId, plasmidId, new CustomField(plasmidId, "type", "promoter"));
fields.createField(userId, plasmidId, new CustomField(plasmidId, "strength", "strong"));
searchFields.clear();
searchFields.add(new CustomField("strength", "strong"));
results = fields.getPartsByFields(userId, searchFields);
Assert.assertEquals(1, results.size());
Assert.assertEquals(plasmid.getId(), results.get(0).getId());
// search for type:promoter
searchFields.clear();
searchFields.add(new CustomField("type", "promoter"));
results = fields.getPartsByFields(userId, searchFields);
Assert.assertEquals(2, results.size());
Assert.assertTrue(strain.getId() == results.get(0).getId() || results.get(1).getId() == strain.getId());
// test two
searchFields.clear();
searchFields.add(new CustomField(strainId, "type", "promoter"));
searchFields.add(new CustomField(strainId, "strength", "weak"));
results = fields.getPartsByFields(userId, searchFields);
Assert.assertNotNull(results);
Assert.assertTrue(results.size() == 1);
Assert.assertEquals(strain.getId(), results.get(0).getId());
}
use of org.jbei.ice.storage.model.Strain in project ice by JBEI.
the class CustomFieldsTest method testGetFieldsForPart.
@Test
public void testGetFieldsForPart() throws Exception {
Account account = AccountCreator.createTestAccount("testGetFieldsForPart", false);
Assert.assertNotNull(account);
final String userId = account.getEmail();
Strain strain = TestEntryCreator.createTestStrain(account);
Assert.assertNotNull(strain);
HashSet<Long> ids = new HashSet<>();
for (int i = 1; i <= 10; i += 1) {
CustomField field = new CustomField(strain.getId(), "name" + i, "value" + i);
long id = fields.createField(userId, strain.getId(), field).getId();
ids.add(id);
}
List<CustomField> result = fields.getFieldsForPart(userId, strain.getId());
Assert.assertNotNull(result);
Assert.assertTrue(result.size() == 10);
for (CustomField field : result) {
Assert.assertTrue(ids.contains(field.getId()));
}
}
use of org.jbei.ice.storage.model.Strain in project ice by JBEI.
the class FolderContentsTest method testGetContents.
@Test
public void testGetContents() throws Exception {
FolderContents folderContents = new FolderContents();
// test with null id
folderContents.getContents(null, 0, new PageParameters(0, 10, ColumnField.PART_ID, false, null));
Account account = AccountCreator.createTestAccount("testRetrieveFolderContents", false);
String userId = account.getEmail();
FolderDetails folderDetails = new FolderDetails();
folderDetails.setName("test");
// create folder
FolderDetails folder = createPersonalFolder(userId, folderDetails);
Assert.assertNotNull(folder);
final short size = 105;
// create 100 test strains
HashMap<String, Entry> parts = new HashMap<>();
List<Long> entryList = new ArrayList<>();
for (int i = 0; i < size; i += 1) {
Strain strain = TestEntryCreator.createTestStrain(account);
Assert.assertNotNull(strain);
parts.put(strain.getPartNumber(), strain);
entryList.add(strain.getId());
}
Assert.assertEquals(size, parts.size());
// add to folder
List<FolderDetails> foldersToAdd = new ArrayList<>();
foldersToAdd.add(folder);
foldersToAdd = folderContents.addEntriesToFolders(account.getEmail(), entryList, foldersToAdd);
Assert.assertNotNull(foldersToAdd);
// keep track to find duplicates
HashSet<Long> set = new HashSet<>();
// retrieve (supported sort types created, status, name, part_id, type)
FolderDetails details = folderContents.getContents(account.getEmail(), folder.getId(), new PageParameters(0, 15, ColumnField.PART_ID, false, null));
Assert.assertNotNull(details);
short pageSize = 15;
int it = 1;
while (!details.getEntries().isEmpty()) {
Assert.assertEquals(pageSize, details.getEntries().size());
for (PartData partData : details.getEntries()) {
Assert.assertNotNull(parts.remove(partData.getPartId()));
Assert.assertFalse(set.contains(partData.getId()));
set.add(partData.getId());
}
// check remaining
Assert.assertEquals((size - (it * pageSize)), parts.size());
details = folderContents.getContents(account.getEmail(), folder.getId(), new PageParameters(pageSize * it, pageSize, ColumnField.PART_ID, false, null));
it += 1;
}
}
use of org.jbei.ice.storage.model.Strain in project ice by JBEI.
the class PartSequenceTest method testGet.
@Test
public void testGet() throws Exception {
Account account = AccountCreator.createTestAccount("PartSequenceTest.testGet", false);
Strain strain = TestEntryCreator.createTestStrain(account);
PartSequence partSequence = new PartSequence(account.getEmail(), strain.getRecordId());
FeaturedDNASequence sequence = partSequence.get();
Assert.assertNull(sequence);
ByteArrayInputStream inputStream = new ByteArrayInputStream(genbank.getBytes());
SequenceInfo sequenceInfo = partSequence.parseSequenceFile(inputStream, "testFile.gb");
Assert.assertNotNull(sequenceInfo);
FeaturedDNASequence featuredDNASequence = (FeaturedDNASequence) sequenceInfo.getSequence();
Assert.assertNotNull(featuredDNASequence);
Assert.assertEquals(1, featuredDNASequence.getFeatures().size());
sequence = partSequence.get();
Assert.assertNotNull(sequence);
Assert.assertEquals(234, sequence.getSequence().length());
Assert.assertEquals(1, sequence.getFeatures().size());
}
use of org.jbei.ice.storage.model.Strain in project ice by JBEI.
the class SelectionMarkerDAOTest method testGetMatchingSelectionMarkers.
@Test
public void testGetMatchingSelectionMarkers() throws Exception {
String email = "testGetMatchingSelectionMarkers";
Account account = AccountCreator.createTestAccount(email, false);
Assert.assertNotNull(account);
Strain strain = new Strain();
strain.setName("sTrain");
strain.setBioSafetyLevel(BioSafetyOption.LEVEL_ONE.ordinal());
strain.setShortDescription("test strain");
SelectionMarker marker = new SelectionMarker();
marker.setName("xkcd");
SelectionMarker marker2 = new SelectionMarker();
marker2.setName("test");
Set<SelectionMarker> markerSet = new HashSet<>();
markerSet.add(marker);
markerSet.add(marker2);
strain.setSelectionMarkers(markerSet);
EntryCreator creator = new EntryCreator();
strain = (Strain) creator.createEntry(account, strain, null);
Assert.assertNotNull(strain);
Assert.assertEquals(2, strain.getSelectionMarkers().size());
List<String> results = dao.getMatchingSelectionMarkers("xkcd", 5);
Assert.assertEquals(1, results.size());
List<String> res = dao.getMatchingSelectionMarkers("tes", 5);
Assert.assertEquals(1, res.size());
Assert.assertEquals("test", res.get(0));
}
Aggregations