If at first you don't succeed.


R. Clayton (rclayton@monmouth.edu)
Sat, 8 Jul 2000 16:19:45 -0400 (EDT)


I've just finished testing the dequeue assignments that were handed in, and
nobody produced a correct implementation.

Among people who handed in a close-to-correct implementation, the principle
problem seemed to be understanding the assignment. There were two main
comprehension problems:

 1 Adding a command. The assignment states

     In this assignment you'll add the order command to readmbox's command
     repertoire.

   "Add" does not mean "replace"; a couple of people implemented only the order
   command. Once you've added the order command to readmbox, readmbox will
   recognized two commands: a digit to print a message and order to re-order
   the message list.

   Also, the assignment adds a new command, not a special feature to be invoked
   only once on entry into the mailbox. Again, when implemented correctly, the
   dequeue readmbox understands two commands: a digit to print a message and
   order to re-order the message list.

   If you have any trouble understanding these explanations, you should study
   the successful test case included below.

 2 Matching a message. The assignment states

     A search pattern matches a header field if the header field has field as
     its label and word as a word in its text-line.

   The assignment then goes on to give examples:

     For example, the search pattern "Subject Urgent" matches the header field

       Subject: Ugent!! Read at once!!

     but matches neither of the header fields

       Subject: About your last bill...

     because the text-line doesn't contain "Urgent" nor

       Disposition: Urgent

     because the label isn't "Subject".

   As far as I can tell, most people got this wrong by implementing an exact
   match; that is, when searching for word, if the text-field wasn't exactly
   and only word, then the field didn't match. I'll be the first to admit that
   my definition of matching is open to interpretation, but I'm fairly certain
   that it can't be sensibly interpreted as an exact and exclusive match given
   the above definition and examples.

Because there are still people who haven't submitted their second assignments
yet, I'm willing to set this Wednesday, 12 July, at 5:00 p.m. as a new deadline
for submitting your second dequeue assignment. This deadline is hard; I'm
going to take whatever has been submitted by 5:00 p.m. on Wednesday, 12 July,
as the final dequeue assignment. I'm going to throw away any dequeue
assignment submitted after 5:00 p.m. on Wednesday, 12 July. People who have
not submitted a dequeue assignment by 5:00 p.m. on Wednesday, 12 July are going
to get a zero for the assignment.

5:00 p.m. Wednesday, 12 July, will be determined by my clock. I strongly
recommend you submit your dequeue assignment before you come to class on
Wednesday. All excuses will be ignored: if your dequeue assignment has not
been submitted by 5:00 p.m. Wednesday, 12 July, don't bother submitting it.

This new deadline does not change the list assignment's deadline next Wednesday
(5:00 p.m., 19 July).

I'll be sending out individual e-mail messages to people describing how their
dequeue assignment failed. Below I've included the test file used in the test
and an example of a successful test. That before you can use the test file,
you need to remove the initial hyphen '-' from each line.

Here's the test file

--The test file starts just after this line; remove leading '-'
-From
-Fruit: orange
-Number: one
-Color: red
-
-orange one red
-
-From
-Fruit: lemon
-Number: two
-Color: white
-
-lemon two white
-
-From
-Fruit: lime
-Number: three
-Color: blue
-
-lime three blue
--The test file ends just before this line; remove leading '-'

Here's a successful test

  spawn readmbox ../test-mbox-2.1
  There are 3 messages.
  * 1
  orange one red
  * 2
  lemon two white
  * 3
  lime three blue
  * order Fruit lemon
  * 1
  lemon two white
  * 2
  orange one red
  * 3
  lime three blue
  * order Fruit lime
  * 1
  lime three blue
  * 2
  lemon two white
  * 3
  orange one red
  * order
  * 1
  orange one red
  * 2
  lemon two white
  * 3
  lime three blue
  * q



This archive was generated by hypermail 2.0b3 on Fri Aug 11 2000 - 15:25:05 EDT