aboutsummaryrefslogtreecommitdiff
path: root/test.cc
diff options
context:
space:
mode:
authorAdrian Kummerlaender2015-01-17 22:45:31 +0100
committerAdrian Kummerlaender2015-01-17 22:45:31 +0100
commit28dd281dd3e7c16185ecdb06b2a83f15bb074717 (patch)
tree30f1e6d34081434bba530dd2aaac1f72448e5c89 /test.cc
parentec52d63d3caca690e822e1a07ba9c2f47710b4d5 (diff)
downloadTypeAsValue-28dd281dd3e7c16185ecdb06b2a83f15bb074717.tar
TypeAsValue-28dd281dd3e7c16185ecdb06b2a83f15bb074717.tar.gz
TypeAsValue-28dd281dd3e7c16185ecdb06b2a83f15bb074717.tar.bz2
TypeAsValue-28dd281dd3e7c16185ecdb06b2a83f15bb074717.tar.lz
TypeAsValue-28dd281dd3e7c16185ecdb06b2a83f15bb074717.tar.xz
TypeAsValue-28dd281dd3e7c16185ecdb06b2a83f15bb074717.tar.zst
TypeAsValue-28dd281dd3e7c16185ecdb06b2a83f15bb074717.zip
Implemented `Take` function
* as its name implies this function _takes_ a maximum of _Count_ elements of a list * added appropriate test case
Diffstat (limited to 'test.cc')
-rw-r--r--test.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/test.cc b/test.cc
index e8f7c47..f60adbd 100644
--- a/test.cc
+++ b/test.cc
@@ -62,6 +62,15 @@ TEST_F(TypeAsValueTest, ListNth) {
EXPECT_EQ(2, ( tav::Nth<tav::Size<1>, tav::List<tav::Int<1>, tav::Int<2>>::type>::type::value ));
}
+TEST_F(TypeAsValueTest, ListTake) {
+ // (length (take 1 (list 1 2)))
+ EXPECT_EQ(1, ( tav::Length<tav::Take<tav::Size<1>, tav::List<tav::Int<1>, tav::Int<2>>::type>::type>::type::value ));
+ // (length (take 2 (list 1 2)))
+ EXPECT_EQ(2, ( tav::Length<tav::Take<tav::Size<2>, tav::List<tav::Int<1>, tav::Int<2>>::type>::type>::type::value ));
+ // (length (take 3 (list 1 2)))
+ EXPECT_EQ(2, ( tav::Length<tav::Take<tav::Size<3>, tav::List<tav::Int<1>, tav::Int<2>>::type>::type>::type::value ));
+}
+
TEST_F(TypeAsValueTest, ListConcatenate) {
// (length (concatenate (list 1) (list 2)))
EXPECT_EQ(2, ( tav::Length<tav::Concatenate<tav::List<tav::Int<1>>::type, tav::List<tav::Int<2>>::type>::type>::type::value ));