本文整理汇总了C++中Molecule::data方法的典型用法代码示例。如果您正苦于以下问题:C++ Molecule::data方法的具体用法?C++ Molecule::data怎么用?C++ Molecule::data使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Molecule
的用法示例。
在下文中一共展示了Molecule::data方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TEST(FileFormatManagerTest, readFileGuessCjson)
{
Molecule molecule;
FileFormatManager::instance().readFile(molecule,
std::string(AVOGADRO_DATA)
+ "/data/ethane.cjson");
EXPECT_EQ(molecule.data("name").type(), Variant::String);
EXPECT_EQ(molecule.data("name").toString(), "Ethane");
EXPECT_EQ(molecule.data("inchi").type(), Variant::String);
EXPECT_EQ(molecule.data("inchi").toString(), "1/C2H6/c1-2/h1-2H3");
}
示例2:
TEST(CjsonTest, readFile)
{
CjsonFormat cjson;
Molecule molecule;
bool success = cjson.readFile(std::string(AVOGADRO_DATA) +
"/data/ethane.cjson", molecule);
EXPECT_TRUE(success);
EXPECT_EQ(cjson.error(), "");
EXPECT_EQ(molecule.data("name").type(), Variant::String);
EXPECT_EQ(molecule.data("name").toString(), "Ethane");
EXPECT_EQ(molecule.data("inchi").type(), Variant::String);
EXPECT_EQ(molecule.data("inchi").toString(), "1/C2H6/c1-2/h1-2H3");
}
示例3:
TEST_F(MoleculeTest, dataMap)
{
Molecule molecule;
molecule.setData("name", "ethanol");
molecule.setData("formula", "C2H6O");
VariantMap varMap = molecule.dataMap();
varMap.setValue("SMILES", "CCO");
molecule.setDataMap(varMap);
molecule.dataMap().setValue("CAS", "64-17-5");
std::vector<std::string> dataNames = molecule.dataMap().names();
EXPECT_EQ(dataNames.size(), 4);
EXPECT_EQ(molecule.hasData("name"), true);
EXPECT_EQ(molecule.hasData("invalid"), false);
EXPECT_EQ(molecule.data("name").toString(), "ethanol");
EXPECT_EQ(molecule.data("formula").toString(), "C2H6O");
EXPECT_EQ(molecule.data("SMILES").toString(), "CCO");
EXPECT_EQ(molecule.data("CAS").toString(), "64-17-5");
}