Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 

35 wiersze
1.3 KiB

  1. #include "pch.h"
  2. #include "CppUnitTest.h"
  3. #include "MathLibrary.h"
  4. using namespace Microsoft::VisualStudio::CppUnitTestFramework;
  5. namespace UnitTestDemo
  6. {
  7. TEST_CLASS(UnitTestDemo)
  8. {
  9. public:
  10. // 语句覆盖
  11. TEST_METHOD(Divide_ZeroDivisor1) { Assert::AreEqual(0.0, MathLibrary::Divide(4, 0)); }
  12. TEST_METHOD(Divide_ZeroDivisor2) { Assert::AreEqual(0.0, MathLibrary::Divide(4, 0)); }
  13. // 分支覆盖
  14. TEST_METHOD(IsPositive_Positive1) { Assert::IsTrue(MathLibrary::IsPositive(5)); }
  15. TEST_METHOD(IsPositive_Negative2) { Assert::IsFalse(MathLibrary::IsPositive(-5)); }
  16. // 条件覆盖
  17. TEST_METHOD(CheckRange_BothTrue1) { Assert::IsTrue(MathLibrary::CheckRange(5, 5)); }
  18. TEST_METHOD(CheckRange_FirstFalse2) { Assert::IsFalse(MathLibrary::CheckRange(-5, 5)); }
  19. TEST_METHOD(CheckRange_SecondFalse3) { Assert::IsFalse(MathLibrary::CheckRange(5, 15)); }
  20. // 路径覆盖
  21. TEST_METHOD(Discount_TeenMember1) { Assert::AreEqual(0.25, MathLibrary::CalculateDiscount(15, true)); }
  22. TEST_METHOD(Discount_TeenNonMember2) { Assert::AreEqual(0.20, MathLibrary::CalculateDiscount(15, false)); }
  23. TEST_METHOD(Discount_AdultMember3) { Assert::AreEqual(0.15, MathLibrary::CalculateDiscount(20, true)); }
  24. TEST_METHOD(Discount_AdultNonMember4) { Assert::AreEqual(0.10, MathLibrary::CalculateDiscount(20, false)); }
  25. };
  26. }