Guest User

Untitled

a guest
Aug 18th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. TDD: How to test result when a method my return different result depending on the input?
  2. public class MyClass
  3. {
  4. public int MyMethod(int? i)
  5. {
  6. throw new NotImplementedException();
  7. }
  8. }
  9.  
  10. [TestClass]
  11. public class MyClassTest
  12. {
  13. Public void Retur_Int_Greater_Than_Zero_When_Input_Is_Not_Null_And_Zero_Otherwise()
  14. {
  15. // Arrange
  16. var myVar = new MyClass();
  17. int? i = 3;
  18.  
  19. // Act
  20. var result = myVar.MyMethod(i)
  21.  
  22. //Assert
  23. //
  24. }
  25. }
  26.  
  27. if(i.HasValue)
  28. {
  29. //Define the Assert statement inside a If, else constructions...
  30. }
  31.  
  32. // Act
  33. var result = myVar.MyMethod(null)
  34. //Assert
  35. Assert.That(result, Is.EqualTo(0));
  36.  
  37. // Act
  38. var result = myVar.MyMethod(0)
  39. //Assert
  40. Assert.That(result, Is.EqualTo(0));
  41.  
  42. // Act
  43. int graterThatZero = 1;
  44. int absoluteValue = //define it here;
  45. var result = myVar.MyMethod(graterThatZero)
  46. //Assert
  47. Assert.That(result, Is.EqualTo(absoluteValue));
  48.  
  49. [TestCase(null,0)]
  50. [TestCase(0,0)]
  51. [TestCase(1, 1 /* absolute value */)]
  52. [TestCase(-1, 1)]
  53. public void MyMethod_should_return_absolute_value(int? argument, int expectedResult)
  54. {
  55. // Arrange
  56. var myVar = new MyClass();
  57. // Act
  58. var result = myVar.MyMethod(argument)
  59. // Assert
  60. Assert.That(result, Is.EqualTo(expectedResult));
  61. }
  62.  
  63. [TestCase(null,0)]
  64. [TestCase(0,0)]
  65. [TestCase(10,10)]
  66. [TestCase(-10,10)]
  67. public void TestItWorksForInput(int? input, int expectedOutput)
  68. {
  69. var myVar = new MyClass();
  70. var output = myVar.MyMethod(argument);
  71. Assert.That(output, Is.EqualTo(expectedOutput));
  72. }
Add Comment
Please, Sign In to add comment