Beispiel #1
0
        public void NotEquals()
        {
            AuthorAlarm alarm      = new AuthorAlarm("1", "1", SentimentType.POSITIVE, TimeMeasure.DAYS);
            AuthorAlarm otherAlarm = new AuthorAlarm("1", "1", SentimentType.NEGATIVE, TimeMeasure.DAYS);

            Assert.IsFalse(alarm.Equals(otherAlarm));
        }
Beispiel #2
0
        public void AnalyzeUpdateCountDuplicateAuthors()
        {
            AuthorAlarm alarm = new AuthorAlarm("2", "2", SentimentType.POSITIVE, TimeMeasure.HOURS);

            Phrase firstPhrase  = new Phrase("I like google", DateTime.Now.AddHours(-1), AUTHOR);
            Phrase secondPhrase = new Phrase("I like starbucks", DateTime.Now.AddHours(-1), AUTHOR);

            try
            {
                firstPhrase.AnalyzePhrase(new List <Entity>(), new List <Sentiment> {
                    new Sentiment(SentimentType.POSITIVE, "I like")
                });
            }
            catch (AnalysisException) { }

            try
            {
                secondPhrase.AnalyzePhrase(new List <Entity>(), new List <Sentiment> {
                    new Sentiment(SentimentType.POSITIVE, "I like")
                });
            }
            catch (AnalysisException) { }

            alarm.AnalyzePhrases(new List <Phrase> {
                firstPhrase, secondPhrase
            });

            Assert.AreEqual(alarm.PostCount, 2);
        }
