blob: 2cff038f1ebd75707453571d96fc77170e0b63f6 [file] [log] [blame]
#!/usr/bin/python
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# Test stream functions
import unittest
from util import *
def testStream():
s = cons_stream(0, lambda: cons_stream(1, lambda: cons(2, ())))
assert len(s) == 3
assert car(s) == 0
assert cadr(s) == 1
assert len(cdr(s)) == 2
assert s[0] == 0
assert s[1] == 1
assert s[2] == 2
assert s[:1] == (0, 1)
assert s[:5] == (0, 1, 2)
assert s[2:5] == (2,)
assert s[4:5] == ()
assert s[0:] == (0, 1, 2)
assert (0, 1, 2) == s[0:]
return True
if __name__ == "__main__":
print "Testing..."
testStream()
print "OK"