小编sum*_*uma的帖子

EXPECT_EQ与double或float之和的错误

我无法理解为什么测试用例在汇总双数或浮点数时失败.它对整数数据类型非常精细.

// simple_method.h中的方法

double sum ( double a, double b)
{
    double res = a+b;
    return res;
}
Run Code Online (Sandbox Code Playgroud)

//此方法的测试用例

TEST(simpleSum, sumOfFloat)
{
    EXPECT_EQ(4.56, sum(0.56, 4.0));
}
Run Code Online (Sandbox Code Playgroud)

//输出是

Running main() from gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from simpleSum
[ RUN      ] simpleSum.sumOfFloat
/home/pcadmin/Desktop/so/so3/simple_method_test.cpp:7: Failure
Value of: sum(0.56, 4.0)
  Actual: 4.56
Expected: 4.56
[  FAILED  ] simpleSum.sumOfFloat (0 ms)
[----------] 1 test from simpleSum (0 ms total)

[----------] Global test …
Run Code Online (Sandbox Code Playgroud)

c++ floating-point unit-testing googletest

16
推荐指数
3
解决办法
3万
查看次数

调用QApplication的quit()方法

如果我尝试直接使用quit()方法,它正在编译完美,但是在运行时出现错误,说"对象::连接:没有这样的插槽myClass :: quit()." 所以要避免这种情况,有什么办法吗?通过使用方法quitPicture()(定义为槽),应用程序正常工作.这是唯一的解决方案吗?

myClass::myClass(QWidget *parent)
    : QWidget(parent)
{
    QWidget *window = new QWidget;
    window->setWindowTitle(QObject::tr("Class"));

    QPushButton *quitButton = new QPushButton("&Quit");
//    QObject::connect(quitButton, SIGNAL(clicked()), this, SLOT(quit()));      //showing run time error
    QObject::connect(quitButton, SIGNAL(clicked()), this, SLOT(quitPicture())); //working perfectly

    QHBoxLayout *layout = new QHBoxLayout;
    layout->addWidget(this);
    layout->addWidget(quitButton);
    window->setLayout(layout);
    window->show();
}

void myClass::quitPicture()
{
    std::cout << "calling quitPicture" << std::endl;
    QApplication::quit();
}
Run Code Online (Sandbox Code Playgroud)

qt

6
推荐指数
1
解决办法
2万
查看次数

如何使用 sprintf 格式化浮点数,其中精度可能会有所不同

我必须打印一个浮点值,但是在编译时不知道精度。所以这个参数必须作为参数传递。这是如何实现的。在 windows 中,使用 CString,格式函数有助于实现这一点。如何在没有 CString 的情况下实现这一点。代码:

int main()
{

   /* This below code segment works fine.*/
   char str[80];
   sprintf(str, "Value of Pi = %.3f", 3.147758);
   std::cout << str << std::endl; //Prints "Value of Pi = 3.148"

   /* When the precision may vary, henc It needs to be printed required on that.*/
   char str2[80];
   std::string temp = "%.3f";   //This is required as the precision may change. 
                                    // i.e I may have 4 instead 3 decimal points.
   sprintf(str2, "Value = %s", temp, …
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
8874
查看次数

CSS样式不会反映在HTML中

我在styles.css中实现了CSS样式,并在ExternalCSSStyles.html中使用了该文件.文件内容如下:styles.css

<!DOCTYPE html>
<html>
<head>
<style>
h1 {
    color:fuchsia;
    font-family:verdana;
    font-size:300%;

}
p  {
    color:maroon;
    font-family:courier;
    font-size:160%;
}
</style>
</head>
</html>
Run Code Online (Sandbox Code Playgroud)

ExternalCSSStyles.html如下:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="styles.css">
</head>

<body>
  <h1>This is a heading</h1>
  <p>This is a paragraph.</p>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

显示的输出如下:这是一个标题(黑色)

这是一个段落.(栗色)

但是如果我修改ExternalCSSStyles.hmtl以使其成为内部CSS样式,如下所示:

<!DOCTYPE html>
<html>
<head>
<style>
h1 {
    color:fuchsia;
    font-family:verdana;
    font-size:300%;

}
p  {
    color:maroon;
    font-family:courier;
    font-size:160%;
}
</style>
</head>

<body>
  <h1>This is a heading</h1>
  <p>This is a paragraph.</p>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

然后输出如下:这是一个标题(颜色的fushia)

这是一个段落.(栗色)

我的问题是为什么标题没有按照styles.css中提供的样式生效?请帮我弄清楚这个问题.

html css

0
推荐指数
1
解决办法
87
查看次数

标签 统计

c++ ×2

css ×1

floating-point ×1

googletest ×1

html ×1

qt ×1

unit-testing ×1