예제 #1
0
 def test_fromJSON(self):
     """Test AliasesDict.fromJSON method."""
     ad = AliasesDict.fromJSON(
         {'en': [{'language': 'en', 'value': 'foo'},
                 {'language': 'en', 'value': 'bar'}],
          'zh': [{'language': 'zh', 'value': 'foo'},
                 {'language': 'zh', 'value': 'bar'}],
          })
     self.assertIsInstance(ad, AliasesDict)
     self.assertEqual(ad, AliasesDict(self.lang_out))
예제 #2
0
 def test_toJSON_diffto(self):
     """Test AliasesDict.toJSON method."""
     ad = AliasesDict(self.lang_out)
     diffto = {
         'de': [
             {
                 'language': 'de',
                 'value': 'foo'
             },
             {
                 'language': 'de',
                 'value': 'bar'
             },
         ],
         'en': [
             {
                 'language': 'en',
                 'value': 'foo'
             },
             {
                 'language': 'en',
                 'value': 'baz'
             },
         ]
     }
     self.assertEqual(
         ad.toJSON(diffto=diffto), {
             'de': [{
                 'language': 'de',
                 'value': 'foo',
                 'remove': ''
             }, {
                 'language': 'de',
                 'value': 'bar',
                 'remove': ''
             }],
             'en': [{
                 'language': 'en',
                 'value': 'foo'
             }, {
                 'language': 'en',
                 'value': 'bar'
             }],
             'zh': [{
                 'language': 'zh',
                 'value': 'foo'
             }, {
                 'language': 'zh',
                 'value': 'bar'
             }]
         })
예제 #3
0
 def test_setitem(self):
     """Test AliasesDict.__setitem__ metamethod."""
     ad = AliasesDict(self.lang_out)
     self.assertIn('en', ad)
     self.assertIn('zh', ad)
     ad[self.site] = ['baz']
     self.assertIn('en', ad)
예제 #4
0
 def test_normalizeData(self):
     """Test AliasesDict.normalizeData method."""
     data_in = {
         'en': [
             {
                 'language': 'en',
                 'value': 'foo'
             },
             'bar',
             {
                 'language': 'en',
                 'value': 'baz',
                 'remove': ''
             },
         ]
     }
     data_out = {
         'en': [
             {
                 'language': 'en',
                 'value': 'foo'
             },
             {
                 'language': 'en',
                 'value': 'bar'
             },
             {
                 'language': 'en',
                 'value': 'baz',
                 'remove': ''
             },
         ]
     }
     self.assertEqual(AliasesDict.normalizeData(data_in), data_out)
예제 #5
0
 def test_delitem(self):
     """Test AliasesDict.__delitem__ metamethod."""
     ad = AliasesDict(self.lang_out)
     ad.pop(self.site)
     ad.pop('zh')
     self.assertNotIn('en', ad)
     self.assertNotIn('zh', ad)
     self.assertLength(ad, 0)
예제 #6
0
 def test_toJSON(self):
     """Test AliasesDict.toJSON method."""
     ad = AliasesDict()
     self.assertEqual(ad.toJSON(), {})
     ad = AliasesDict(self.lang_out)
     self.assertEqual(
         ad.toJSON(),
         {'en': [{'language': 'en', 'value': 'foo'},
                 {'language': 'en', 'value': 'bar'}],
          'zh': [{'language': 'zh', 'value': 'foo'},
                 {'language': 'zh', 'value': 'bar'}],
          })
예제 #7
0
 def test_getitem(self):
     """Test AliasesDict.__getitem__ metamethod."""
     ad = AliasesDict(self.lang_out)
     self.assertEqual(ad['en'], ['foo', 'bar'])
     self.assertEqual(ad[self.site], ['foo', 'bar'])
     self.assertIsNone(ad.get('de'))
예제 #8
0
 def test_init(self):
     """Test AliasesDict initializer."""
     ad = AliasesDict()
     self.assertLength(ad, 0)
     ad = AliasesDict(self.lang_out)
     self.assertLength(ad, 2)