Beispiel #3
0
        private void UpdateStateOfAuthorAlarm(AuthorAlarm alarm)
        {
            try
            {
                using (Context ctx = new Context())
                {
                    AuthorAlarm alarmOfDB = ctx.AuthorAlarms.SingleOrDefault(a => a.Id == alarm.Id);
                    Author      authorOfDB;
                    alarmOfDB.ParticipantsAuthors.Clear();

                    foreach (Author currentAuthor in alarm.ParticipantsAuthors)
                    {
                        authorOfDB = ctx.Authors.SingleOrDefault(author => author.Id == currentAuthor.Id &&
                                                                 !currentAuthor.IsDeleted);
                        alarmOfDB.ParticipantsAuthors.Add(authorOfDB);
                    }
                    alarmOfDB.IsActive = alarm.IsActive;
                    ctx.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw new DataBaseException("Error actualizando alarma.", ex);
            }
        }
Beispiel #4
0
        public void VerifyAlarmsOfAuthors2()
        {
            management.AuthorManagement.AddAuthor(author);

            Entity entity = new Entity()
            {
                EntityName = "Coca Cola"
            };
            Entity entity2 = new Entity()
            {
                EntityName = "Pepsi"
            };

            management.EntityManagement.AddEntity(entity);
            management.EntityManagement.AddEntity(entity2);
            Sentiment sentiment = new Sentiment()
            {
                SentimientText = "Me gusta",
                SentimentType  = Sentiment.TypeSentiment.Positive
            };

            management.SentimentManagement.AddSentiment(sentiment);
            AuthorAlarm aAlarm = new AuthorAlarm()
            {
                TypeOfAlarm  = AuthorAlarm.TypeOfNewAlarm.Positive,
                QuantityPost = 1,
                QuantityTime = 1,
                IsInHours    = false
            };

            management.AlarmManagement.AddAlarm(aAlarm);
            Phrase phrase = new Phrase()
            {
                TextPhrase   = "Me gusta Coca Cola",
                PhraseDate   = new DateTime(2020, 04, 28),
                Entity       = entity,
                PhraseType   = Phrase.TypePhrase.Positive,
                PhraseAuthor = author
            };
            Phrase phrase2 = new Phrase()
            {
                TextPhrase   = "Me gusta Pepsi",
                PhraseDate   = new DateTime(2020, 04, 25),
                Entity       = entity2,
                PhraseType   = Phrase.TypePhrase.Positive,
                PhraseAuthor = author
            };

            management.PhraseManagement.AddPhrase(phrase);
            management.PhraseManagement.AddPhrase(phrase2);
            MockedTimeProvider provider = new MockedTimeProvider()
            {
                MockedDateTime = new DateTime(2020, 04, 30, 19, 10, 30)
            };

            management.UpdateAlarms(provider);
            Assert.IsFalse(aAlarm.IsActive);
            CollectionAssert.DoesNotContain(aAlarm.ParticipantsAuthors, author);
        }
Beispiel #5
0
        public void UpdateValidSentimentType()
        {
            AuthorAlarm alarm = new AuthorAlarm("1", "1", SentimentType.NEGATIVE, TimeMeasure.DAYS);

            alarm.Type = SentimentType.POSITIVE;

            Assert.AreEqual(alarm.Type, SentimentType.POSITIVE);
        }
Beispiel #6
0
        public void UpdateValidNumberDays()
        {
            AuthorAlarm alarm = new AuthorAlarm("2", "1", SentimentType.NEGATIVE, TimeMeasure.DAYS);

            alarm.Time = "5";

            Assert.AreEqual(alarm.Time, "5");
        }
Beispiel #7
0
        public void GetToString()
        {
            AuthorAlarm alarm = new AuthorAlarm("1", "1", SentimentType.POSITIVE, TimeMeasure.DAYS);

            string str = "Alarm POSITIVE, measured in DAYS, with PostQuantity: 1.";

            Assert.AreEqual(alarm.ToString(), str);
        }
Beispiel #8
0
        public void SetUp()
        {
            AUTHOR = new Author("sada", "sadasd", "sdaasd", new DateTime(1995, 2, 3));

            ALARM      = new AuthorAlarm("1", "1", SentimentType.POSITIVE, TimeMeasure.DAYS);
            REPOSITORY = new AuthorAlarmRepository();

            CleanRepositories();
        }
Beispiel #9
0
        public void ShowActiveAlarm()
        {
            management.AuthorManagement.AddAuthor(author);
            management.AuthorManagement.AddAuthor(author2);

            AuthorAlarm aAlarm = new AuthorAlarm()
            {
                TypeOfAlarm  = AuthorAlarm.TypeOfNewAlarm.Positive,
                QuantityPost = 1,
                QuantityTime = 1,
                IsInHours    = false
            };

            management.AlarmManagement.AddAlarm(aAlarm);
            Entity entity = new Entity()
            {
                EntityName = "Coca Cola"
            };

            management.EntityManagement.AddEntity(entity);
            Sentiment sentiment = new Sentiment()
            {
                SentimientText = "Me gusta",
                SentimentType  = Sentiment.TypeSentiment.Positive
            };

            management.SentimentManagement.AddSentiment(sentiment);
            Phrase phrase = new Phrase()
            {
                TextPhrase   = "Me gusta Coca Cola",
                PhraseDate   = new DateTime(2020, 04, 30),
                Entity       = entity,
                PhraseType   = Phrase.TypePhrase.Positive,
                PhraseAuthor = author
            };
            Phrase phrase2 = new Phrase()
            {
                TextPhrase   = "Me gusta Coca Cola",
                PhraseDate   = new DateTime(2020, 04, 30),
                Entity       = entity,
                PhraseType   = Phrase.TypePhrase.Positive,
                PhraseAuthor = author2
            };

            management.PhraseManagement.AddPhrase(phrase);
            management.PhraseManagement.AddPhrase(phrase2);
            MockedTimeProvider provider = new MockedTimeProvider()
            {
                MockedDateTime = new DateTime(2020, 04, 30, 19, 10, 30)
            };

            management.UpdateAlarms(provider);
            string resultExpected = "Alarma de tipo: " + "positiva" + " con estado: " + "activa" + " con los autores: "
                                    + " " + "Josami" + "  " + "agustinh ";

            Assert.AreEqual(resultExpected, management.AlarmManagement.GetAuthorAlarm(aAlarm).Show());
        }
Beispiel #10
0
        public void CreateInvalidAuthorAlarmQuantityTimeNegative()
        {
            AuthorAlarm alarm = new AuthorAlarm()
            {
                TypeOfAlarm  = AuthorAlarm.TypeOfNewAlarm.Positive,
                QuantityPost = 90,
                QuantityTime = -15,
                IsInHours    = false
            };

            management.AddAlarm(alarm);
        }
Beispiel #11
0
        public void CreateInvalidQuantityPostAuthorAlarm()
        {
            AuthorAlarm alarm = new AuthorAlarm()
            {
                TypeOfAlarm  = AuthorAlarm.TypeOfNewAlarm.Positive,
                QuantityPost = 100000,
                QuantityTime = 10,
                IsInHours    = false
            };

            management.AddAlarm(alarm);
        }
Beispiel #12
0
        public void CreateInvalidAuthorAlarm()
        {
            AuthorAlarm alarm = new AuthorAlarm()
            {
                TypeOfAlarm  = AuthorAlarm.TypeOfNewAlarm.Positive,
                QuantityPost = -50,
                QuantityTime = 13,
                IsInHours    = true
            };

            management.AddAlarm(alarm);
        }
Beispiel #13
0
        private void LoadAuthorAlarmData(AuthorAlarm alarm)
        {
            CleanMessage();
            HideFields(false);

            txtPostQuantity.Text          = alarm.PostQuantity;
            txtCantDays.Text              = alarm.Time;
            cboSentimentType.SelectedItem = alarm.Type;
            cboTimeMeasure.SelectedItem   = alarm.TimeMeasure;
            txtPostCount.Text             = alarm.PostCount.ToString();
            chkActivity.Checked           = alarm.IsEnabled();
        }
Beispiel #14
0
        public void CreateValidAuthorAlarm()
        {
            AuthorAlarm alarm = new AuthorAlarm()
            {
                TypeOfAlarm  = AuthorAlarm.TypeOfNewAlarm.Positive,
                QuantityPost = 50,
                QuantityTime = 5,
                IsInHours    = false
            };

            management.AddAlarm(alarm);
            CollectionAssert.Contains(management.AllAlarms, alarm);
        }
        private void AddAlarmUI()
        {
            AuthorAlarm alarmToAdd = new AuthorAlarm()
            {
                QuantityPost = int.Parse(textBoxQuantityPost.Text),
                QuantityTime = int.Parse(textBoxQuantityTime.Text),
                TypeOfAlarm  = TypeOfAlarmChecked(),
                IsInHours    = IsInHoursTimeFrame()
            };

            generalManagement.AlarmManagement.AddAlarm(alarmToAdd);
            InitializeAlarms();
        }
Beispiel #16
0
        public void ShowInactiveAlarm()
        {
            AuthorAlarm aAlarm = new AuthorAlarm()
            {
                TypeOfAlarm  = AuthorAlarm.TypeOfNewAlarm.Positive,
                QuantityPost = 2,
                QuantityTime = 1,
                IsInHours    = false
            };
            string resultExpected = "Alarma de tipo: " + "positiva" + " con estado: " + "inactiva";

            Assert.AreEqual(resultExpected, aAlarm.Show());
        }
Beispiel #17
0
 public AuthorAlarm GetAuthorAlarmById(AuthorAlarm alarm)
 {
     try
     {
         using (Context ctx = new Context())
         {
             return(ctx.AuthorAlarms.Include("ParticipantsAuthors").SingleOrDefault(a => a.Id == alarm.Id));
         }
     }
     catch (Exception ex)
     {
         throw new DataBaseException("Error obteniendo alarma.", ex);
     }
 }
Beispiel #18
0
        public void VerifyAlarmsOfAuthors()
        {
            management.AuthorManagement.AddAuthor(author);

            Entity entity = new Entity()
            {
                EntityName = "Coca Cola"
            };

            management.EntityManagement.AddEntity(entity);
            Sentiment sentiment = new Sentiment()
            {
                SentimientText = "Me gusta",
                SentimentType  = Sentiment.TypeSentiment.Positive
            };

            management.SentimentManagement.AddSentiment(sentiment);
            AuthorAlarm aAlarm = new AuthorAlarm()
            {
                TypeOfAlarm  = AuthorAlarm.TypeOfNewAlarm.Positive,
                QuantityPost = 1,
                QuantityTime = 1,
                IsInHours    = true
            };

            management.AlarmManagement.AddAlarm(aAlarm);
            Phrase phrase = new Phrase()
            {
                TextPhrase   = "Me gusta Coca Cola",
                PhraseDate   = DateTime.Now,
                Entity       = entity,
                PhraseType   = Phrase.TypePhrase.Positive,
                PhraseAuthor = author
            };

            management.PhraseManagement.AddPhrase(phrase);
            MockedTimeProvider provider = new MockedTimeProvider()
            {
                MockedDateTime = new DateTime(2019, 10, 1, 19, 10, 30)
            };

            management.UpdateAlarms(provider);
            AuthorAlarm dbAlarm = management.AlarmManagement.GetAuthorAlarm(aAlarm);

            Assert.IsTrue(dbAlarm.IsActive);
            CollectionAssert.Contains(dbAlarm.ParticipantsAuthors, author);
        }
Beispiel #19
0
        private void CleanFields()
        {
            HideFields(true);

            SelectedEntityAlarm = null;
            SelectedAuthorAlarm = null;

            txtPostQuantity.Text           = string.Empty;
            txtCantDays.Text               = string.Empty;
            cboSentimentType.SelectedIndex = -1;
            cboTimeMeasure.SelectedIndex   = -1;
            cboEntity.SelectedIndex        = -1;
            txtPostCount.Text              = string.Empty;
            chkActivity.Checked            = false;

            lstAlarms.ClearSelected();
        }
Beispiel #20
0
        private void lstAlarms_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lstAlarms.SelectedItem is null)
            {
                return;
            }

            if (rbtnEntity.Checked)
            {
                SelectedEntityAlarm = lstAlarms.SelectedItem as EntityAlarm;
                LoadEntityAlarmData(SelectedEntityAlarm);
            }
            else
            {
                SelectedAuthorAlarm = lstAlarms.SelectedItem as AuthorAlarm;
                LoadAuthorAlarmData(SelectedAuthorAlarm);
            }
        }
