;;; -*- lexical-binding: t -*- ;; ;; this file: ;; https://dataswamp.org/~incal/emacs-init/mvc/model-test.el (require 'cl-lib) (require 'model) (defun make-world-test () (let ((tests (list (list "cell" (make-world 1 1) 1) (list "chess" (make-world 2 8) 64) (list "cube" (make-world 3 3) 27) ))) (cl-loop for (name world expected) in tests and num-tests from 0 do (let ((size (world-size world))) (unless (= size expected) (error "World %s has size %s, expected %s" name size expected) )) finally return (= num-tests (length tests)) ))) ;; (make-world-test) (defun world-set-test () (let ((ttt (make-world 2 3))) (world-set ttt '(1 2) "o") ttt) ) ;; (world-set-test) ;; ;; 0 1 2 ;; ( ("." "." ".") 0 ;; ("." "." "o") 1 ;; ("." "." ".") ) 2 (defun world-get-test () (let ((ttt (make-world 2 3)) (pos '(1 2)) ) (world-set ttt pos "o") (world-get ttt pos) )) ;; (world-get-test) (provide 'model-test)