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 package fr.paris.lutece.plugins.stock.modules.recommendation.service;
35
36 import fr.paris.lutece.plugins.stock.modules.recommendation.service.StockRecommendationService;
37 import fr.paris.lutece.test.LuteceTestCase;
38 import java.util.List;
39 import org.apache.mahout.cf.taste.common.NoSuchUserException;
40 import org.apache.mahout.cf.taste.common.TasteException;
41 import org.apache.mahout.cf.taste.recommender.RecommendedItem;
42 import org.junit.Test;
43
44
45
46
47 public class RecommendationServiceTest extends LuteceTestCase
48 {
49 private static final String USER1 = "BB46625ACAFA4E8E8DB4462C521B715800000000";
50 private static final String USER2 = "BB46625ACAFA4E8E8DB4462C521B715800000000";
51
52
53
54
55 @Test
56 public void testExtractPurchases( )
57 {
58 System.out.println( "extractPurchases" );
59 StockRecommendationService instance = StockRecommendationService.instance( );
60 instance.extractPurchases( );
61 }
62
63 @Test
64 public void testGetRecommendedItems( ) throws NoSuchUserException, TasteException
65 {
66 System.out.println( "getRecommendedItems" );
67 StockRecommendationService instance = StockRecommendationService.instance( );
68 getRecommendation( instance, USER1 );
69 getRecommendation( instance, USER2 );
70
71 }
72
73 private void getRecommendation( StockRecommendationService instance, String strUsername ) throws NoSuchUserException, TasteException
74 {
75 List<RecommendedItem> list = instance.getRecommendedItems( strUsername );
76 System.out.println( "Recommendations for user " + strUsername );
77 for ( RecommendedItem item : list )
78 {
79 System.out.println( "Recommended item " + item.getItemID( ) + " score : " + item.getValue( ) );
80 }
81 }
82 }