MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / test

Method test

extern/libcds/test/unit/stack/fcstack.cpp:17–64  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15 protected:
16 template <class Stack>
17 void test()
18 {
19 typedef typename Stack::value_type value_type;
20 Stack stack;
21 value_type v;
22
23 ASSERT_TRUE( stack.empty());
24 ASSERT_EQ( stack.size(), 0u );
25
26 ASSERT_TRUE( stack.push( 1 ));
27 ASSERT_TRUE( !stack.empty());
28 ASSERT_EQ( stack.size(), 1u );
29 ASSERT_TRUE( stack.push( 2 ));
30 ASSERT_TRUE( !stack.empty());
31 ASSERT_EQ( stack.size(), 2u );
32 ASSERT_TRUE( stack.push( 3 ));
33 ASSERT_TRUE( !stack.empty());
34 ASSERT_EQ( stack.size(), 3u );
35
36 ASSERT_TRUE( stack.pop( v ));
37 EXPECT_EQ( v, value_type( 3 ));
38 ASSERT_TRUE( !stack.empty());
39 ASSERT_EQ( stack.size(), 2u );
40 ASSERT_TRUE( stack.pop( v ));
41 EXPECT_EQ( v, value_type( 2 ));
42 ASSERT_TRUE( !stack.empty());
43 ASSERT_EQ( stack.size(), 1u );
44 ASSERT_TRUE( stack.pop( v ));
45 EXPECT_EQ( v, value_type( 1 ));
46 ASSERT_TRUE( stack.empty());
47 ASSERT_EQ( stack.size(), 0u );
48 v = 1000;
49 ASSERT_TRUE( !stack.pop( v ));
50 EXPECT_EQ( v, value_type( 1000 ));
51 ASSERT_TRUE( stack.empty());
52 ASSERT_EQ( stack.size(), 0u );
53
54 ASSERT_TRUE( stack.push( 10 ));
55 ASSERT_TRUE( stack.push( 20 ));
56 ASSERT_TRUE( stack.push( 30 ));
57 ASSERT_TRUE( !stack.empty());
58 ASSERT_EQ( stack.size(), 3u );
59
60 while ( stack.pop( v ));
61
62 ASSERT_TRUE( stack.empty());
63 ASSERT_EQ( stack.size(), 0u );
64 }
65 };
66
67 TEST_F( FCStack, default_stack )

Callers 10

yarrow_testFunction · 0.45
cipher_hash_testFunction · 0.45
prng_testFunction · 0.45
mainFunction · 0.45
time_cipher_ecbFunction · 0.45
time_cipher_cbcFunction · 0.45
time_cipher_ctrFunction · 0.45
time_cipher_lrwFunction · 0.45
time_hashFunction · 0.45
time_prngFunction · 0.45

Calls 5

value_typeClass · 0.50
emptyMethod · 0.45
sizeMethod · 0.45
pushMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected