whiley_test_file 0.6.2

An API for manipulating test files for the Whiley Programming Language.
Documentation
original.name="RecursiveType_Valid_31"
======
>>> main.whiley
type Node is { int data, List next }
type List is null | Node

function cons(int item, List list) -> (List r)
ensures r is Node && r.next == list && r.data == item:
    return { data: item, next: list }

public export method test():
    List l = null
    //
    l = cons(1,l)
    assert l is Node && l.data == 1
    assert l is Node && l.next is null    
    //
    l = cons(2,l)
    assert l is Node && l.data == 2
    assert l is Node && l.next is Node && l.next.next is null

---