Beispiel #21
0
        public void GetAllAlarms()
        {
            List <AuthorAlarm> alarms = new List <AuthorAlarm>();

            AuthorAlarm newAlarm = new AuthorAlarm("3", "1", SentimentType.NEGATIVE, TimeMeasure.HOURS);

            alarms.Add(ALARM);
            alarms.Add(newAlarm);

            REPOSITORY.Add(ALARM);
            REPOSITORY.Add(newAlarm);

            using (SentimentAnalysisContext context = new SentimentAnalysisContext())
            {
                var repositoryAlarms = Helper.Instance.GetAuthorAlarms(context.AuthorAlarms);

                Assert.IsTrue(repositoryAlarms.SequenceEqual(alarms));
            }
        }
Beispiel #22
0
        public void AnalyzeNoUpdatePostCount()
        {
            AuthorAlarm alarm = new AuthorAlarm("2", "1", SentimentType.NEGATIVE, TimeMeasure.DAYS);

            Phrase phrase = new Phrase("I like google", YESTERDAY.AddDays(-25), AUTHOR);

            try
            {
                phrase.AnalyzePhrase(new List <Entity>(), new List <Sentiment> {
                    new Sentiment(SentimentType.POSITIVE, "I like")
                });
            }
            catch (AnalysisException) { }

            alarm.AnalyzePhrases(new List <Phrase> {
                phrase
            });

            Assert.AreEqual(alarm.PostCount, 0);
        }
Beispiel #23
0
        public void IsNotEnabled()
        {
            AuthorAlarm alarm = new AuthorAlarm("2", "1", SentimentType.POSITIVE, TimeMeasure.HOURS);

            Phrase phrase = new Phrase("I like google", YESTERDAY, AUTHOR);

            try
            {
                phrase.AnalyzePhrase(new List <Entity>(), new List <Sentiment> {
                    new Sentiment(SentimentType.POSITIVE, "I like")
                });
            }
            catch (AnalysisException) { }

            alarm.AnalyzePhrases(new List <Phrase> {
                phrase
            });

            Assert.IsFalse(alarm.IsEnabled());
        }
Beispiel #24
0
        public void AddTwoAuthorsAlarms()
        {
            AuthorAlarm alarm = new AuthorAlarm()
            {
                TypeOfAlarm  = AuthorAlarm.TypeOfNewAlarm.Positive,
                QuantityPost = 40,
                QuantityTime = 10,
                IsInHours    = false
            };
            AuthorAlarm alarm2 = new AuthorAlarm()
            {
                TypeOfAlarm  = AuthorAlarm.TypeOfNewAlarm.Negative,
                QuantityPost = 30,
                QuantityTime = 20,
                IsInHours    = true
            };

            management.AddAlarm(alarm);
            management.AddAlarm(alarm2);
            Assert.IsTrue(management.AllAlarms.Length == 2);
        }
