Esempio n. 1
0
  def test_indexing(self):
    o = OptionValueContainer()
    o.add_forwardings({'foo': 'bar'})
    o.bar = 1
    self.assertEqual(1, o['foo'])
    self.assertEqual(1, o['bar'])

    with self.assertRaises(AttributeError):
      o['baz']
 def test_deepcopy(self):
   # deepcopy semantics can get hairy when overriding __setattr__/__getattr__, so we test them.
   o = OptionValueContainer()
   o.add_forwardings({'foo': 'bar'})
   o.add_forwardings({'baz': 'qux'})
   o.bar = 1
   o.qux = {'a': 111}
   p = copy.deepcopy(o)
   o.baz['b'] = 222  # Add to original dict.
   self.assertEqual(1, p.foo)
   self.assertEqual({'a': 111}, p.baz)  # Ensure dict was copied.
 def test_value_ranking(self):
   o = OptionValueContainer()
   o.add_forwardings({'foo': 'bar'})
   o.bar = RankedValue(RankedValue.CONFIG, 11)
   self.assertEqual(11, o.foo)
   o.bar = RankedValue(RankedValue.HARDCODED, 22)
   self.assertEqual(11, o.foo)
   o.bar = RankedValue(RankedValue.ENVIRONMENT, 33)
   self.assertEqual(33, o.foo)
   o.bar = 44  # No explicit rank is assumed to be a FLAG.
   self.assertEqual(44, o.foo)
 def test_deepcopy(self):
     # deepcopy semantics can get hairy when overriding __setattr__/__getattr__, so we test them.
     o = OptionValueContainer()
     o.add_forwardings({'foo': 'bar'})
     o.add_forwardings({'baz': 'qux'})
     o.bar = 1
     o.qux = {'a': 111}
     p = copy.deepcopy(o)
     o.baz['b'] = 222  # Add to original dict.
     self.assertEqual(1, p.foo)
     self.assertEqual({'a': 111}, p.baz)  # Ensure dict was copied.
Esempio n. 5
0
 def test_value_ranking(self):
     o = OptionValueContainer()
     o.add_forwardings({'foo': 'bar'})
     o.bar = RankedValue(RankedValue.CONFIG, 11)
     self.assertEqual(11, o.foo)
     o.bar = RankedValue(RankedValue.HARDCODED, 22)
     self.assertEqual(11, o.foo)
     o.bar = RankedValue(RankedValue.ENVIRONMENT, 33)
     self.assertEqual(33, o.foo)
     o.bar = 44  # No explicit rank is assumed to be a FLAG.
     self.assertEqual(44, o.foo)
  def test_indexing(self):
    o = OptionValueContainer()
    o.add_forwardings({'foo': 'bar'})
    o.bar = 1
    self.assertEqual(1, o['foo'])
    self.assertEqual(1, o['bar'])

    self.assertEqual(1, o.get('foo'))
    self.assertEqual(1, o.get('foo', 2))
    self.assertIsNone(o.get('unknown'))
    self.assertEqual(2, o.get('unknown', 2))

    with self.assertRaises(AttributeError):
      o['baz']
    def test_indexing(self):
        o = OptionValueContainer()
        o.add_forwardings({'foo': 'bar'})
        o.bar = 1
        self.assertEqual(1, o['foo'])
        self.assertEqual(1, o['bar'])

        self.assertEqual(1, o.get('foo'))
        self.assertEqual(1, o.get('foo', 2))
        self.assertIsNone(o.get('unknown'))
        self.assertEqual(2, o.get('unknown', 2))

        with self.assertRaises(AttributeError):
            o['baz']
  def test_is_flagged(self):
    o = OptionValueContainer()
    o.add_forwardings({'foo': 'bar'})

    o.bar = RankedValue(RankedValue.NONE, 11)
    self.assertFalse(o.is_flagged('foo'))

    o.bar = RankedValue(RankedValue.CONFIG, 11)
    self.assertFalse(o.is_flagged('foo'))

    o.bar = RankedValue(RankedValue.ENVIRONMENT, 11)
    self.assertFalse(o.is_flagged('foo'))

    o.bar = RankedValue(RankedValue.FLAG, 11)
    self.assertTrue(o.is_flagged('foo'))
    def test_is_flagged(self):
        o = OptionValueContainer()
        o.add_forwardings({'foo': 'bar'})

        o.bar = RankedValue(RankedValue.NONE, 11)
        self.assertFalse(o.is_flagged('foo'))

        o.bar = RankedValue(RankedValue.CONFIG, 11)
        self.assertFalse(o.is_flagged('foo'))

        o.bar = RankedValue(RankedValue.ENVIRONMENT, 11)
        self.assertFalse(o.is_flagged('foo'))

        o.bar = RankedValue(RankedValue.FLAG, 11)
        self.assertTrue(o.is_flagged('foo'))
Esempio n. 10
0
  def test_forwarding(self):
    o = OptionValueContainer()
    o.add_forwardings({'foo': 'bar'})
    o.bar = 1
    self.assertEqual(1, o.foo)
    o.bar = 2
    self.assertEqual(2, o.foo)

    o.add_forwardings({'baz': 'qux'})
    o.qux = 3
    self.assertEqual(2, o.foo)
    self.assertEqual(3, o.baz)

    # Direct setting overrides forwarding.
    o.foo = 4
    self.assertEqual(4, o.foo)
    def test_forwarding(self):
        o = OptionValueContainer()
        o.add_forwardings({'foo': 'bar'})
        o.bar = 1
        self.assertEqual(1, o.foo)
        o.bar = 2
        self.assertEqual(2, o.foo)

        o.add_forwardings({'baz': 'qux'})
        o.qux = 3
        self.assertEqual(2, o.foo)
        self.assertEqual(3, o.baz)

        # Direct setting overrides forwarding.
        o.foo = 4
        self.assertEqual(4, o.foo)
 def test_iterator(self):
     o = OptionValueContainer()
     o.add_forwardings({'a': '_a'})
     o.add_forwardings({'b': '_b'})
     o.add_forwardings({'b_prime': '_b'})  # Should be elided in favor of b.
     o.add_forwardings({'c': '_c'})
     names = list(iter(o))
     self.assertListEqual(['a', 'b', 'c'], names)
 def test_iterator(self):
   o = OptionValueContainer()
   o.add_forwardings({'a': '_a'})
   o.add_forwardings({'b': '_b'})
   o.add_forwardings({'b_prime': '_b'})  # Should be elided in favor of b.
   o.add_forwardings({'c': '_c'})
   names = list(iter(o))
   self.assertListEqual(['a', 'b', 'c'], names)