;; Copyright (C) 1996 DIMACS Center, Rutgers, The State University of New Jersey
;; Author(s): Jonathan Berry

;; This software is copyrighted by the DIMACS Center at Rutgers, The State
;; University of New Jersey.  IT IS PROVIDED AS IS, AND THE AUTHORS, DIMACS, AND
;; RUTGERS, THE STATE UNIVERSITY OF NEW JERSEY  DISCLAIM
;; ALL LIABILITY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
;; DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
;; DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
;; POSSIBILITY OF SUCH DAMAGE.

;; THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
;; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
;; FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
;; IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
;; NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
;; MODIFICATIONS.

;; The authors hereby grant permission to use, copy, modify, distribute,
;; and license this software and its documentation for any purpose, provided
;; that existing copyright notices are retained in all copies and that this
;; notice is included verbatim in any distributions. No written agreement,
;; license, or royalty fee is required for any of the authorized uses.
;; Modifications to this software may be copyrighted by their authors
;; and need not follow the licensing terms described here, provided that
;; the new terms are clearly indicated on the first page of each file where
;; they apply.

;; Last File Update: 31-Jul-1996
;; 

(require "graph-string")

(define path (string-append (getenv "NEWLINKBASE") "/test/graphs/")) 

(define ugs (glob (string-append path "ug*.g")))
(define dgs (glob (string-append path "dg*.g")))
(define mgs (glob (string-append path "mg*.g")))
(define uhgs (glob (string-append path "uhg*.g")))
(define dhgs (glob (string-append path "dhg*.g")))
(define mhgs (glob (string-append path "mhg*.g")))

(define dir-graphs '())
(define und-graphs '())
(define mixed-graphs '())
(define und-hypergraphs '())
(define dir-hypergraphs '())
(define mixed-hypergraphs '())

(map (lambda (x)
	(set! dir-graphs (cons (load-graph x) dir-graphs)))
     dgs)

(map (lambda (x)
	(set! und-graphs (cons (load-graph x) und-graphs)))
     ugs)

(map (lambda (x)
	(set! mixed-graphs (cons (load-graph x) mixed-graphs)))
     mgs)

(map (lambda (x)
	(set! dir-hypergraphs (cons (load-graph x) dir-hypergraphs)))
     dhgs)

(map (lambda (x)
	(set! und-hypergraphs (cons (load-graph x) und-hypergraphs)))
     uhgs)

(map (lambda (x)
	(set! mixed-hypergraphs (cons (load-graph x) mixed-hypergraphs)))
     mhgs)

(define (view-und-graphs)
	(map (lambda (x)
		(make <graph-view> :graph x :layout 'custom)	
		(update))
     	      und-graphs))

(define (view-dir-graphs)
	(map (lambda (x)
		(make <graph-view> :graph x :layout 'custom)	
		(update))
     	      dir-graphs))

(define (view-mixed-graphs)
	(map (lambda (x)
		(make <graph-view> :graph x :layout 'custom)	
		(update))
     	      mixed-graphs))

(define (view-und-hypergraphs)
	(map (lambda (x)
		(make <graph-view> :graph x :layout 'custom)	
		(update))
     	      und-hypergraphs))

(define (view-dir-hypergraphs)
	(map (lambda (x)
		(make <graph-view> :graph x :layout 'custom)	
		(update))
     	      dir-hypergraphs))

(define (view-mixed-hypergraphs)
	(map (lambda (x)
		(make <graph-view> :graph x :layout 'custom)	
		(update))
     	      mixed-hypergraphs))

(provide "load-test-graphs")
