I like this idea and I would be willing to contribute.

On Oct 19, 6:43 pm, "Stephen C. Gilardi" <[EMAIL PROTECTED]> wrote:
> On Oct 19, 2008, at 5:11 PM, J. McConnell wrote:
>
> > I've been thinking the same thing for awhile now and I'd love to help
> > contribute to an effort like this. Thanks for getting the idea out
> > there.
>
> You're welcome. It seems like clojure.contrib could be a more  
> convenient place to keep this than the wiki.
>
> Direct or indirect contributions to clojure.contrib require that the  
> contributed code be written by the contributor and that the  
> contributor have a contributor agreement on file with Rich. Would that  
> be acceptable to people interested in participating? I appreciate the  
> care Rich showed and long view he took in coming up with the  
> Contributor Agreement process. I think it would be a good idea to  
> leverage that process for this effort as well.
>
> Discussion of alternative proposals for a good way to do this and  
> place to keep it are welcome.
>
> I made a start on this today. I started with the Reader page at  
> clojure.org and started making tests. I'm thinking of a structure like  
> this:
>
> Run tests with:
>
>         (require 'clojure.contrib.test-clojure)
>
> The definition of clojure.contrib.test-clojure requires subordinate  
> test namespaces like
>
>         'clojure.contrib.test-clojure.Reader
>         'clojure.contrib.test-clojure.Evaluation
>         'clojure.contrib.test-clojure.Special-Forms
>         ...
>
> with names that correspond to pages on the Clojure web site. After  
> requiring the individual test namespaces, test-clojure runs  
> "clojure.contrib.test-is/run-tests" on each one.
>
> Here's a sample from clojure.contrib.test-clojure.
>
>         (ns clojure.contrib.test-clojure.Reader
>           (:use clojure.contrib.test-is))
>
>         (deftest t-Symbols
>           (is (= 'abc (symbol "abc")))
>           (is (= '*+!-_? (symbol "*+!-_?")))
>           (is (= 'abc:def:ghi (symbol "abc:def:ghi")))
>           (is (= 'abc/def (symbol "abc" "def")))
>           (is (= 'abc.def/ghi (symbol "abc.def" "ghi")))
>           (is (= 'abc/def.ghi (symbol "abc" "def.ghi")))
>           (is (= 'abc:def/ghi:jkl.mno (symbol "abc:def" "ghi:jkl.mno")))
>           (is (instance? clojure.lang.Symbol 'alphabet))
>           )
>
>         ; additional tests to flesh out
>         (deftest t-Numbers)
>         (deftest t-Characters)
>         (deftest t-nil)
>         (deftest t-Booleans)
>         (deftest t-Keywords)
>         (deftest t-Lists)
>         (deftest t-Vectors)
>         (deftest t-Maps)
>         (deftest t-Sets)
>         (deftest t-Quote)
>         (deftest t-Character)
>         (deftest t-Comment)
>         (deftest t-Meta)
>         (deftest t-Deref)
>         (deftest t-Regex)
>         (deftest t-Metadata)
>         (deftest t-read)
>
> and a run:
>
>         user=> (require 'clojure.contrib.test-clojure)
>         Testing #<Namespace: clojure.contrib.test-clojure.Reader>
>
>         Ran 18 tests with 10 assertions.
>         0 failures, 0 exceptions.
>         nil
>         user=>
>
> (Currently the number of tests exceeds the number of assertions by so  
> much because of the placeholders.)
>
> Tesing Clojure is a big project and will take a lot of work over time.  
> There many pieces and many interactions among them to test. The hope  
> is that having it available will allow Rich to make changes with an  
> even higher degree of confidence that they didn't have unintended  
> consequences and to support efforts like Chouser's ClojureScript to  
> bring Clojure to new platforms
>
> Discussion and suggestions are welcome.
>
> --Steve
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to