Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
MIGraphX
Commits
8d437959
Commit
8d437959
authored
May 08, 2018
by
Paul
Browse files
Add tests for insert and replace
parent
89930b8d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
39 additions
and
7 deletions
+39
-7
include/rtg/erase.hpp
include/rtg/erase.hpp
+4
-5
test/eval_test.cpp
test/eval_test.cpp
+35
-2
No files found.
include/rtg/erase.hpp
View file @
8d437959
...
@@ -3,19 +3,18 @@
...
@@ -3,19 +3,18 @@
namespace
rtg
{
namespace
rtg
{
template
<
class
R
,
class
T
>
template
<
class
R
,
class
T
>
auto
erase
(
R
&&
r
,
const
T
&
value
)
auto
erase
(
R
&&
r
,
const
T
&
value
)
{
{
return
r
.
erase
(
std
::
remove
(
r
.
begin
(),
r
.
end
(),
value
),
r
.
end
());
return
r
.
erase
(
std
::
remove
(
r
.
begin
(),
r
.
end
(),
value
),
r
.
end
());
}
}
template
<
class
R
,
class
P
>
template
<
class
R
,
class
P
>
auto
erase_if
(
R
&&
r
,
P
&&
pred
)
auto
erase_if
(
R
&&
r
,
P
&&
pred
)
{
{
return
r
.
erase
(
std
::
remove_if
(
r
.
begin
(),
r
.
end
(),
pred
),
r
.
end
());
return
r
.
erase
(
std
::
remove_if
(
r
.
begin
(),
r
.
end
(),
pred
),
r
.
end
());
}
}
}
// namespace rtg
}
// namespace rtg
#endif
#endif
test/eval_test.cpp
View file @
8d437959
...
@@ -62,7 +62,7 @@ struct minus_op
...
@@ -62,7 +62,7 @@ struct minus_op
}
}
};
};
void
literal_test
()
void
literal_test
1
()
{
{
rtg
::
program
p
;
rtg
::
program
p
;
...
@@ -74,6 +74,20 @@ void literal_test()
...
@@ -74,6 +74,20 @@ void literal_test()
EXPECT
(
result
!=
rtg
::
literal
{
4
});
EXPECT
(
result
!=
rtg
::
literal
{
4
});
}
}
void
literal_test2
()
{
rtg
::
program
p
;
auto
one
=
p
.
add_literal
(
1
);
auto
two
=
p
.
add_literal
(
2
);
auto
sum1
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
p
.
add_instruction
(
sum_op
{},
sum1
,
two
);
auto
result
=
p
.
eval
({});
EXPECT
(
result
==
rtg
::
literal
{
5
});
EXPECT
(
result
!=
rtg
::
literal
{
3
});
}
void
param_test
()
void
param_test
()
{
{
rtg
::
program
p
;
rtg
::
program
p
;
...
@@ -102,9 +116,28 @@ void replace_test()
...
@@ -102,9 +116,28 @@ void replace_test()
EXPECT
(
result
!=
rtg
::
literal
{
3
});
EXPECT
(
result
!=
rtg
::
literal
{
3
});
}
}
void
insert_replace_test
()
{
rtg
::
program
p
;
auto
one
=
p
.
add_literal
(
1
);
auto
two
=
p
.
add_literal
(
2
);
auto
sum1
=
p
.
add_instruction
(
sum_op
{},
one
,
two
);
p
.
add_instruction
(
sum_op
{},
sum1
,
two
);
auto
sum0
=
p
.
insert_instruction
(
sum1
,
sum_op
{},
two
,
two
);
p
.
replace_instruction
(
sum1
,
minus_op
{},
sum0
,
two
);
auto
result
=
p
.
eval
({});
EXPECT
(
result
==
rtg
::
literal
{
4
});
EXPECT
(
result
!=
rtg
::
literal
{
5
});
}
int
main
()
int
main
()
{
{
literal_test
();
literal_test1
();
literal_test2
();
param_test
();
param_test
();
replace_test
();
replace_test
();
insert_replace_test
();
}
}
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