Statistics
| Branch: | Tag: | Revision:

root / test / hs / Test / Ganeti / Constants.hs @ 896cc964

History | View | Annotate | Download (2.9 kB)

1 285d04a1 Jose A. Lopes
{-# LANGUAGE TemplateHaskell #-}
2 285d04a1 Jose A. Lopes
{-| Unittests for constants
3 285d04a1 Jose A. Lopes
4 285d04a1 Jose A. Lopes
-}
5 285d04a1 Jose A. Lopes
6 285d04a1 Jose A. Lopes
{-
7 285d04a1 Jose A. Lopes
8 285d04a1 Jose A. Lopes
Copyright (C) 2013 Google Inc.
9 285d04a1 Jose A. Lopes
10 285d04a1 Jose A. Lopes
This program is free software; you can redistribute it and/or modify
11 285d04a1 Jose A. Lopes
it under the terms of the GNU General Public License as published by
12 285d04a1 Jose A. Lopes
the Free Software Foundation; either version 2 of the License, or
13 285d04a1 Jose A. Lopes
(at your option) any later version.
14 285d04a1 Jose A. Lopes
15 285d04a1 Jose A. Lopes
This program is distributed in the hope that it will be useful, but
16 285d04a1 Jose A. Lopes
WITHOUT ANY WARRANTY; without even the implied warranty of
17 285d04a1 Jose A. Lopes
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18 285d04a1 Jose A. Lopes
General Public License for more details.
19 285d04a1 Jose A. Lopes
20 285d04a1 Jose A. Lopes
You should have received a copy of the GNU General Public License
21 285d04a1 Jose A. Lopes
along with this program; if not, write to the Free Software
22 285d04a1 Jose A. Lopes
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
23 285d04a1 Jose A. Lopes
02110-1301, USA.
24 285d04a1 Jose A. Lopes
25 285d04a1 Jose A. Lopes
-}
26 285d04a1 Jose A. Lopes
27 285d04a1 Jose A. Lopes
module Test.Ganeti.Constants (testConstants) where
28 285d04a1 Jose A. Lopes
29 285d04a1 Jose A. Lopes
import Test.HUnit (Assertion)
30 285d04a1 Jose A. Lopes
import qualified Test.HUnit as HUnit
31 285d04a1 Jose A. Lopes
32 285d04a1 Jose A. Lopes
import qualified Ganeti.Constants as Constants
33 285d04a1 Jose A. Lopes
import qualified Ganeti.ConstantUtils as ConstantUtils
34 285d04a1 Jose A. Lopes
import qualified Test.Ganeti.TestHelper as TestHelper
35 285d04a1 Jose A. Lopes
36 f89ec0e0 Jose A. Lopes
{-# ANN module "HLint: ignore Use camelCase" #-}
37 f89ec0e0 Jose A. Lopes
38 285d04a1 Jose A. Lopes
case_buildVersion :: Assertion
39 285d04a1 Jose A. Lopes
case_buildVersion = do
40 285d04a1 Jose A. Lopes
  HUnit.assertBool "Config major lower-bound violation"
41 285d04a1 Jose A. Lopes
                   (Constants.configMajor >= 0)
42 285d04a1 Jose A. Lopes
  HUnit.assertBool "Config major upper-bound violation"
43 285d04a1 Jose A. Lopes
                   (Constants.configMajor <= 99)
44 285d04a1 Jose A. Lopes
  HUnit.assertBool "Config minor lower-bound violation"
45 285d04a1 Jose A. Lopes
                   (Constants.configMinor >= 0)
46 285d04a1 Jose A. Lopes
  HUnit.assertBool "Config minor upper-bound violation"
47 285d04a1 Jose A. Lopes
                   (Constants.configMinor <= 99)
48 285d04a1 Jose A. Lopes
  HUnit.assertBool "Config revision lower-bound violation"
49 285d04a1 Jose A. Lopes
                   (Constants.configRevision >= 0)
50 285d04a1 Jose A. Lopes
  HUnit.assertBool "Config revision upper-bound violation"
51 285d04a1 Jose A. Lopes
                   (Constants.configRevision <= 9999)
52 285d04a1 Jose A. Lopes
  HUnit.assertBool "Config version lower-bound violation"
53 285d04a1 Jose A. Lopes
                   (Constants.configVersion >= 0)
54 285d04a1 Jose A. Lopes
  HUnit.assertBool "Config version upper-bound violation"
55 285d04a1 Jose A. Lopes
                   (Constants.configVersion <= 99999999)
56 285d04a1 Jose A. Lopes
  HUnit.assertEqual "Build version"
57 285d04a1 Jose A. Lopes
                    (ConstantUtils.buildVersion 0 0 0) 0
58 285d04a1 Jose A. Lopes
  HUnit.assertEqual "Build version"
59 285d04a1 Jose A. Lopes
                    (ConstantUtils.buildVersion 10 10 1010) 10101010
60 285d04a1 Jose A. Lopes
  HUnit.assertEqual "Build version"
61 285d04a1 Jose A. Lopes
                    (ConstantUtils.buildVersion 12 34 5678) 12345678
62 285d04a1 Jose A. Lopes
  HUnit.assertEqual "Build version"
63 285d04a1 Jose A. Lopes
                    (ConstantUtils.buildVersion 99 99 9999) 99999999
64 285d04a1 Jose A. Lopes
  HUnit.assertEqual "Build version"
65 285d04a1 Jose A. Lopes
                    (ConstantUtils.buildVersion
66 285d04a1 Jose A. Lopes
                     Constants.configMajor
67 285d04a1 Jose A. Lopes
                     Constants.configMinor
68 285d04a1 Jose A. Lopes
                     Constants.configRevision) Constants.configVersion
69 285d04a1 Jose A. Lopes
  HUnit.assertEqual "Build version"
70 285d04a1 Jose A. Lopes
                    (ConstantUtils.buildVersion
71 285d04a1 Jose A. Lopes
                     Constants.configMajor
72 285d04a1 Jose A. Lopes
                     Constants.configMinor
73 285d04a1 Jose A. Lopes
                     Constants.configRevision) Constants.protocolVersion
74 285d04a1 Jose A. Lopes
75 285d04a1 Jose A. Lopes
TestHelper.testSuite "Constants"
76 285d04a1 Jose A. Lopes
  [ 'case_buildVersion
77 285d04a1 Jose A. Lopes
  ]