Code Duplication    Length = 47-51 lines in 2 locations

tests/test_examples.py 2 locations

@@ 269-319 (lines=51) @@
266
        """Verify standard attribute types dump/parse correctly (function)."""
267
        tmpdir.chdir()
268
        _sample = SampleStandard()
269
        attrs = {'object': self.StatusDictionary,
270
                 'array': IntegerList,
271
                 'string': String,
272
                 'number_int': Integer,
273
                 'number_real': Float,
274
                 'truthy': Boolean,
275
                 'falsey': Boolean}
276
        sample = yorm.sync(_sample, "tmp/directory/sample.json", attrs)
277
        assert "tmp/directory/sample.json" == sample.__mapper__.path
278
279
        # check defaults
280
        assert {'status': False} == sample.object
281
        assert [] == sample.array
282
        assert "" == sample.string
283
        assert 0 == sample.number_int
284
        assert 0.0 == sample.number_real
285
        assert True is sample.truthy
286
        assert False is sample.falsey
287
        assert None is sample.null
288
289
        # change object values
290
        sample.object = {'key': 'value'}
291
        sample.array = [1, 2, 3]
292
        sample.string = "Hello, world!"
293
        sample.number_int = 42
294
        sample.number_real = 4.2
295
        sample.truthy = None
296
        sample.falsey = 1
297
298
        # check file values
299
        assert strip("""
300
        {
301
            "array": [
302
                1,
303
                2,
304
                3
305
            ],
306
            "falsey": true,
307
            "number_int": 42,
308
            "number_real": 4.2,
309
            "object": {
310
                "status": false
311
            },
312
            "string": "Hello, world!",
313
            "truthy": false
314
        }
315
        """, tabs=2, end='') == sample.__mapper__.text
316
317
    def test_auto_off(self, tmpdir):
318
        """Verify file updates are disabled with auto save off."""
319
        tmpdir.chdir()
320
        sample = SampleDecoratedAutoOff()
321
322
        sample.string = "hello"
@@ 221-267 (lines=47) @@
218
        """Verify standard attribute types dump/parse correctly (function)."""
219
        tmpdir.chdir()
220
        _sample = SampleStandard()
221
        attrs = {'object': self.StatusDictionary,
222
                 'array': IntegerList,
223
                 'string': String,
224
                 'number_int': Integer,
225
                 'number_real': Float,
226
                 'truthy': Boolean,
227
                 'falsey': Boolean}
228
        sample = yorm.sync(_sample, "tmp/directory/sample.yml", attrs)
229
        assert "tmp/directory/sample.yml" == sample.__mapper__.path
230
231
        # check defaults
232
        assert {'status': False} == sample.object
233
        assert [] == sample.array
234
        assert "" == sample.string
235
        assert 0 == sample.number_int
236
        assert 0.0 == sample.number_real
237
        assert True is sample.truthy
238
        assert False is sample.falsey
239
        assert None is sample.null
240
241
        # change object values
242
        sample.object = {'key': 'value'}
243
        sample.array = [1, 2, 3]
244
        sample.string = "Hello, world!"
245
        sample.number_int = 42
246
        sample.number_real = 4.2
247
        sample.truthy = None
248
        sample.falsey = 1
249
250
        # check file values
251
        assert strip("""
252
        array:
253
        - 1
254
        - 2
255
        - 3
256
        falsey: true
257
        number_int: 42
258
        number_real: 4.2
259
        object:
260
          status: false
261
        string: Hello, world!
262
        truthy: false
263
        """) == sample.__mapper__.text
264
265
    def test_function_to_json(self, tmpdir):
266
        """Verify standard attribute types dump/parse correctly (function)."""
267
        tmpdir.chdir()
268
        _sample = SampleStandard()
269
        attrs = {'object': self.StatusDictionary,
270
                 'array': IntegerList,