PuzzleSDK
TestWriteValueMap类 参考

#include <FileUtilsTest.h>

+ 类 TestWriteValueMap 继承关系图:
+ TestWriteValueMap 的协作图:

Public 成员函数

 CREATE_FUNC (TestWriteValueMap)
 
virtual void onEnter () override
 
virtual void onExit () override
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
- Public 成员函数 继承自 TestCase
 TestCase ()
 
 ~TestCase ()
 
virtual Type getTestType () const
 
virtual float getDuration () const
 
virtual std::string getExpectedOutput () const
 
virtual std::string getActualOutput () const
 
virtual void restartTestCallback (cocos2d::Ref *sender)
 
virtual void nextTestCallback (cocos2d::Ref *sender)
 
virtual void priorTestCallback (cocos2d::Ref *sender)
 
virtual void onBackCallback (cocos2d::Ref *sender)
 
void setTestSuite (TestSuite *testSuite)
 
TestSuitegetTestSuite () const
 
float getRunTime () const
 
void setTestCaseName (const std::string &name)
 
std::string getTestCaseName () const
 
const cocos2d::Label * getSubtitleLable () const
 
const cocos2d::MenuItemImage * getRestartTestItem () const
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

详细描述

在文件 FileUtilsTest.h153 行定义.

成员函数说明

◆ CREATE_FUNC()

TestWriteValueMap::CREATE_FUNC ( TestWriteValueMap  )

◆ onEnter()

void TestWriteValueMap::onEnter ( )
overridevirtual

重载 TestCase .

在文件 FileUtilsTest.cpp743 行定义.

744{
746
747 auto winSize = Director::getInstance()->getWinSize();
748
749 auto writeResult = Label::createWithTTF("show writeResult", "fonts/Thonburi.ttf", 18);
750 this->addChild(writeResult);
751 writeResult->setPosition(winSize.width / 2, winSize.height * 3 / 4);
752
753 auto readResult = Label::createWithTTF("show readResult", "fonts/Thonburi.ttf", 18);
754 this->addChild(readResult);
755 readResult->setPosition(winSize.width / 2, winSize.height / 3);
756
757 ValueMap valueMap;
758
759 ValueMap mapInValueMap;
760 mapInValueMap["string1"] = "string in dictInMap key 0";
761 mapInValueMap["string2"] = "string in dictInMap key 1";
762 mapInValueMap["none"].getType();
763
764 valueMap["data0"] = Value(mapInValueMap);
765
766 valueMap["data1"] = Value("string in array");
767
768 ValueVector arrayInMap;
769 arrayInMap.push_back(Value("string 0 in arrayInMap"));
770 arrayInMap.push_back(Value("string 1 in arrayInMap"));
771 valueMap["data2"] = arrayInMap;
772
773 //add boolean to the plist
774 auto booleanObject = Value(true);
775 valueMap["data3"] = booleanObject;
776
777 //add integer to the plist
778 auto intObject = Value(1024);
779 valueMap["data4"] = intObject;
780
781 //add float to the plist
782 auto floatObject = Value(1024.1024f);
783 valueMap["data5"] = floatObject;
784
785 //add double to the plist
786 auto doubleObject = Value(1024.123);
787 valueMap["data6"] = doubleObject;
788
789
790 // end with /
791 std::string writablePath = FileUtils::getInstance()->getWritablePath();
792 std::string fullPath = writablePath + "testWriteValueMap.plist";
793 if (FileUtils::getInstance()->writeValueMapToFile(valueMap, fullPath.c_str()))
794 {
795 log("see the plist file at %s", fullPath.c_str());
796 writeResult->setString("write success");
797 }
798 else
799 {
800 log("write plist file failed");
801 writeResult->setString("write failed");
802 }
803
804 ValueMap readValueMap = FileUtils::getInstance()->getValueMapFromFile(fullPath.c_str());
805 std::string readDataStr = "read data:\n";
806 // read value map data
807 ValueMap readMapInMap = readValueMap["data0"].asValueMap();
808 readDataStr += " mapValue:[\"string1\"][" + readMapInMap["string1"].asString() + "]\n";
809 readDataStr += " mapValue:[\"string2\"][" + readMapInMap["string2"].asString() + "]\n";
810
811 // read string data
812 readDataStr += " stringValue:" + readValueMap["data1"].asString() + "\n";
813
814 // read value vector data
815 ValueVector readVectorInMap = readValueMap["data2"].asValueVector();
816 readDataStr += " vectorValue:[1]" + readVectorInMap.at(0).asString() + "\n";
817 readDataStr += " vectorValue:[2]" + readVectorInMap.at(1).asString() + "\n";
818
819 // read bool data
820 readDataStr += " boolValue:" + StringUtils::format("%d", readValueMap["data3"].asBool()) + "\n";
821
822 // read int data
823 readDataStr += " intValue:" + StringUtils::format("%d", readValueMap["data4"].asInt()) + "\n";
824
825 // read float data
826 readDataStr += " floatValue:" + StringUtils::format("%f", readValueMap["data5"].asFloat()) + "\n";
827
828 // read double data
829 readDataStr += " doubleValue:" + StringUtils::format("%f", readValueMap["data6"].asDouble()) + "\n";
830
831 readResult->setString(readDataStr);
832}
virtual void onEnter() override
Definition: BaseTest.cpp:430

引用了 TestCase::onEnter().

+ 函数调用图:

◆ onExit()

void TestWriteValueMap::onExit ( )
overridevirtual

在文件 FileUtilsTest.cpp833 行定义.

834{
835 FileUtilsDemo::onExit();
836}

◆ subtitle()

std::string TestWriteValueMap::subtitle ( ) const
overridevirtual

重载 TestCase .

在文件 FileUtilsTest.cpp843 行定义.

844{
845 return "";
846}

◆ title()

std::string TestWriteValueMap::title ( ) const
overridevirtual

重载 TestCase .

在文件 FileUtilsTest.cpp838 行定义.

839{
840 return "FileUtils: TestWriteValueMap to files";
841}

该类的文档由以下文件生成: