Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Prog2
/
ell_feladat
/
Test
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
A prog2-höz tartozó friss repo anyagok itt elérhetőek:
https://git.iit.bme.hu/
Commit
e2c3eb0a
authored
May 03, 2022
by
Szeberényi Imre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
almostEQ fix
parent
c7dedca7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
11 deletions
+12
-11
gtest_lite.h
+12
-11
No files found.
gtest_lite.h
View file @
e2c3eb0a
...
@@ -2,14 +2,15 @@
...
@@ -2,14 +2,15 @@
#define GTEST_LITE_H
#define GTEST_LITE_H
/**
/**
* \file gtest_lite.h (v
3/2019
)
* \file gtest_lite.h (v
4/2022
)
*
*
* Google gtest keretrendszerhez hasonló rendszer.
* Google gtest keretrendszerhez hasonló rendszer.
* Sz.I. 2015., 2016., 2017. (_Has_X)
* Sz.I. 2015., 2016., 2017. (_Has_X)
* Sz.I. 2018 (template), ENDM, ENDMsg, nullptr_t
* Sz.I. 2018 (template), ENDM, ENDMsg, nullptr_t
* Sz.I. 2019 singleton
* Sz.I. 2019 singleton
* Sz.I. 2021 ASSERT.., STRCASE...
* Sz.I. 2021 ASSERT.., STRCASE...
* Sz.I. 2021 EXPEXT_REGEXP, CREATE_Has_fn_, cmp w. NULL
* Sz.I. 2021 EXPEXT_REGEXP, CREATE_Has_fn_, cmp w. NULL, EXPECT_ param fix
* V.B., Sz.I. 2022 almostEQ fix
*
*
* A tesztelés legalapvetőbb funkcióit támogató függvények és makrók.
* A tesztelés legalapvetőbb funkcióit támogató függvények és makrók.
* Nem szálbiztos megvalósítás.
* Nem szálbiztos megvalósítás.
...
@@ -339,8 +340,8 @@ public:
...
@@ -339,8 +340,8 @@ public:
static
Test
&
test
=
Test
::
getTest
();
static
Test
&
test
=
Test
::
getTest
();
/// általános sablon a várt értékhez.
/// általános sablon a várt értékhez.
template
<
typename
T
>
template
<
typename
T
1
,
typename
T2
>
std
::
ostream
&
EXPECT_
(
T
exp
,
T
act
,
bool
(
*
pred
)(
T
,
T
),
const
char
*
file
,
int
line
,
std
::
ostream
&
EXPECT_
(
T
1
exp
,
T2
act
,
bool
(
*
pred
)(
T1
,
T1
),
const
char
*
file
,
int
line
,
const
char
*
expr
,
const
char
*
lhs
=
"elvart"
,
const
char
*
rhs
=
"aktual"
)
{
const
char
*
expr
,
const
char
*
lhs
=
"elvart"
,
const
char
*
rhs
=
"aktual"
)
{
return
test
.
expect
(
pred
(
exp
,
act
),
file
,
line
,
expr
)
return
test
.
expect
(
pred
(
exp
,
act
),
file
,
line
,
expr
)
<<
"** "
<<
lhs
<<
": "
<<
std
::
boolalpha
<<
exp
<<
"** "
<<
lhs
<<
": "
<<
std
::
boolalpha
<<
exp
...
@@ -348,8 +349,8 @@ std::ostream& EXPECT_(T exp, T act, bool (*pred)(T, T), const char *file, int li
...
@@ -348,8 +349,8 @@ std::ostream& EXPECT_(T exp, T act, bool (*pred)(T, T), const char *file, int li
}
}
/// pointerre specializált sablon a várt értékhez.
/// pointerre specializált sablon a várt értékhez.
template
<
typename
T
>
template
<
typename
T
1
,
typename
T2
>
std
::
ostream
&
EXPECT_
(
T
*
exp
,
T
*
act
,
bool
(
*
pred
)(
T
*
,
T
*
),
const
char
*
file
,
int
line
,
std
::
ostream
&
EXPECT_
(
T
1
*
exp
,
T2
*
act
,
bool
(
*
pred
)(
T1
*
,
T1
*
),
const
char
*
file
,
int
line
,
const
char
*
expr
,
const
char
*
lhs
=
"elvart"
,
const
char
*
rhs
=
"aktual"
)
{
const
char
*
expr
,
const
char
*
lhs
=
"elvart"
,
const
char
*
rhs
=
"aktual"
)
{
return
test
.
expect
(
pred
(
exp
,
act
),
file
,
line
,
expr
)
return
test
.
expect
(
pred
(
exp
,
act
),
file
,
line
,
expr
)
<<
"** "
<<
lhs
<<
": "
<<
(
void
*
)
exp
<<
"** "
<<
lhs
<<
": "
<<
(
void
*
)
exp
...
@@ -463,16 +464,16 @@ template <typename T>
...
@@ -463,16 +464,16 @@ template <typename T>
bool
almostEQ
(
T
a
,
T
b
)
{
bool
almostEQ
(
T
a
,
T
b
)
{
// eps: ha a relatív, vagy abszolút hiba ettől kisebb, akkor elfogadjuk
// eps: ha a relatív, vagy abszolút hiba ettől kisebb, akkor elfogadjuk
T
eps
=
10
*
std
::
numeric_limits
<
T
>::
epsilon
();
// 10-szer a legkisebb érték
T
eps
=
10
*
std
::
numeric_limits
<
T
>::
epsilon
();
// 10-szer a legkisebb érték
if
(
a
==
b
)
return
true
;
T
diff
=
fabs
(
a
-
b
)
;
if
(
fabs
(
a
-
b
)
<
eps
)
if
(
diff
<
eps
)
return
true
;
return
true
;
double
aa
=
fabs
(
a
);
T
aa
=
fabs
(
a
);
double
ba
=
fabs
(
b
);
T
ba
=
fabs
(
b
);
if
(
aa
<
ba
)
{
if
(
aa
<
ba
)
{
aa
=
ba
;
aa
=
ba
;
ba
=
fabs
(
a
);
ba
=
fabs
(
a
);
}
}
return
(
aa
-
ba
)
<
aa
*
eps
;
return
diff
<
aa
*
eps
;
}
}
/// Segédsablon ostream átirányításához
/// Segédsablon ostream átirányításához
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment