public void GivenMoodAnalyseClassName_ShouldReturnMoodAnalyseObject_UsingParameterizedConstructor()
        {
            object expected = new MoodAnalyser("HAPPY");
            object obj      = MoodAnalyserReflector.CreateMoodAnalyseUsingParameterizedConstructor("MoodAnalyserProject.MoodAnalyser", "MoodAnalyser", "SAD");

            expected.Equals(obj);
        }
        public void GivenMoodAnalyserClassNameWithParametrizedConstructor_WhenProper_ShouldReturnMoodAnalyserObject()
        {
            object expected = new MoodAnalyser("HAPPY");
            object result   = MoodAnalyserReflector.GetMoodAnalyserObjectWithParamterizedConstructor("MoodAnalyserNameSpace.MoodAnalyser", "MoodAnalyser", "HAPPY");

            expected.Equals(result);
        }
示例#3
0
        public void GivenHappyMessage_WithReflector_ShouldReturnHappyMood()
        {
            string expected = "Happy";
            string result   = MoodAnalyserReflector.SetField("Happy", "message");

            Assert.AreEqual(expected, result);
        }
示例#4
0
        public void GivenInvokeMethod_WhenAnalysed_ShouldReturnMoodAnalyserHappy()
        {
            MoodAnalyser moodAnalyser = (MoodAnalyser)MoodAnalyserReflector.Factory("MoodAnalyser", "Happy");
            string       actual       = moodAnalyser.GetType().GetMethod("analyseMood").Invoke(moodAnalyser, null).ToString();

            Assert.AreEqual("Happy", actual);
        }
示例#5
0
        public void GivenHappyMessage_ShouldReturnHappyMood()
        {
            string expected = "Happy";
            string result   = MoodAnalyserReflector.InvokeAnalyseMood("Happy", "AnalyseMood");

            Assert.AreEqual(expected, result);
        }
示例#6
0
        public void Given_NoSuch_Constructor_Name_When_Analysed_Return_MoodAnalyserNoSuchClass()
        {
            string       s1   = MoodAnalyserReflector.Factory("No Such Class").ToString();
            MoodAnalyser obj1 = new MoodAnalyser("Hello");

            Assert.AreEqual("No Such Class", s1);
        }
示例#7
0
        public void Given_Happy_UsingReflection_When_Proper_Should_Return_HAPPYMood()
        {
            object expected = new MoodAnalyser("HAPPY");
            object obj      = MoodAnalyserReflector.InvokeAnalyseMood("AnalyseMood", "HAPPY");

            expected.Equals(obj);
        }
        public void GivenMoodAnalyserClassName_WhenProper_ShouldReturnMoodAnalyserObject()
        {
            object expected = new MoodAnalyser();
            object result   = MoodAnalyserReflector.GetMoodAnalyserObject("MoodAnalyserNameSpace.MoodAnalyser", "MoodAnalyser");

            expected.Equals(result);
        }
        public void ChangeMoodDynamicallyForValidFieldName()
        {
            // ACT
            object actual = MoodAnalyserReflector.ChangingTheMoodDynamically("I am happy today", "message");

            // Assert
            Assert.AreEqual("HAPPY", actual);
        }
示例#10
0
        public void GivenMessage_ShouldReturnMood()
        {
            string message  = "I am feeling happy";
            string expected = "HAPPY";
            string result   = MoodAnalyserReflector.InvokeAnalyseMood(message, "analyseMood");

            Assert.AreEqual(expected, result);
        }
        public void ChangeMoodDynamicallyValid(string message, string fieldName)
        {
            // ACT
            object actual = MoodAnalyserReflector.ChangeMoodDynamically(message, fieldName);

            // Assert
            Assert.AreEqual("happy mood", actual);
        }
示例#12
0
        public void GivenMoodAnalyseClassName_ShouldReturnMoodAnalyseObject()
        {
            string message  = null;
            object expected = new MoodAnalyser(message);
            object obj      = MoodAnalyserReflector.CreateMoodAnalyser("MoodAnalyserProject.MoodAnalyser", "MoodAnalyser");

            expected.Equals(obj);
        }
