33public class DequeTests
44{
55 [ Fact ]
6- public void Push_and_pop_are_first_in_last_out_order ( )
6+ public void Pop_gets_element_from_the_list ( )
77 {
8- var deque = new Deque < int > ( ) ;
9- deque . Push ( 10 ) ;
10- deque . Push ( 20 ) ;
11- Assert . Equal ( 20 , deque . Pop ( ) ) ;
12- Assert . Equal ( 10 , deque . Pop ( ) ) ;
8+ var sut = new Deque < int > ( ) ;
9+ sut . Push ( 7 ) ;
10+ Assert . Equal ( 7 , sut . Pop ( ) ) ;
1311 }
1412
1513 [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
16- public void Push_and_shift_are_first_in_first_out_order ( )
14+ public void Push_pop_respectively_add_remove_at_the_end_of_the_list ( )
1715 {
18- var deque = new Deque < int > ( ) ;
19- deque . Push ( 10 ) ;
20- deque . Push ( 20 ) ;
21- Assert . Equal ( 10 , deque . Shift ( ) ) ;
22- Assert . Equal ( 20 , deque . Shift ( ) ) ;
16+ var sut = new Deque < int > ( ) ;
17+ sut . Push ( 11 ) ;
18+ sut . Push ( 13 ) ;
19+ Assert . Equal ( 13 , sut . Pop ( ) ) ;
20+ Assert . Equal ( 11 , sut . Pop ( ) ) ;
2321 }
2422
2523 [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
26- public void Unshift_and_shift_are_last_in_first_out_order ( )
24+ public void Shift_gets_an_element_from_the_list ( )
2725 {
28- var deque = new Deque < int > ( ) ;
29- deque . Unshift ( 10 ) ;
30- deque . Unshift ( 20 ) ;
31- Assert . Equal ( 20 , deque . Shift ( ) ) ;
32- Assert . Equal ( 10 , deque . Shift ( ) ) ;
26+ var sut = new Deque < int > ( ) ;
27+ sut . Push ( 17 ) ;
28+ Assert . Equal ( 17 , sut . Shift ( ) ) ;
3329 }
3430
3531 [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
36- public void Unshift_and_pop_are_last_in_last_out_order ( )
32+ public void Shift_gets_first_element_from_the_list ( )
3733 {
38- var deque = new Deque < int > ( ) ;
39- deque . Unshift ( 10 ) ;
40- deque . Unshift ( 20 ) ;
41- Assert . Equal ( 10 , deque . Pop ( ) ) ;
42- Assert . Equal ( 20 , deque . Pop ( ) ) ;
34+ var sut = new Deque < int > ( ) ;
35+ sut . Push ( 23 ) ;
36+ sut . Push ( 5 ) ;
37+ Assert . Equal ( 23 , sut . Shift ( ) ) ;
38+ Assert . Equal ( 5 , sut . Shift ( ) ) ;
4339 }
4440
4541 [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
46- public void Push_and_pop_can_handle_multiple_values ( )
42+ public void Unshift_adds_element_at_start_of_the_list ( )
4743 {
48- var deque = new Deque < int > ( ) ;
49- deque . Push ( 10 ) ;
50- deque . Push ( 20 ) ;
51- deque . Push ( 30 ) ;
52- Assert . Equal ( 30 , deque . Pop ( ) ) ;
53- Assert . Equal ( 20 , deque . Pop ( ) ) ;
54- Assert . Equal ( 10 , deque . Pop ( ) ) ;
44+ var sut = new Deque < int > ( ) ;
45+ sut . Unshift ( 23 ) ;
46+ sut . Unshift ( 5 ) ;
47+ Assert . Equal ( 5 , sut . Shift ( ) ) ;
48+ Assert . Equal ( 23 , sut . Shift ( ) ) ;
5549 }
5650
5751 [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
58- public void Unshift_and_shift_can_handle_multiple_values ( )
52+ public void Pop_push_shift_and_unshift_can_be_used_in_any_order ( )
5953 {
60- var deque = new Deque < int > ( ) ;
61- deque . Unshift ( 10 ) ;
62- deque . Unshift ( 20 ) ;
63- deque . Unshift ( 30 ) ;
64- Assert . Equal ( 30 , deque . Shift ( ) ) ;
65- Assert . Equal ( 20 , deque . Shift ( ) ) ;
66- Assert . Equal ( 10 , deque . Shift ( ) ) ;
54+ var sut = new Deque < int > ( ) ;
55+ sut . Push ( 1 ) ;
56+ sut . Push ( 2 ) ;
57+ Assert . Equal ( 2 , sut . Pop ( ) ) ;
58+ sut . Push ( 3 ) ;
59+ Assert . Equal ( 1 , sut . Shift ( ) ) ;
60+ sut . Unshift ( 4 ) ;
61+ sut . Push ( 5 ) ;
62+ Assert . Equal ( 4 , sut . Shift ( ) ) ;
63+ Assert . Equal ( 5 , sut . Pop ( ) ) ;
64+ Assert . Equal ( 3 , sut . Shift ( ) ) ;
6765 }
6866
6967 [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
70- public void All_methods_of_manipulating_the_deque_can_be_used_together ( )
68+ public void Popping_to_empty_doesn_t_break_the_list ( )
7169 {
72- var deque = new Deque < int > ( ) ;
73- deque . Push ( 10 ) ;
74- deque . Push ( 20 ) ;
75- Assert . Equal ( 20 , deque . Pop ( ) ) ;
76-
77- deque . Push ( 30 ) ;
78- Assert . Equal ( 10 , deque . Shift ( ) ) ;
70+ var sut = new Deque < int > ( ) ;
71+ sut . Push ( 41 ) ;
72+ sut . Push ( 59 ) ;
73+ sut . Pop ( ) ;
74+ sut . Pop ( ) ;
75+ sut . Push ( 47 ) ;
76+ Assert . Equal ( 47 , sut . Pop ( ) ) ;
77+ }
7978
80- deque . Unshift ( 40 ) ;
81- deque . Push ( 50 ) ;
82- Assert . Equal ( 40 , deque . Shift ( ) ) ;
83- Assert . Equal ( 50 , deque . Pop ( ) ) ;
84- Assert . Equal ( 30 , deque . Shift ( ) ) ;
79+ [ Fact ( Skip = "Remove this Skip property to run this test" ) ]
80+ public void Shifting_to_empty_doesn_t_break_the_list ( )
81+ {
82+ var sut = new Deque < int > ( ) ;
83+ sut . Push ( 41 ) ;
84+ sut . Push ( 59 ) ;
85+ sut . Shift ( ) ;
86+ sut . Shift ( ) ;
87+ sut . Push ( 47 ) ;
88+ Assert . Equal ( 47 , sut . Shift ( ) ) ;
8589 }
86- }
90+ }
0 commit comments