configurationengine/source/cone/public/tests/unittest_valueset.py
changeset 0 2e8eeb919028
child 3 e7e0ae78773e
equal deleted inserted replaced
-1:000000000000 0:2e8eeb919028
       
     1 #
       
     2 # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 # All rights reserved.
       
     4 # This component and the accompanying materials are made available
       
     5 # under the terms of "Eclipse Public License v1.0"
       
     6 # which accompanies this distribution, and is available
       
     7 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 #
       
     9 # Initial Contributors:
       
    10 # Nokia Corporation - initial contribution.
       
    11 #
       
    12 # Contributors:
       
    13 #
       
    14 # Description: 
       
    15 #
       
    16 
       
    17 """
       
    18 Test sets
       
    19 """
       
    20 import unittest
       
    21 import sets
       
    22 import sys
       
    23 import os
       
    24 import __init__
       
    25 
       
    26 from cone.public import api,exceptions,utils
       
    27 
       
    28 
       
    29 class TestOption(unittest.TestCase):
       
    30     def test_create_option(self):
       
    31         elem = api.Option('test','123')
       
    32         self.assertTrue(elem)
       
    33         self.assertTrue(elem.get_name(),'test')
       
    34         self.assertTrue(elem.get_value(),'123')
       
    35 
       
    36     def test_option_compare(self):
       
    37         elem1 = api.Option('test','1')
       
    38         elem2 = api.Option('foo','2')
       
    39         elem3 = api.Option('test','3')
       
    40         self.assertFalse(elem1==elem2)
       
    41         self.assertFalse(elem1==elem3)
       
    42         self.assertTrue(elem1=='opt_value_1')
       
    43         self.assertTrue(elem2=='opt_value_2')
       
    44         self.assertTrue('opt_value_2' == elem2)
       
    45 
       
    46 class TestSets(unittest.TestCase):    
       
    47 
       
    48     def test_create_set(self):
       
    49         ss = api.ValueSet([1,3,4])
       
    50         self.assertTrue(1 in ss)
       
    51         self.assertFalse(2 in ss)
       
    52         self.assertTrue(3 in ss)
       
    53         self.assertTrue(4 in ss)
       
    54         self.assertFalse(5 in ss)
       
    55 
       
    56     def test_create_set_with_range(self):
       
    57         r = range(0,100000)
       
    58         ss = api.ValueSet(r)
       
    59         for i in r:
       
    60             self.assertTrue(i in ss)
       
    61         self.assertFalse(12345678 in ss)
       
    62         self.assertFalse(-1 in ss)
       
    63         self.assertFalse('test' in ss)
       
    64 
       
    65     def test_set_union(self):
       
    66         ss1 = api.ValueSet([1,3,4])
       
    67         ss2 = api.ValueSet([2,5,6])
       
    68         ss3 = ss1.union(ss2)
       
    69         self.assertFalse(0 in ss3)
       
    70         self.assertTrue(1 in ss3)
       
    71         self.assertTrue(2 in ss3)
       
    72         self.assertTrue(3 in ss3)
       
    73         self.assertTrue(4 in ss3)
       
    74         self.assertTrue(5 in ss3)
       
    75         self.assertTrue(6 in ss3)
       
    76     
       
    77     def test_set_intersection(self):
       
    78         ss1 = api.ValueSet([1,2,3,4])
       
    79         ss2 = api.ValueSet([2,5,6])
       
    80         ss3 = ss1.intersection(ss2)
       
    81         self.assertFalse(0 in ss3)
       
    82         self.assertFalse(1 in ss3)
       
    83         self.assertTrue(2 in ss3)
       
    84         self.assertFalse(3 in ss3)
       
    85         self.assertFalse(4 in ss3)
       
    86         self.assertFalse(5 in ss3)
       
    87         self.assertFalse(6 in ss3)
       
    88 
       
    89 
       
    90 class TestRange(unittest.TestCase):    
       
    91     def test_create_integer_range(self):
       
    92         r= api.ValueRange(1,100)
       
    93         self.assertTrue(1 in r)
       
    94         self.assertTrue(2 in r)
       
    95         self.assertTrue(3 in r)
       
    96         self.assertTrue(4 in r)
       
    97         self.assertFalse(0 in r)
       
    98         self.assertFalse(101 in r)
       
    99 
       
   100 class TestRegexp(unittest.TestCase):    
       
   101     def test_create_regexp(self):
       
   102         r= api.ValueRe('.*')
       
   103         self.assertTrue('test' in r)
       
   104         self.assertTrue('foo.foo' in r)
       
   105         self.assertTrue('haahiis' in r)
       
   106         self.assertTrue('1235' in r)
       
   107 
       
   108     def test_create_regexp_allows_only_letters(self):
       
   109         r= api.ValueRe('^[A-Za-z]*$')
       
   110         self.assertTrue('test' in r)
       
   111         self.assertFalse('foo.foo' in r)
       
   112         self.assertTrue('haahiis' in r)
       
   113         self.assertFalse('1235' in r)
       
   114         self.assertTrue('Haaa' in r)
       
   115 
       
   116     def test_create_regexp_allows_windows_drive(self):
       
   117         r= api.ValueRe('^[A-Za-z]:$')
       
   118         self.assertTrue('C:' in r)
       
   119         self.assertFalse('foo.foo' in r)
       
   120         self.assertTrue('h:' in r)
       
   121         self.assertFalse('1235' in r)
       
   122         self.assertFalse('Haaa' in r)
       
   123 
       
   124     def test_create_regexp_allows_windows_path(self):
       
   125         r= api.ValueRe('^[:\\\\A-Za-z1-9_\.]*$')
       
   126         #self.assertTrue('C:' in r)
       
   127         self.assertTrue('foo.foo' in r)
       
   128         self.assertTrue('X:\\aaa\\bbb\ccc' in r)
       
   129