示例#13
0
        public void TestMoodAnalyserObject()
        {
            //Arrange
            object expected = new MoodAnalyser();
            //Act
            object actual = MoodAnalyserReflector.CreateMoodAnalyserObject("MoodAnalyserProblem.MoodAnalyser", "MoodAnalyser");

            //Assert
            expected.Equals(actual);
        }
        public void CreateParameterizedObjectOfMoodAnalyserClass()
        {
            //Arrange
            MoodAnalyserClass moodAnalyser = new MoodAnalyserClass();
            //Act
            var obj = MoodAnalyserReflector.CreateMoodAnalyserObject("MoodAnalyserProblem.MoodAnalyserClass", "MoodAnalyserClass", "I am in happy mood today");

            //Assert
            obj.Equals(moodAnalyser);
        }
示例#15
0
        public void GivenMoodAnalyserClassName_ShouldReturnMoodAnalyserObject()
        {
            //Arrange
            var expected = new MoodAnalyser();
            //Act
            object result = MoodAnalyserReflector.CreateMoodAnalyserObject("MoodAnalyzerProblem.MoodAnalyser", "MoodAnalyser");

            //Assert
            expected.Equals(result);
        }
示例#16
0
        public void GivenHAPPYMessage_WithReflector_ShouldReturnHAPPY()
        {
            //Arrange
            string expected = "HAPPY";
            //Act
            string actual = MoodAnalyserReflector.SetField("HAPPY", "message");

            //Assert
            Assert.AreEqual(expected, actual);
        }
示例#17
0
        public void GivenHappyMessage_InvokeAnalyseMoodMethod_ShouldReturnHappyMoodMessage()
        {
            //Arrange
            string expected = "Happy Mood";
            //Act
            string actual = MoodAnalyserReflector.InvokeAnalyseMood("Happy", "AnalyseMood");

            //Assert
            Assert.AreEqual(expected, actual);
        }
示例#18
0
        public void TestInvokeMoodAnalyseMethod()
        {
            //Arrange
            string expected = new MoodAnalyser("i am happy").AnalyseMood();
            //Act
            string actual = MoodAnalyserReflector.InvokeAnalyseMoodMethod("i am happy", "AnalyseMood");

            //Assert
            expected.Equals(actual);
        }
        public void InvokeMethodOfMoodAnalyser()
        {
            //Arrange
            MoodAnalyserClass moodAnalyser = new MoodAnalyserClass("I am in happy mood today");
            //Act
            object actual = MoodAnalyserReflector.InvokeMethod("MoodAnalyserProblem.MoodAnalyserClass", "MoodAnalyserClass", "I am in happy mood today", "analyseMood");

            //Assert
            Assert.AreEqual("HAPPY", actual);
        }
        public void CreateObjectOfMoodAnalyserClass()
        {
            //Arrange
            MoodAnalyserClass moodAnalyserClass = new MoodAnalyserClass();
            //Act
            var objectFromFactory = MoodAnalyserReflector.CreateMoodAnalyserObject("MoodAnalyserProblem.MoodAnalyserClass", "MoodAnalyserClass", null);

            //Assert
            objectFromFactory.Equals(moodAnalyserClass);
        }
示例#21
0
        public void TestMoodAnalyserDefaultMessageObject()
        {
            //Arrange
            object expected = new MoodAnalyser("i am happy");
            //Act
            object actual = MoodAnalyserReflector.CreateMoodAnalyserDefaultMessageObject("MoodAnalyserProblem.MoodAnalyser", "MoodAnalyser", "i am happy");

            //Assert
            expected.Equals(actual);
        }
