module Test.Example where

import qualified Test.Utility as Util

import qualified Numeric.LAPACK.Example.EconomicAllocation as Eco
import qualified Numeric.LAPACK.Vector as Vector

import qualified Data.Array.Comfort.Storable as Array

import qualified Test.QuickCheck as QC


tests :: [(String, QC.Property)]
tests =
   ("economicAllocation",
      QC.property $
         let iterated = Eco.iterated Eco.expenses0 Eco.balances0
         in Util.approxVector iterated
               (Vector.append (Eco.compensated Eco.expenses0 Eco.balances0) $
                Vector.zero $ Array.shape $ Vector.takeRight iterated)) :
   []