2020
2121
2222class TestKeyValueAction (utils .TestCase ):
23- def test_good_values (self ):
24- parser = argparse .ArgumentParser ()
2523
26- # Set up our typical usage
27- parser .add_argument (
28- '--property' ,
29- metavar = '<key=value>' ,
30- action = parseractions .KeyValueAction ,
31- help = 'Property to store for this volume '
32- '(repeat option to set multiple properties)' ,
33- )
34-
35- results = parser .parse_args ([
36- '--property' , 'red=' ,
37- '--property' , 'green=100%' ,
38- '--property' , 'blue=50%' ,
39- ])
40-
41- actual = getattr (results , 'property' , {})
42- # All should pass through unmolested
43- expect = {'red' : '' , 'green' : '100%' , 'blue' : '50%' }
44- self .assertDictEqual (expect , actual )
24+ def setUp (self ):
25+ super (TestKeyValueAction , self ).setUp ()
4526
46- def test_default_values (self ):
47- parser = argparse .ArgumentParser ()
27+ self .parser = argparse .ArgumentParser ()
4828
4929 # Set up our typical usage
50- parser .add_argument (
30+ self . parser .add_argument (
5131 '--property' ,
5232 metavar = '<key=value>' ,
5333 action = parseractions .KeyValueAction ,
@@ -56,52 +36,29 @@ def test_default_values(self):
5636 '(repeat option to set multiple properties)' ,
5737 )
5838
59- results = parser .parse_args ([
39+ def test_good_values (self ):
40+ results = self .parser .parse_args ([
6041 '--property' , 'red=' ,
6142 '--property' , 'green=100%' ,
6243 '--property' , 'blue=50%' ,
6344 ])
6445
6546 actual = getattr (results , 'property' , {})
66- # Verify green default is changed, format default is unchanged
47+ # All should pass through unmolested
6748 expect = {'red' : '' , 'green' : '100%' , 'blue' : '50%' , 'format' : '#rgb' }
6849 self .assertDictEqual (expect , actual )
6950
7051 def test_error_values (self ):
71- parser = argparse .ArgumentParser ()
72-
73- # Set up our typical usage
74- parser .add_argument (
75- '--property' ,
76- metavar = '<key=value>' ,
77- action = parseractions .KeyValueAction ,
78- default = {'green' : '20%' , 'blue' : '40%' },
79- help = 'Property to store for this volume '
80- '(repeat option to set multiple properties)' ,
81- )
82-
83- results = parser .parse_args ([
52+ results = self .parser .parse_args ([
8453 '--property' , 'red' ,
8554 '--property' , 'green=100%' ,
8655 '--property' , 'blue' ,
8756 ])
8857
89- failhere = None
9058 actual = getattr (results , 'property' , {})
91- # Verify non-existent red key
92- try :
93- failhere = actual ['red' ]
94- except Exception as e :
95- self .assertTrue (type (e ) == KeyError )
96- # Verify removal of blue key
97- try :
98- failhere = actual ['blue' ]
99- except Exception as e :
100- self .assertTrue (type (e ) == KeyError )
10159 # There should be no red or blue
102- expect = {'green' : '100%' }
60+ expect = {'green' : '100%' , 'format' : '#rgb' }
10361 self .assertDictEqual (expect , actual )
104- self .assertIsNone (failhere )
10562
10663
10764class TestNonNegativeAction (utils .TestCase ):
0 commit comments