public void givenObject_WhenAnalyse_shouldReturnsObject()
        {
            MoodAnalyesrReflecotr <MoodAnalyser> obj_mood = new MoodAnalyesrReflecotr <MoodAnalyser>();
            ConstructorInfo constructorInfo = obj_mood.GetDefaultConstructor(1);
            object          obj_compare     = obj_mood.GetParameterizedInsatance("MoodAnalyser", constructorInfo, "I am in Sad Mood");
            MoodAnalyser    mood            = new MoodAnalyser("I am in Sad Mood");

            Assert.AreEqual(mood, obj_compare);
        }
 /// <summary>
 /// Test Case 6.2
 /// Invoke the method using reflection and returns no such method
 /// </summary>
 public void givenWrongMethodName_WhenAnalyse_shouldReturnsMethodNotFoundException()
 {
     try
     {
         MoodAnalyesrReflecotr <MoodAnalyser> obj_mood = new MoodAnalyesrReflecotr <MoodAnalyser>();
         ConstructorInfo constructorInfo = obj_mood.GetDefaultConstructor();
         object          obj_compare     = obj_mood.GetParameterizedInsatance("MoodAnalyser", constructorInfo, "MoodAnalysis");
     }
     catch (MoodAnalysisException e)
     {
         Assert.AreEqual(MoodAnalysisException.ExceptionType.NO_SUCH_METHOD, e.type);
     }
 }
 public void givenNullMessage_WhenAnalyse_shouldReturnsNullException()
 {
     try
     {
         MoodAnalyesrReflecotr <MoodAnalyser> obj_mood = new MoodAnalyesrReflecotr <MoodAnalyser>();
         string actual   = obj_mood.InvokeMoodAnalyser("AnalyseMood", null);
         string Expected = "Null_Exception";
         Assert.AreEqual(Expected, actual);
     }
     catch (NullReferenceException e)
     {
         _ = e.StackTrace;
     }
 }
 public void givenInproperField_WhenAnalyse_shouldReturnNoFieldException()
 {
     try
     {
         MoodAnalyesrReflecotr <MoodAnalyser> obj_mood = new MoodAnalyesrReflecotr <MoodAnalyser>();
         string actual   = obj_mood.InvokeMoodAnalyser("AnalyseMood", "Improper Field Name");
         string Expected = "No_Such_Field_Exception";
         Assert.AreEqual(Expected, actual);
     }
     catch (NullReferenceException e)
     {
         _ = e.StackTrace;
     }
 }
 public void givenFieldValueHappy_WhenAnalyse_shouldReturnsHappy()
 {
     try
     {
         MoodAnalyesrReflecotr <MoodAnalyser> obj_mood = new MoodAnalyesrReflecotr <MoodAnalyser>();
         string actual   = obj_mood.InvokeMoodAnalyser("MoodAnalysisMethod", "message");
         string Expected = "HAPPY";
         Assert.AreEqual(actual, Expected);
     }
     catch (NullReferenceException e)
     {
         _ = e.StackTrace;
     }
 }