#lang racket
(require htdp/testing)

;; file:  hw1pr1.rkt
;; name:
;; time spent:
;; other comments?


;; problem 1
;; remove-all
;;
;;
(define (remove-all e L)
  0) ;; empty until implemented!

(check-expect (remove-all "i" '("a" "l" "i" "i" "i" "e" "n")) 
              '("a" "l" "e" "n"))
(check-expect (remove-all "i" '( ("a" "l" "i") "i" "i" "e" "n")) 
              '(("a" "l" "i") "e" "n"))
(check-expect (remove-all 0 '(1 0 1 0 1 0))  
              '(1 1 1))


;; problem 2
;; prefix 
;;
;;
(define (prefix? P L)
  0)

(check-expect (prefix? '() '(s p a m))   #t)
(check-expect (prefix? '(s p) '(s p a m))   #t)
(check-expect (prefix? '(s m) '(s p a m))   #f)
(check-expect (prefix? '(p a) '(s p a m))   #f)


;; problem 3
;; sublist
;;
;;
(define (sublist? S L)
  0)

(check-expect (sublist? '() '(s p a m))   #t)
(check-expect (sublist? '(s p) '(s p a m))   #t)
(check-expect (sublist? '(s m) '(s p a m))   #f)
(check-expect (sublist? '(p a) '(s p a m))   #t)
(check-expect (sublist? '(a b c) '(b a b a c))  #f)
(check-expect (sublist? '(a b c) '(b a b c c))  #t)



;; problem 4
;; number
(define (number L)
  0)


(check-expect (number '(jan feb mar apr)) 
              '((0 jan) (1 feb) (2 mar) (3 apr)))
(check-expect (number '(0 I II III IV V VI)) 
              '((0 0) (1 I) (2 II) (3 III) (4 IV) (5 V) (6 VI)))
(check-expect (number '())  
              '())


"uncomment the next line, eventually"
;(generate-report)