#! /usr/bin/env guile
-s
!#
;
; grant-test.scm -- test that GrantLink works.
;
(use-modules (opencog))
(use-modules (opencog test-runner))
(opencog-test-runner)
(define tname "grant-test")
(test-begin tname)
(define grant (Grant (Concept "A") (Concept "B")))
(test-assert "is-key" (equal? (Concept "A") (cog-value-ref grant 0)))
(test-assert "is-val" (equal? (Concept "B") (cog-value-ref grant 1)))
(define gr2 (Grant (Concept "A") (Concept "C")))
(test-assert "is-key2" (equal? (Concept "A") (cog-value-ref gr2 0)))
(test-assert "is-val2" (equal? (Concept "B") (cog-value-ref gr2 1)))
(cog-push-atomspace)
(define gr3 (Grant (Concept "A") (Concept "D")))
(test-assert "is-key3" (equal? (Concept "A") (cog-value-ref gr3 0)))
(test-assert "is-val3" (equal? (Concept "B") (cog-value-ref gr3 1)))
(cog-push-atomspace)
(define gr4 (Grant (Concept "A") (Concept "E")))
(test-assert "is-key4" (equal? (Concept "A") (cog-value-ref gr4 0)))
(test-assert "is-val4" (equal? (Concept "B") (cog-value-ref gr4 1)))
(cog-pop-atomspace)
(define gr5 (Grant (Concept "A") (Concept "F")))
(test-assert "is-key5" (equal? (Concept "A") (cog-value-ref gr5 0)))
(test-assert "is-val5" (equal? (Concept "B") (cog-value-ref gr5 1)))
(cog-pop-atomspace)
(define gr6 (Grant (Concept "A") (Concept "F")))
(test-assert "is-key6" (equal? (Concept "A") (cog-value-ref gr6 0)))
(test-assert "is-val6" (equal? (Concept "B") (cog-value-ref gr6 1)))
(test-assert "is-key" (equal? (Concept "A") (cog-value-ref grant 0)))
(test-assert "is-val" (equal? (Concept "B") (cog-value-ref grant 1)))
(test-end tname)
(opencog-test-end)