示例#22
0
        public void SetField_WhenPassedNullValue_ThrowsMoodAnalysisException()
        {
            //Arrange
            string message = null;


            //Assert
            Assert.That(() => MoodAnalyserReflector.SetField(_moodAnalyser, _correctFieldName, message), Throws.Exception.InstanceOf <MoodAnalysisException>());
            Assert.That(() => MoodAnalyserReflector.SetField(_moodAnalyser, _correctFieldName, message), Throws.Exception.Message.Contains("cannot set null").IgnoreCase);
        }
示例#23
0
        public void GivenMoodAnalyserClassNameAndMessage_ReturnMoodAnalyserParameterizedObject()
        {
            //Arrange
            var expected = new MoodAnalyser("happy");
            //Act
            object result = MoodAnalyserReflector.CreateMoodAnalyserObject("MoodAnalyzerProblem.MoodAnalyser", "MoodAnalyser", "happy");

            //Assert
            expected.Equals(result);
        }
示例#24
0
        public void SetField_WhenPassedInvalidFieldName_ThrowsMoodAnalysisException()
        {
            //Arrange
            var message = "I am in Happy Mood";


            //Assert
            Assert.That(() => MoodAnalyserReflector.SetField(_moodAnalyser, _incorrectFieldName, message), Throws.Exception.InstanceOf <MoodAnalysisException>());
            Assert.That(() => MoodAnalyserReflector.SetField(_moodAnalyser, _incorrectFieldName, message), Throws.Exception.Message.Contains("No Such Field").IgnoreCase);
        }
示例#25
0
        public void Invoke_WhenPassedInvalidMethodName_ThrowsMoodAnalysisException()
        {
            //Arrange
            var message = "I am in Happy Mood";
            //Act
            Func <string> method = () => MoodAnalyserReflector.Invoke(_incorrectMethodName, message);

            //Assert
            Assert.That(method, Throws.Exception.InstanceOf <MoodAnalysisException>());
            Assert.That(method, Throws.Exception.Message.Contains("No Such Method").IgnoreCase);
        }
示例#26
0
        public void Invoke_WhenPassedProperMethodName_ReturnsHappyMood()
        {
            //Arrange
            var message = "I am in Happy Mood";

            //Act
            var result = MoodAnalyserReflector.Invoke(_correctMethodName, message);

            //Assert
            Assert.That(result, Is.EqualTo("HAPPY"));
        }
 public void GivenMessage_WhenImproperFieldName_UsingReftlection_ShouldThrowMoodAnalysisException()
 {
     try
     {
         string message = MoodAnalyserReflector.SetField("Happy", "Mess");
     }
     catch (MoodAnalyserException exception)
     {
         Assert.AreEqual(MoodAnalyserException.ExceptionType.NO_SUCH_FIELD, exception.exceptionType);
     }
 }
 public void GivenMessage_WhenNull_UsingReftlectionSetField_ShouldThrowMoodAnalysisException()
 {
     try
     {
         string message = MoodAnalyserReflector.SetField(null, "Message");
     }
     catch (MoodAnalyserException exception)
     {
         Assert.AreEqual(MoodAnalyserException.ExceptionType.NULL_MOOD, exception.exceptionType);
     }
 }
 public void GivenMoodAnalyserClassName_WhenConstructorNameIsImproper_ShouldThrowMoodAnalysisException()
 {
     try
     {
         object result = MoodAnalyserReflector.GetMoodAnalyserObject("MoodAnalyserNameSpace.MoodAnalyser", "MoodAnalys");
     }
     catch (MoodAnalyserException exception)
     {
         Assert.AreEqual(MoodAnalyserException.ExceptionType.NO_SUCH_METHOD, exception.exceptionType);
     }
 }
 public void GivenMoodAnalyserClassName_WhenImproper_ShouldThrowMoodAnalysisException()
 {
     try
     {
         object result = MoodAnalyserReflector.GetMoodAnalyserObject("MoodAnalyser.MoodAnalyser", "MoodAnalyser");
     }
     catch (MoodAnalyserException exception)
     {
         Assert.AreEqual(MoodAnalyserException.ExceptionType.NO_SUCH_CLASS, exception.exceptionType);
     }
 }