@@ -146,4 +146,60 @@ describe("RDF List", () => {
146146 assert . deepStrictEqual ( [ ...wrapper . list ] , [ "o1" , "o2" , "o3" ] )
147147 } )
148148 } )
149+
150+ describe ( "shift" , ( ) => {
151+ it ( "not list undefined" , ( ) => {
152+ const rdf = `<s> <p> <o> .`
153+ const wrapper = new Wrapper ( "s" , datasetFromRdf ( rdf ) , DataFactory )
154+
155+ const shifted = wrapper . list . shift ( )
156+
157+ assert . strictEqual ( shifted , undefined )
158+ } )
159+
160+ it ( "empty undefined" , ( ) => {
161+ const rdf = `<s> <p> () .`
162+ const wrapper = new Wrapper ( "s" , datasetFromRdf ( rdf ) , DataFactory )
163+
164+ const shifted = wrapper . list . shift ( )
165+
166+ assert . strictEqual ( shifted , undefined )
167+ } )
168+
169+ it ( "one returns first" , { skip : "not implemented yet" } , ( ) => {
170+ const rdf = `<s> <p> ( "o1" ) .`
171+ const wrapper = new Wrapper ( "s" , datasetFromRdf ( rdf ) , DataFactory )
172+
173+ const shifted = wrapper . list . shift ( )
174+
175+ assert . strictEqual ( shifted , "o1" )
176+ } )
177+
178+ it ( "one shrinks" , { skip : "not implemented yet" } , ( ) => {
179+ const rdf = `<s> <p> ( "o1" ) .`
180+ const wrapper = new Wrapper ( "s" , datasetFromRdf ( rdf ) , DataFactory )
181+
182+ wrapper . list . shift ( )
183+
184+ assert . deepStrictEqual ( [ ...wrapper . list ] , [ ] )
185+ } )
186+
187+ it ( "two returns first" , ( ) => {
188+ const rdf = `<s> <p> ( "o1" "o2" ) .`
189+ const wrapper = new Wrapper ( "s" , datasetFromRdf ( rdf ) , DataFactory )
190+
191+ const shifted = wrapper . list . shift ( )
192+
193+ assert . strictEqual ( shifted , "o1" )
194+ } )
195+
196+ it ( "two shrinks" , ( ) => {
197+ const rdf = `<s> <p> ( "o1" "o2" ) .`
198+ const wrapper = new Wrapper ( "s" , datasetFromRdf ( rdf ) , DataFactory )
199+
200+ wrapper . list . shift ( )
201+
202+ assert . deepStrictEqual ( [ ...wrapper . list ] , [ "o2" ] )
203+ } )
204+ } )
149205} )
0 commit comments