~osomon/pyexiv2/pyexiv2-0.3

« back to all changes in this revision

Viewing changes to test/exif.py

  • Committer: Olivier Tilloy
  • Date: 2010-11-30 19:55:21 UTC
  • mfrom: (334.1.5 assign-fractions)
  • Revision ID: olivier@tilloy.net-20101130195521-2752ifb4refkk37b
Accept fractions.Fraction objects as tag values wherever Rational objects are accepted.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
import unittest
28
28
 
29
29
from pyexiv2.exif import ExifTag, ExifValueError
30
 
from pyexiv2.utils import Rational
 
30
from pyexiv2.utils import Rational, Fraction
31
31
 
32
32
import datetime
33
33
 
263
263
        tag = ExifTag('Exif.Image.XResolution')
264
264
        self.assertEqual(tag.type, 'Rational')
265
265
        self.assertEqual(tag._convert_to_string(Rational(5, 3)), '5/3')
 
266
        if Fraction is not None:
 
267
            self.assertEqual(tag._convert_to_string(Fraction('1.6')), '8/5')
266
268
 
267
269
        # Invalid values
268
270
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid')
287
289
        self.assertEqual(tag.type, 'SRational')
288
290
        self.assertEqual(tag._convert_to_string(Rational(5, 3)), '5/3')
289
291
        self.assertEqual(tag._convert_to_string(Rational(-5, 3)), '-5/3')
 
292
        if Fraction is not None:
 
293
            self.assertEqual(tag._convert_to_string(Fraction('1.6')), '8/5')
 
294
            self.assertEqual(tag._convert_to_string(Fraction('-1.6')), '-8/5')
290
295
 
291
296
        # Invalid values
292
297
        self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid')