@@ -36,17 +36,24 @@ contract FixedSizeMemoryStackTest is Test, SymTest {
36
36
}
37
37
38
38
/// forge-config: default.allow_internal_expect_revert = true
39
- function testPeek () public {
39
+ function testPeekStackUnderflow () public {
40
40
FixedSizeMemoryStack.Stack memory stack = FixedSizeMemoryStack.init (10 );
41
41
42
42
vm.expectRevert (abi.encodeWithSelector (FixedSizeMemoryStack.StackUnderflow.selector ));
43
43
stack.peek ();
44
44
assertEq (stack._top, 0 );
45
+ }
45
46
46
- stack.push (bytes32 (uint256 (1 )));
47
- stack.push (bytes32 (uint256 (2 )));
47
+ function testPeek () public {
48
+ FixedSizeMemoryStack.Stack memory stack = FixedSizeMemoryStack.init (10 );
49
+
50
+ bytes32 item1 = svm.createBytes32 ("item1 " );
51
+ bytes32 item2 = svm.createBytes32 ("item2 " );
48
52
49
- assertEq (stack.peek (), bytes32 (uint256 (2 )));
53
+ stack.push (item1);
54
+ stack.push (item2);
55
+
56
+ assertEq (stack.peek (), item2);
50
57
assertEq (stack._top, 2 );
51
58
}
52
59
@@ -55,10 +62,13 @@ contract FixedSizeMemoryStackTest is Test, SymTest {
55
62
56
63
assertEq (stack.size (), 0 );
57
64
58
- stack.push (bytes32 (uint256 (1 )));
65
+ bytes32 item1 = svm.createBytes32 ("item1 " );
66
+ bytes32 item2 = svm.createBytes32 ("item2 " );
67
+
68
+ stack.push (item1);
59
69
assertEq (stack.size (), 1 );
60
70
61
- stack.push (bytes32 ( uint256 ( 2 )) );
71
+ stack.push (item2 );
62
72
assertEq (stack.size (), 2 );
63
73
64
74
stack.pop ();
@@ -79,7 +89,9 @@ contract FixedSizeMemoryStackTest is Test, SymTest {
79
89
80
90
assertEq (stack.isEmpty (), true );
81
91
82
- stack.push (bytes32 (uint256 (1 )));
92
+ bytes32 item1 = svm.createBytes32 ("item1 " );
93
+
94
+ stack.push (item1);
83
95
assertEq (stack.isEmpty (), false );
84
96
85
97
stack.pop ();
@@ -91,11 +103,14 @@ contract FixedSizeMemoryStackTest is Test, SymTest {
91
103
92
104
assertEq (stack.isFull (), false );
93
105
94
- stack.push (bytes32 (uint256 (1 )));
106
+ bytes32 item1 = svm.createBytes32 ("item1 " );
107
+
108
+ stack.push (item1);
95
109
assertEq (stack.isFull (), false );
96
110
97
111
for (uint256 i = 0 ; i < 9 ; i++ ) {
98
- stack.push (bytes32 (uint256 (i)));
112
+ bytes32 item = svm.createBytes32 (string (abi.encodePacked ("item " , i)));
113
+ stack.push (item);
99
114
}
100
115
101
116
assertEq (stack.isFull (), true );
@@ -107,8 +122,11 @@ contract FixedSizeMemoryStackTest is Test, SymTest {
107
122
function testClear () public {
108
123
FixedSizeMemoryStack.Stack memory stack = FixedSizeMemoryStack.init (10 );
109
124
110
- stack.push (bytes32 (uint256 (1 )));
111
- stack.push (bytes32 (uint256 (2 )));
125
+ bytes32 item1 = svm.createBytes32 ("item1 " );
126
+ bytes32 item2 = svm.createBytes32 ("item2 " );
127
+
128
+ stack.push (item1);
129
+ stack.push (item2);
112
130
113
131
stack.clear ();
114
132
0 commit comments