Beispiel #25
0
        public void VerifyAlarmsAuthorsAlarms()
        {
            management.AuthorManagement.AddAuthor(author);

            AuthorAlarm aAlarm = new AuthorAlarm()
            {
                TypeOfAlarm  = AuthorAlarm.TypeOfNewAlarm.Positive,
                QuantityPost = 1,
                QuantityTime = 1,
                IsInHours    = false
            };

            management.AlarmManagement.AddAlarm(aAlarm);
            MockedTimeProvider provider = new MockedTimeProvider()
            {
                MockedDateTime = new DateTime(2020, 04, 30, 19, 10, 30)
            };

            management.UpdateAlarms(provider);
            Assert.IsFalse(aAlarm.IsActive);
            CollectionAssert.DoesNotContain(aAlarm.ParticipantsAuthors, author);
        }
Beispiel #26
0
        public void UpdateInvalidPostQuantity()
        {
            AuthorAlarm alarm = new AuthorAlarm("2", "1", SentimentType.NEGATIVE, TimeMeasure.DAYS);

            alarm.PostQuantity = "-1";
        }
Beispiel #27
0
 public void ConstructorNeutralSentimentType()
 {
     AuthorAlarm alarm = new AuthorAlarm("2", "-1", SentimentType.NEUTRAL, TimeMeasure.DAYS);
 }
Beispiel #28
0
        public void SetId()
        {
            AuthorAlarm alarm = new AuthorAlarm("1", "1", SentimentType.NEGATIVE, TimeMeasure.DAYS);

            Assert.IsNotNull(alarm.Id);
        }
Beispiel #29
0
        public void ConstructorWithId()
        {
            AuthorAlarm alarm = new AuthorAlarm(3, 2, 3, DateTime.Now, 3, SentimentType.POSITIVE, TimeMeasure.DAYS);

            Assert.AreEqual(alarm.Id, 3);
        }
Beispiel #30
0
        private void btnSave_Click(object sender, System.EventArgs e)
        {
            try
            {
                string message;

                if (rbtnEntity.Checked)
                {
                    #region Entity Alarm

                    EntityAlarm alarm = new EntityAlarm(
                        txtPostQuantity.Text,
                        txtCantDays.Text,
                        (SentimentType)cboSentimentType.SelectedItem,
                        (Entity)cboEntity.SelectedItem);

                    if (SelectedEntityAlarm == null)
                    {
                        entityAlarmRepository.Add(alarm);
                        message = SAVE_ALARM;
                    }
                    else
                    {
                        alarm.Id           = SelectedEntityAlarm.Id;
                        alarm.CreationDate = SelectedEntityAlarm.CreationDate;
                        entityAlarmRepository.Modify(SelectedEntityAlarm.Id, alarm);
                        message = MODIFY_ALARM;
                    }

                    #endregion
                }
                else
                {
                    #region Author Alarm

                    AuthorAlarm alarm = new AuthorAlarm(
                        txtPostQuantity.Text,
                        txtCantDays.Text,
                        (SentimentType)cboSentimentType.SelectedItem,
                        (TimeMeasure)cboTimeMeasure.SelectedItem);

                    if (SelectedAuthorAlarm == null)
                    {
                        authorAlarmRepository.Add(alarm);
                        message = SAVE_ALARM;
                    }
                    else
                    {
                        alarm.Id           = SelectedAuthorAlarm.Id;
                        alarm.CreationDate = SelectedAuthorAlarm.CreationDate;
                        authorAlarmRepository.Modify(SelectedAuthorAlarm.Id, alarm);
                        message = MODIFY_ALARM;
                    }

                    #endregion
                }

                LoadAlarms();
                ShowSuccess(message);
                CleanFields();
            }
            catch (AlarmException ex)
            {
                ShowError(ex.Message);
            }
        }