public RecommendationControllerTests()
 {
     _runner    = Substitute.For <IUserBasedCollaborativeFiltering>();
     _settings  = new TestSettings();
     _evaluator = Substitute.For <IRecommendationEvaluator>();
     _sut       = new RecommendationsController(_runner, _settings, _evaluator);
 }
Exemple #2
0
        static void Main(string[] args)
        {
            var builder   = new ContainerBuilder();
            var container = builder.ConfigureContainer();

            _helper    = container.GetInstance <CollaborativeFilteringHelpers>();
            _evaluator = container.GetInstance <IRecommendationEvaluator>();
            _selector  = container.GetInstance <IUsersSelector>();
            _settings  = container.GetInstance <ISettings>();


            if (args.Length < 1)
            {
                PrintIntro();
                return;
            }
            else
            {
                string UserId;
                switch (args[0])
                {
                case "-user":

                    if (args.Length < 2)
                    {
                        Console.WriteLine("Provide user id");
                        UserId = Console.ReadLine();
                    }
                    else
                    {
                        UserId = args[1];
                    }
                    if (EvaluateScoreForUser(UserId) == false)
                    {
                        return;
                    }
                    break;

                case "-all-users":
                    if (args.Length < 3)
                    {
                        Console.WriteLine("Evaluate for parameters from config file");
                        PrintSettings();
                        EvaluateScoresForAllUsers(deafultPath);
                    }
                    else
                    {
                        if (int.TryParse(args[1], out int n) && int.TryParse(args[2], out int k))
                        {
                            EvaluateForSpecifiedParameters(n, k);
                        }
                        else
                        {
                            Console.WriteLine("Wrong user id");
                            return;
                        }
                    }
                    break;

                case "-search":

                    if (args.Length < 2)
                    {
                        Console.WriteLine("Provide user id");
                        UserId = Console.ReadLine();
                    }
                    else
                    {
                        UserId = args[1];
                    }
                    if (EvaluateForVariousParametersSets(UserId) == false)
                    {
                        return;
                    }
                    break;

                default:
                    Console.WriteLine($"Invalid command: {args[0]}");
                    return;
                }
            }
        }
Exemple #3
0
 public RecommendationsController(IUserBasedCollaborativeFiltering runner, ISettings settings, IRecommendationEvaluator evaluator)
 {
     _runner    = runner;
     _settings  = settings;
     _evaluator = evaluator;
 }