- Timestamp:
- Oct 24, 2018 12:18:51 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/testcase/tstRTCRest-1.cpp
r74998 r75034 41 41 #include <iprt/test.h> 42 42 43 #include <float.h> /* DBL_MIN, DBL_MAX */44 45 43 46 44 /********************************************************************************************************************************* … … 597 595 RTTestSub(g_hTest, "RTCRestDouble"); 598 596 #if defined(RT_OS_WINDOWS) 599 # define DBL_MAX_STRING "1.7976931348623157e+308" 600 # define DBL_MIN_STRING "2.2250738585072014e-308" 597 # define TST_DBL_MAX_STRING "1.7976931348623157e+308" 598 # define TST_DBL_MIN_STRING "2.2250738585072014e-308" 599 # define TST_DBL_MAX (1.7976931348623157e+308) 600 # define TST_DBL_MIN (2.2250738585072014e-308) 601 601 #else 602 # define DBL_MAX_STRING "1.79769313486231571e+308" 603 # define DBL_MIN_STRING "2.22507385850720138e-308" 602 # define TST_DBL_MAX_STRING "1.79769313486231571e+308" 603 # define TST_DBL_MIN_STRING "2.22507385850720138e-308" 604 # define TST_DBL_MAX (1.79769313486231571e+308) 605 # define TST_DBL_MIN (2.22507385850720138e-308) 604 606 #endif 605 607 … … 640 642 RTTESTI_CHECK(obj3.isNull() == false); 641 643 642 obj3.assignValue( DBL_MAX);643 RTTESTI_CHECK(obj3.m_rdValue == DBL_MAX);644 RTTESTI_CHECK(obj3.isNull() == false); 645 646 obj3.assignValue( DBL_MIN);647 RTTESTI_CHECK(obj3.m_rdValue == DBL_MIN);644 obj3.assignValue(TST_DBL_MAX); 645 RTTESTI_CHECK(obj3.m_rdValue == TST_DBL_MAX); 646 RTTESTI_CHECK(obj3.isNull() == false); 647 648 obj3.assignValue(TST_DBL_MIN); 649 RTTESTI_CHECK(obj3.m_rdValue == TST_DBL_MIN); 648 650 RTTESTI_CHECK(obj3.isNull() == false); 649 651 … … 660 662 661 663 /* Copy assignments: */ 662 RTCRestDouble obj3Max( DBL_MAX);663 RTTESTI_CHECK(obj3Max.m_rdValue == DBL_MAX);664 RTCRestDouble obj3Max(TST_DBL_MAX); 665 RTTESTI_CHECK(obj3Max.m_rdValue == TST_DBL_MAX); 664 666 RTTESTI_CHECK(obj3Max.isNull() == false); 665 RTCRestDouble obj3Min( DBL_MIN);666 RTTESTI_CHECK(obj3Min.m_rdValue == DBL_MIN);667 RTCRestDouble obj3Min(TST_DBL_MIN); 668 RTTESTI_CHECK(obj3Min.m_rdValue == TST_DBL_MIN); 667 669 RTTESTI_CHECK(obj3Min.isNull() == false); 668 670 RTCRestDouble obj3Null; … … 673 675 RTTESTI_CHECK_RC(obj3.setNull(), VINF_SUCCESS); 674 676 RTTESTI_CHECK_RC(obj3.assignCopy(obj3Max), VINF_SUCCESS); 675 RTTESTI_CHECK(obj3.m_rdValue == DBL_MAX);677 RTTESTI_CHECK(obj3.m_rdValue == TST_DBL_MAX); 676 678 RTTESTI_CHECK(obj3.isNull() == false); 677 679 … … 681 683 682 684 RTTESTI_CHECK_RC(obj3.assignCopy(obj3Min), VINF_SUCCESS); 683 RTTESTI_CHECK(obj3.m_rdValue == DBL_MIN);685 RTTESTI_CHECK(obj3.m_rdValue == TST_DBL_MIN); 684 686 RTTESTI_CHECK(obj3.isNull() == false); 685 687 … … 689 691 690 692 obj3 = obj3Max; 691 RTTESTI_CHECK(obj3.m_rdValue == DBL_MAX);693 RTTESTI_CHECK(obj3.m_rdValue == TST_DBL_MAX); 692 694 RTTESTI_CHECK(obj3.isNull() == false); 693 695 … … 697 699 698 700 obj3 = obj3Min; 699 RTTESTI_CHECK(obj3.m_rdValue == DBL_MIN);701 RTTESTI_CHECK(obj3.m_rdValue == TST_DBL_MIN); 700 702 RTTESTI_CHECK(obj3.isNull() == false); 701 703 702 704 /* setNull implies resetToDefault: */ 703 705 obj3 = obj3Max; 704 RTTESTI_CHECK(obj3.m_rdValue == DBL_MAX);706 RTTESTI_CHECK(obj3.m_rdValue == TST_DBL_MAX); 705 707 RTTESTI_CHECK(obj3.isNull() == false); 706 708 RTTESTI_CHECK_RC(obj3.setNull(), VINF_SUCCESS); … … 711 713 { 712 714 RTCRestDouble obj3a(obj3Max); 713 RTTESTI_CHECK(obj3a.m_rdValue == DBL_MAX);715 RTTESTI_CHECK(obj3a.m_rdValue == TST_DBL_MAX); 714 716 RTTESTI_CHECK(obj3a.isNull() == false); 715 717 } 716 718 { 717 719 RTCRestDouble obj3b(obj3Min); 718 RTTESTI_CHECK(obj3b.m_rdValue == DBL_MIN);720 RTTESTI_CHECK(obj3b.m_rdValue == TST_DBL_MIN); 719 721 RTTESTI_CHECK(obj3b.isNull() == false); 720 722 } … … 727 729 /* Serialization to json: */ 728 730 const char *pszJson = toJson(&obj3Max); 729 RTTESTI_CHECK_MSG(strcmp(pszJson, DBL_MAX_STRING) == 0, ("pszJson=%s\n", pszJson));731 RTTESTI_CHECK_MSG(strcmp(pszJson, TST_DBL_MAX_STRING) == 0, ("pszJson=%s\n", pszJson)); 730 732 pszJson = toJson(&obj3Min); 731 RTTESTI_CHECK_MSG(strcmp(pszJson, DBL_MIN_STRING) == 0, ("pszJson=%s\n", pszJson));733 RTTESTI_CHECK_MSG(strcmp(pszJson, TST_DBL_MIN_STRING) == 0, ("pszJson=%s\n", pszJson)); 732 734 pszJson = toJson(&obj3Null); 733 735 RTTESTI_CHECK_MSG(strcmp(pszJson, "null") == 0, ("pszJson=%s\n", pszJson)); … … 738 740 str = "lead-in:"; 739 741 RTTESTI_CHECK_RC(obj3Max.toString(&str, RTCRestObjectBase::kToString_Append), VINF_SUCCESS); 740 strExpect.printf("lead-in:%s", DBL_MAX_STRING);742 strExpect.printf("lead-in:%s", TST_DBL_MAX_STRING); 741 743 RTTESTI_CHECK_MSG(str.equals(strExpect), ("str=%s strExpect=%s\n", str.c_str(), strExpect.c_str())); 742 744 RTTESTI_CHECK_RC(obj3Max.toString(&str), VINF_SUCCESS); 743 RTTESTI_CHECK_MSG(str.equals( DBL_MAX_STRING), ("str=%s\n", str.c_str()));745 RTTESTI_CHECK_MSG(str.equals(TST_DBL_MAX_STRING), ("str=%s\n", str.c_str())); 744 746 745 747 str = "lead-in:"; 746 748 RTTESTI_CHECK_RC(obj3Min.toString(&str, RTCRestObjectBase::kToString_Append), VINF_SUCCESS); 747 strExpect.printf("lead-in:%s", DBL_MIN_STRING);749 strExpect.printf("lead-in:%s", TST_DBL_MIN_STRING); 748 750 RTTESTI_CHECK_MSG(str.equals(strExpect), ("str=%s strExpect=%s\n", str.c_str(), strExpect.c_str())); 749 751 RTTESTI_CHECK_RC(obj3Min.toString(&str), VINF_SUCCESS); 750 RTTESTI_CHECK_MSG(str.equals( DBL_MIN_STRING), ("str=%s\n", str.c_str()));752 RTTESTI_CHECK_MSG(str.equals(TST_DBL_MIN_STRING), ("str=%s\n", str.c_str())); 751 753 752 754 str = "lead-in:"; … … 773 775 774 776 obj4.setNull(); 775 RTTESTI_CHECK_RC(deserializeFromJson(&obj4, DBL_MAX_STRING, &ErrInfo, RT_XSTR(__LINE__)), VINF_SUCCESS);776 RTTESTI_CHECK(obj4.m_rdValue == DBL_MAX);777 RTTESTI_CHECK(obj4.isNull() == false); 778 779 obj4.setNull(); 780 RTTESTI_CHECK_RC(deserializeFromJson(&obj4, DBL_MIN_STRING, &ErrInfo, RT_XSTR(__LINE__)), VINF_SUCCESS);781 RTTESTI_CHECK(obj4.m_rdValue == DBL_MIN);777 RTTESTI_CHECK_RC(deserializeFromJson(&obj4, TST_DBL_MAX_STRING, &ErrInfo, RT_XSTR(__LINE__)), VINF_SUCCESS); 778 RTTESTI_CHECK(obj4.m_rdValue == TST_DBL_MAX); 779 RTTESTI_CHECK(obj4.isNull() == false); 780 781 obj4.setNull(); 782 RTTESTI_CHECK_RC(deserializeFromJson(&obj4, TST_DBL_MIN_STRING, &ErrInfo, RT_XSTR(__LINE__)), VINF_SUCCESS); 783 RTTESTI_CHECK(obj4.m_rdValue == TST_DBL_MIN); 782 784 RTTESTI_CHECK(obj4.isNull() == false); 783 785 … … 797 799 798 800 /* object goes to default state on failure: */ 799 obj4.assignValue( DBL_MIN);801 obj4.assignValue(TST_DBL_MIN); 800 802 RTTESTI_CHECK_RC(deserializeFromJson(&obj4, "false", &ErrInfo, RT_XSTR(__LINE__)), VERR_REST_WRONG_JSON_TYPE_FOR_DOUBLE); 801 803 RTTESTI_CHECK(obj4.m_rdValue == 0.0); … … 803 805 RTTESTI_CHECK(RTErrInfoIsSet(&ErrInfo.Core)); 804 806 805 obj4.assignValue( DBL_MAX);807 obj4.assignValue(TST_DBL_MAX); 806 808 RTTESTI_CHECK_RC(deserializeFromJson(&obj4, "\"false\"", &ErrInfo, RT_XSTR(__LINE__)), VERR_REST_WRONG_JSON_TYPE_FOR_DOUBLE); 807 809 RTTESTI_CHECK(obj4.m_rdValue == 0.0); … … 824 826 RTTESTI_CHECK(obj4.isNull() == false); 825 827 826 RTTESTI_CHECK_RC(fromString(&obj4, DBL_MAX_STRING, &ErrInfo, RT_XSTR(__LINE__)), VINF_SUCCESS);827 RTTESTI_CHECK(obj4.m_rdValue == DBL_MAX);828 RTTESTI_CHECK(obj4.isNull() == false); 829 830 RTTESTI_CHECK_RC(fromString(&obj4, DBL_MIN_STRING, &ErrInfo, RT_XSTR(__LINE__)), VINF_SUCCESS);831 RTTESTI_CHECK(obj4.m_rdValue == DBL_MIN);828 RTTESTI_CHECK_RC(fromString(&obj4, TST_DBL_MAX_STRING, &ErrInfo, RT_XSTR(__LINE__)), VINF_SUCCESS); 829 RTTESTI_CHECK(obj4.m_rdValue == TST_DBL_MAX); 830 RTTESTI_CHECK(obj4.isNull() == false); 831 832 RTTESTI_CHECK_RC(fromString(&obj4, TST_DBL_MIN_STRING, &ErrInfo, RT_XSTR(__LINE__)), VINF_SUCCESS); 833 RTTESTI_CHECK(obj4.m_rdValue == TST_DBL_MIN); 832 834 RTTESTI_CHECK(obj4.isNull() == false); 833 835
Note:
See TracChangeset
for help on using the changeset viewer.