示例#1
0
def test_both():
    """signed and unsigned volumes should agree up to sign"""

    random.seed(0) #make tests repeatable                 
    for N in range(1,10):
        pts = rand(N+1,N)
        assert_almost_equal(fabs(signed_volume(pts)), unsigned_volume(pts))
示例#2
0
def test_signed_volume():
    cases = []
    cases.append((array([[1],[2]]), 1))
    cases.append((array([[5.5],[-10]]), -15.5))
    cases.append((array([[0,0],[1,1],[1,0]]), -1.0/2.0))
    cases.append((array([[0,0],[1,0],[1,1]]),  1.0/2.0))
    cases.append((array([[0,0],[0,1],[1,0]]), -1.0/2.0))        
    cases.append((array([[5,5],[5,6],[6,5]]), -1.0/2.0))
    cases.append((array([[0,0,0],[1,0,0],[0,1,0],[0,0,1]]), 1.0/6.0))
    
    for s,v in cases:
        assert_almost_equal(signed_volume(s), v)