Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
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