Example #1
0
        public void RequestParamIsNull()
        {
            ///przypadek, kiedy obiekt requesta jest nullem
            var           repositories     = CreateMocks();
            var           mos              = new ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection(repositories);
            List <string> validationErrors = null;
            ///wyszukanie i pobranie obiektu do wyświetlenia
            var mo1 = mos.FindMultimediaObject(null, FILESTREAM_OPTION, out validationErrors);

            ///pobranie wygenerowanej statystyki
            var se1 = mos.CreateStatisticsEntry(null, mo1);

            Assert.AreEqual(mo1, null);
            Assert.AreEqual(se1, null);
        }
Example #2
0
        public void NotExistingCategoryRequested()
        {
            ///przypadek, kiedy klient pyta o nieistniejącą kategorię
            var request = new ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection.MultimediaObjectsSelectionParams();
            //request.CategoryCodes = new string[] { "gfrued" };
            //request.Width = 250;
            //request.Height = 250;
            //request.SessionId = Guid.NewGuid().ToString();
            var           repositories     = CreateMocks();
            var           mos              = new ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection(repositories);
            List <string> validationErrors = null;
            ///wyszukanie i pobranie obiektu do wyświetlenia
            var mo1 = mos.FindMultimediaObject(request, FILESTREAM_OPTION, out validationErrors);

            ///pobranie wygenerowanej statystyki
            var se1 = mos.CreateStatisticsEntry(request, mo1);

            Assert.AreEqual(mo1, null);
            Assert.AreEqual(se1, null);
        }
Example #3
0
        public void RequestParamIsIncomplete()
        {
            ///przypadek, kiedy w obiekcie requesta są wypełnione tylko niezbędne pola
            var request = new ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection.MultimediaObjectsSelectionParams();
            //request.CategoryCodes = new string[] { "MED", "MTR" };
            //request.Width = 250;
            //request.Height = 250;
            //request.SessionId = Guid.NewGuid().ToString();

            var repositories = CreateMocks();
            ///zmienna przechowująca poprzednio pobrany obiekt
            AdFile previousMultimediaObject = null;
            ///zmienna przechowująca poprzednio wygenerowaną statystykę
            StatisticsEntry previousStatisticsEntry = null;
            var             mos = new ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection(repositories);

            var itemCount = 4;

            for (var i = 0; i < itemCount; i++)
            {
                CheckMethods(repositories, ref previousMultimediaObject, ref previousStatisticsEntry, request);
            }
        }
Example #4
0
        private void CheckMethods(RepositorySet repositories,
                                  ref AdFile previousMultimediaObject,
                                  ref StatisticsEntry previousStatisticsEntry,
                                  ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection.MultimediaObjectsSelectionParams request)
        {
            var           now = DateTime.Now;
            var           mos = new ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection(repositories);
            List <string> validationErrors = null;
            ///wyszukanie i pobranie obiektu do wyświetlenia
            var mo1 = mos.FindMultimediaObject(request, FILESTREAM_OPTION, out validationErrors);

            ///pobranie wygenerowanej statystyki
            var se1 = mos.CreateStatisticsEntry(request, mo1);

            ///zapis statystyki do "bazy"
            //MockData.Statistics.Add(se1.Statistics);
            repositories = CreateMocks();

            if (fetchedFiles == null)
            {
                fetchedFiles = new List <AdFile>();
            }
            ///zapamietujemy otrzymany obiekt
            fetchedFiles.Add(mo1);

            ///czy obiekt nie jest nullem
            Assert.IsNotNull(mo1);
            Assert.IsNotNull(se1);

            if (mo1 != null && se1 != null)
            {
                ///czy zgadza się rozmiar
                //Assert.AreEqual(request.Width, mo1.Width);
                //Assert.AreEqual(request.Height, mo1.Height);
                ///czy zgadza się nośnik
                //Assert.AreEqual(request.Referrer, se1.Statistics.Referrer);
                ///czy kampanie i kategorie nie są nullem
                Assert.IsNotNull(se1.SelectedMultimediaObjectCampaigns);
                Assert.IsNotNull(se1.Categories);
                ///czy obiekt jest różny od poprzednio pobranego obiektu
                if (previousMultimediaObject != null)
                {
                    Assert.AreNotEqual(mo1.ID, previousMultimediaObject.ID);
                }

                if (se1.SelectedMultimediaObjectCampaigns != null)
                {
                    foreach (var c in se1.SelectedMultimediaObjectCampaigns)
                    {
                        Assert.IsTrue(c.IsActiveCampaign);
                        Assert.IsTrue(c.CampaignStartDate <= now);
                        Assert.IsTrue(c.CampaignEndDate >= now);
                    }
                }

                if (se1.Categories != null)
                {
                    //if (request.CategoryCodes.Length <= se1.Categories.Count)
                    //{
                    //	for (var i = 0; i < request.CategoryCodes.Length; i++)
                    //	{
                    //		Assert.IsTrue(se1.Categories.ContainsKey(request.CategoryCodes[i]));
                    //	}
                    //}
                    //else
                    //{
                    //	foreach (var c in se1.Categories)
                    //	{
                    //		Assert.IsTrue(request.CategoryCodes.ToList().Contains(c.Key));
                    //	}
                    //}
                }

                if (firstObject == null)
                {
                    firstObject = mo1;
                }
                else
                {
                    var previousStatus = previousStatisticsEntry.SelectedMultimediaObjectCampaigns.Max(x => x.PriorityCode);
                    var currentStatus  = se1.SelectedMultimediaObjectCampaigns.Max(x => x.PriorityCode);
                    if (mo1.ID != firstObject.ID)
                    {
                        Assert.IsTrue(previousStatus >= currentStatus);
                    }
                }

                previousMultimediaObject = mo1;
                previousStatisticsEntry  = se1;
            }
        }