UnitTest.cs 4.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using System;
  3. namespace WSUniversalLib.UnitTest
  4. {
  5. [TestClass]
  6. public class UnitTest
  7. {
  8. /// <summary>
  9. /// Метод возвращает требуемый результат при всех правильных данных.
  10. /// </summary>
  11. [TestMethod]
  12. public void GetQuantityForProduct_CorrectInput()
  13. {
  14. Assert.AreEqual(114147, Calculation.GetQuantityForProduct(3, 1, 15, 20, 45));
  15. }
  16. /// <summary>
  17. /// Метод возвращает требуемый результат при неправильном типе продукции.
  18. /// </summary>
  19. [TestMethod]
  20. public void GetQuantityForProduct_IncorrectInputProduct()
  21. {
  22. Assert.AreEqual(-1, Calculation.GetQuantityForProduct(0, 1, 15, 20, 45));
  23. }
  24. /// <summary>
  25. /// Метод возвращает требуемый результат при неправильном типе продукции.
  26. /// </summary>
  27. [TestMethod]
  28. public void GetQuantityForProduct_IncorrectInputMaterial()
  29. {
  30. Assert.AreEqual(-1, Calculation.GetQuantityForProduct(3, 0, 15, 20, 45));
  31. }
  32. /// <summary>
  33. /// Проверка, что метод возвращает целочисленное значение.
  34. /// </summary>
  35. [TestMethod]
  36. public void GetQuantityForProduct_IsInt()
  37. {
  38. Assert.IsInstanceOfType(Calculation.GetQuantityForProduct(3, 1, 15, 20, 45), typeof(int));
  39. }
  40. /// <summary>
  41. /// Проверка, что метод округляет в большую сторону.
  42. /// </summary>
  43. [TestMethod]
  44. public void GetQuantityForProduct_Round()
  45. {
  46. Assert.IsTrue(Calculation.GetQuantityForProduct(3, 1, 15, 20, 45) > 114146.4);
  47. }
  48. /// <summary>
  49. /// Проверка, что вознкиает исключение, если ввести число продукции <= 0 при правильных типах.
  50. /// </summary>
  51. [TestMethod]
  52. public void GetQuantityForProduct_ExceptionInvalidCount()
  53. {
  54. Assert.ThrowsException<System.ArgumentException>(()=> Calculation.GetQuantityForProduct(3, 1, 0, 20, 45));
  55. }
  56. /// <summary>
  57. /// Проверка, что вознкиает исключение, если ввести ширину <= 0 при правильных типах.
  58. /// </summary>
  59. [TestMethod]
  60. public void GetQuantityForProduct_ExceptionInvalidWidth()
  61. {
  62. Assert.ThrowsException<System.ArgumentException>(()=> Calculation.GetQuantityForProduct(3, 1, 15, -20, 45));
  63. }
  64. /// <summary>
  65. /// Проверка, что вознкиает исключение, если ввестидлину <= 0 при правильных типах.
  66. /// </summary>
  67. [TestMethod]
  68. public void GetQuantityForProduct_ExceptionInvalidLength()
  69. {
  70. Assert.ThrowsException<System.ArgumentException>(()=> Calculation.GetQuantityForProduct(3, 1, 15, 20, -45));
  71. }
  72. /// <summary>
  73. /// Проверка, что вознкиает исключение, если ввести все параметры <= 0 при правильных типах.
  74. /// </summary>
  75. [TestMethod]
  76. public void GetQuantityForProduct_ExceptionInvalidParametrWithoutType()
  77. {
  78. Assert.ThrowsException<System.ArgumentException>(()=> Calculation.GetQuantityForProduct(3, 1, 0, -20, -45));
  79. }
  80. /// <summary>
  81. /// Проверка, что вознкиает исключение, если ввести все параметры <= 0 при неправильных типах.
  82. /// </summary>
  83. [TestMethod]
  84. public void GetQuantityForProduct_ExceptionWithAllInvalidParametr()
  85. {
  86. Assert.ThrowsException<System.ArgumentException>(()=> Calculation.GetQuantityForProduct(5, 6, 0, -20, -45));
  87. }
  88. }
  89. }