Example #1
0
 public void TestUserCreation()
 {
     var user = new User("testuser", "pass123", "*****@*****.**");
     IRepository repo = Repository.GetInstance();
     repo.SaveUser(user);
     Assert.IsTrue(repo.IsUserPresent(user.Username));
 }
Example #2
0
        public void PositiveVotesShouldReturnPositiveValue()
        {
            User user = new User("user1", "123", "*****@*****.**");
            Vote vote = AnswerVote.PositiveVote(user);

            Assert.AreEqual(1, vote.Value);
        }
Example #3
0
 public void AnswerKnowsTheUserWhoAnswered()
 {
     const string userName = "******";
     User user = new User(userName, "******", "*****@*****.**");
     Answer answer = new Answer(new AskMeDate(), user, "");
     Assert.AreEqual(user, answer.User);
 }
Example #4
0
 public void ShouldBeAbleToGetTheQuestionText()
 {
     string questionText = "What is the use of 'var' key word?";
     User user = new User("shanu","shanu","*****@*****.**");
     Question question = new Question(questionText,user);
     Assert.AreEqual(questionText,question.QuestionText);
 }
Example #5
0
 public void TestUserRegistrationIfUserNotPresent()
 {
     User user = new User("ShilpaG", "test123", "*****@*****.**");
     var mock = new Mock<IRepository>();
     mock.Setup(ps => ps.IsUserPresent(user.Username)).Returns(false).AtMostOnce();
     Assert.IsTrue(user.Register(mock.Object));
     mock.VerifyAll();
 }
Example #6
0
 public void TestFailUsersRegistrationIfSaveUserThrowsException()
 {
     User user = new User("ShilpaG", "test123", "*****@*****.**");
     var mock = new Mock<IRepository>();
     mock.Setup(ps => ps.IsUserPresent(user.Username)).Returns(false).AtMostOnce();
     mock.Setup(ps => ps.SaveUser(user)).Throws(new Exception("User could not be saved")).AtMostOnce();
     user.Register(mock.Object);
 }
Example #7
0
 public void VerifyAnswerInsertion()
 {
     User user = new User("PakodaSingh", "******", "*****@*****.**");
     user.UserId = 1;
     Repository repository = Repository.GetInstance();
     repository.SaveUser(user);
     Answer answer = new Answer(new AskMeDate(),  user, "");
     repository.SaveAnswer(answer);
 }
Example #8
0
        public void AnswerShouldReturnNumberOfVotes()
        {
            User user = new User("user1", "123", "*****@*****.**");
            AnswerVote vote = AnswerVote.PositiveVote(user);

            User userWhoAnswered = new User("Answerer", "123", "*****@*****.**");
            Answer answer = new Answer(new AskMeDate(), userWhoAnswered, "Dummy answer");
            answer.CastVote(vote);
            Assert.AreEqual(1, answer.Votes.Count);
        }
Example #9
0
        public void AnswererShouldGetTenPointsOnReceivingPositiveVote()
        {
            User user = new User("user1", "123", "*****@*****.**");
            AnswerVote vote = AnswerVote.PositiveVote(user);

            User userWhoAnswered = new User("Answerer", "123", "*****@*****.**");
            Answer answer = new Answer(new AskMeDate(), userWhoAnswered, "Dummy answer" );
            answer.CastVote(vote);
            Assert.AreEqual(10, userWhoAnswered.Points());
        }
Example #10
0
        public void ShouldCollectAnswers()
        {
            User user = new User("shanu", "shanu", "*****@*****.**");
            Question question = new Question("What is the use of 'var' key word?",user);

            question.AddAnswer(new Answer(new AskMeDate(), null, "first answer"));
            Assert.AreEqual(1, question.NumberOfAnswers);
            question.AddAnswer(new Answer(new AskMeDate(), null, "second answer"));
            Assert.AreEqual(2, question.NumberOfAnswers);
        }
Example #11
0
        public void OneUserCanOnlyCastOneVoteForAnAnswer()
        {
            User userWhoAnswered = new User("Answerer", "123", "*****@*****.**");
            Answer answer = new Answer(new AskMeDate(), userWhoAnswered, "Dummy answer");

            User user = new User("user1", "123", "*****@*****.**");
            AnswerVote vote = AnswerVote.PositiveVote(user);

            answer.CastVote(vote);
            Assert.IsTrue(answer.Votes.HasUserVoted(user));

            answer.CastVote(vote);  //this should throw an exception
        }
Example #12
0
        public void ShouldBeAbleToCreateQuestionWithTag()
        {
            string questionText = "What is the use of 'var' key word?";
            Tag csharpTag = new Tag("C#");
            Tag javaTag = new Tag("Java");

            User user = new User("shanu", "shanu", "*****@*****.**");
            Question question = new Question(questionText,user);
            question.AddTags(csharpTag);
            question.AddTags(javaTag);

            Assert.AreEqual(csharpTag, question.Tags[0]);
            Assert.AreEqual(javaTag, question.Tags[1]);
        }
Example #13
0
        public void UserShouldBeAbleCastNegativeVote()
        {
            User userWhoAnswered = new User("Answerer", "123", "*****@*****.**");
            Answer answer = new Answer(new AskMeDate(), userWhoAnswered, "Dummy answer");

            User user = new User("user1", "123", "*****@*****.**");
            AnswerVote vote = AnswerVote.NegativeVote(user);

            answer.CastVote(vote);
        }
Example #14
0
 public Question(string text, User user)
 {
     this.text = text;
     this.user = user;
     askedOn = new AskMeDate();
 }
Example #15
0
 public virtual bool IsOwner(User asker)
 {
     return user.Equals(asker);
 }
Example #16
0
 public bool HasUserVoted(User user)
 {
     int count = ((List<Vote>)votes).FindAll(e => e.User.Equals(user)).Count;
     return count == 1;
 }
Example #17
0
 public virtual void AddPoint(User user)
 {
     if (!User.Equals(user))
         User.AddPoint(20);
 }
Example #18
0
 public Answer(AskMeDate createdOn, User user, string text)
 {
     this.createdOn = createdOn;
     this.user = user;
     this.text = text;
 }
Example #19
0
 public virtual bool Equals(User other)
 {
     if (ReferenceEquals(null, other)) return false;
     if (ReferenceEquals(this, other)) return true;
     return Equals(other.username, username) && Equals(other.emailId, emailId) && Equals(other.password, password) && other.userId == userId;
 }
Example #20
0
 public static QuestionVote PositiveVote(User user)
 {
     var vote = new QuestionVote(user, PositiveValue);
     return vote;
 }
Example #21
0
 private QuestionVote(User user, int value)
     : base(user, value)
 {
 }
Example #22
0
        public void VoteShouldContainUserInfo()
        {
            User user = new User("user1", "123", "*****@*****.**");
            AnswerVote vote = AnswerVote.PositiveVote(user);

            Assert.AreEqual(vote.User.Username, user.Username);
        }