module Test.MuCheck.AnalysisSummary where

import Test.MuCheck.Utils.Print

-- | Datatype to hold results of the entire run
data MAnalysisSummary = MAnalysisSummary {
    maNumMutants::Int,
    maAlive::Int,
    maKilled::Int,
    maErrors::Int}

instance Show MAnalysisSummary where
  show ma = let total = maNumMutants ma
                noerrors = total - maErrors ma
            in showAS ["Total mutants: " ++ show total,
                       "\terrors: " ++  show (maErrors ma) ++ "  "++ maErrors ma ./. total,
                       "\talive: " ++  show (maAlive ma) ++ "/" ++ show noerrors,
                       "\tkilled: " ++  show (maKilled ma) ++ "/" ++ show noerrors ++ " " ++ maKilled ma ./. noerrors]