Download this file

SimilarParticipantsFinderTests.java    131 lines (115 with data), 5.0 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package eu.alfred.recommendation_engine;
import static org.junit.Assert.*;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.UUID;
import org.junit.Before;
import org.junit.Test;
import eu.alfred.event_manager.client.EventManagerClient;
import eu.alfred.event_manager.model.Event;
import eu.alfred.event_manager.model.Organizer;
import eu.alfred.event_manager.model.Tickets;
import eu.alfred.event_manager.model.Venue;
import eu.alfred.personalization_manager.client.PersonalProfileClient;
import eu.alfred.personalization_manager.model.Address;
import eu.alfred.personalization_manager.model.UserProfile;
public class SimilarParticipantsFinderTests {
private Event testEvent1 = new Event();
private EventManagerClient emClient = new EventManagerClient();
private String event1ID;
private Event event1Created;
private Event testEvent2 = new Event();
private String event2ID;
private Event event2Created;
private UserProfile testUser = new UserProfile();
private UserProfile createdTestUser = new UserProfile();
private UserProfile user1 = new UserProfile();
private UserProfile user2 = new UserProfile();
private UserProfile createdUser1 = new UserProfile();
private UserProfile createdUser2 = new UserProfile();
private PersonalProfileClient ppClient = new PersonalProfileClient();
private String user1Id;
private String user2Id;
private String testUserId;
private SimilarParticipantsFinder similarFinder = new SimilarParticipantsFinder();
private Date d;
@Before
public void setup() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_YEAR, 2);
d = cal.getTime();
// Create a participant of a certain age and participants like him and not like him
testUser.setAlfredUserName("testUser");
testUser.setFirstName("tasos");
Address testUserAddress = new Address();
testUserAddress.setCity("Utrecht");
testUser.setResidentialAddress(testUserAddress);
testUser.setInterests(new String[] {"music","opera"});
testUser.setDateOfBirth(new Date(Long.parseLong("-630374400000")));
testUserId = ppClient.createUserProfile(testUser);
createdTestUser = (UserProfile)ppClient.retrieveUserProfile(testUserId).get(0);
user1.setAlfredUserName("user1");
user1.setFirstName("user1");
Address user1Address = new Address();
testUserAddress.setCity("Utrecht");
user1.setResidentialAddress(user1Address);
user1.setInterests(new String[] {"music","opera"});
user1.setDateOfBirth(new Date(Long.parseLong("-535680000000")));
user1Id = ppClient.createUserProfile(user1);
createdUser1 = (UserProfile)ppClient.retrieveUserProfile(user1Id).get(0);
user2.setAlfredUserName("testUser");
user2.setFirstName("tasos");
Address user2Address = new Address();
user2Address.setCity("Utrecht");
user2.setResidentialAddress(user2Address);
user2.setInterests(new String[] {"music","opera"});
user2.setDateOfBirth(new Date(Long.parseLong("-93916800000")));
user2Id = ppClient.createUserProfile(user2);
createdUser2 = (UserProfile)ppClient.retrieveUserProfile(user2Id).get(0);
// create events (at least 2) one for participants like him and one for not participants like him
event1ID = "1_event-" + UUID.randomUUID().toString();
testEvent1.setEventID(event1ID);
testEvent1.setTags(Arrays.asList(new String[] {"music","opera"}));
testEvent1.setCategories(Arrays.asList(new String[] {"N.A."}));
Venue venueA = new Venue();
venueA.setCity("Utrecht");
testEvent1.setVenue(venueA);
testEvent1.setStart_date(d);
testEvent1.setEnd_date(d);
Organizer tasos = new Organizer();
tasos.setName("Tasos");
testEvent1.setOrganizer(tasos);
testEvent1.setStatus("Live");
testEvent1.setTickets(Arrays.asList(new Tickets[] {}));
event1Created = emClient.addEvent(testEvent1);
event2ID = "1_event-" + UUID.randomUUID().toString();
testEvent2.setEventID(event2ID);
testEvent2.setTags(Arrays.asList(new String[] {"sports","basket"}));
testEvent2.setCategories(Arrays.asList(new String[] {"N.A."}));
Venue venueB = new Venue();
venueB.setCity("Utrecht");
testEvent2.setVenue(venueB);
testEvent2.setStart_date(d);
testEvent2.setEnd_date(d);
Organizer bill = new Organizer();
bill.setName("bill");
testEvent2.setOrganizer(bill);
testEvent2.setStatus("Live");
testEvent2.setTickets(Arrays.asList(new Tickets[] {}));
event2Created = emClient.addEvent(testEvent2);
// add the participation in the events
emClient.addParticipant(event1Created.getEventID(), user1Id);
emClient.addParticipant(event2Created.getEventID(), user2Id);
}
@Test
public void testFindingEventsWithSimilarParticipants() {
try {
System.out.println(similarFinder.getEventsWithParticipantsLikeMe(createdTestUser));
assertTrue(similarFinder.getEventsWithParticipantsLikeMe(createdTestUser).contains(event1Created));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}