133 lines
4.1 KiB
Python
133 lines
4.1 KiB
Python
#! /usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
# Author: Hamilton Kibbe <ham@hamiltonkib.be>
|
|
|
|
from ..cam import CamFile, FileSettings
|
|
from .tests import *
|
|
|
|
|
|
def test_filesettings_defaults():
|
|
""" Test FileSettings default values
|
|
"""
|
|
fs = FileSettings()
|
|
assert_equal(fs.format, (2, 5))
|
|
assert_equal(fs.notation, 'absolute')
|
|
assert_equal(fs.zero_suppression, 'trailing')
|
|
assert_equal(fs.units, 'inch')
|
|
|
|
|
|
def test_filesettings_dict():
|
|
""" Test FileSettings Dict
|
|
"""
|
|
fs = FileSettings()
|
|
assert_equal(fs['format'], (2, 5))
|
|
assert_equal(fs['notation'], 'absolute')
|
|
assert_equal(fs['zero_suppression'], 'trailing')
|
|
assert_equal(fs['units'], 'inch')
|
|
|
|
|
|
def test_filesettings_assign():
|
|
""" Test FileSettings attribute assignment
|
|
"""
|
|
fs = FileSettings()
|
|
fs.units = 'test1'
|
|
fs.notation = 'test2'
|
|
fs.zero_suppression = 'test3'
|
|
fs.format = 'test4'
|
|
assert_equal(fs.units, 'test1')
|
|
assert_equal(fs.notation, 'test2')
|
|
assert_equal(fs.zero_suppression, 'test3')
|
|
assert_equal(fs.format, 'test4')
|
|
|
|
|
|
def test_filesettings_dict_assign():
|
|
""" Test FileSettings dict-style attribute assignment
|
|
"""
|
|
fs = FileSettings()
|
|
fs['units'] = 'metric'
|
|
fs['notation'] = 'incremental'
|
|
fs['zero_suppression'] = 'leading'
|
|
fs['format'] = (1, 2)
|
|
assert_equal(fs.units, 'metric')
|
|
assert_equal(fs.notation, 'incremental')
|
|
assert_equal(fs.zero_suppression, 'leading')
|
|
assert_equal(fs.format, (1, 2))
|
|
|
|
def test_camfile_init():
|
|
""" Smoke test CamFile test
|
|
"""
|
|
cf = CamFile()
|
|
|
|
def test_camfile_settings():
|
|
""" Test CamFile Default Settings
|
|
"""
|
|
cf = CamFile()
|
|
assert_equal(cf.settings, FileSettings())
|
|
|
|
def test_bounds_override_smoketest():
|
|
cf = CamFile()
|
|
cf.bounds
|
|
|
|
|
|
def test_zeros():
|
|
""" Test zero/zero_suppression interaction
|
|
"""
|
|
fs = FileSettings()
|
|
assert_equal(fs.zero_suppression, 'trailing')
|
|
assert_equal(fs.zeros, 'leading')
|
|
|
|
fs['zero_suppression'] = 'leading'
|
|
assert_equal(fs.zero_suppression, 'leading')
|
|
assert_equal(fs.zeros, 'trailing')
|
|
|
|
fs.zero_suppression = 'trailing'
|
|
assert_equal(fs.zero_suppression, 'trailing')
|
|
assert_equal(fs.zeros, 'leading')
|
|
|
|
fs['zeros'] = 'trailing'
|
|
assert_equal(fs.zeros, 'trailing')
|
|
assert_equal(fs.zero_suppression, 'leading')
|
|
|
|
fs.zeros= 'leading'
|
|
assert_equal(fs.zeros, 'leading')
|
|
assert_equal(fs.zero_suppression, 'trailing')
|
|
|
|
fs = FileSettings(zeros='leading')
|
|
assert_equal(fs.zeros, 'leading')
|
|
assert_equal(fs.zero_suppression, 'trailing')
|
|
|
|
fs = FileSettings(zero_suppression='leading')
|
|
assert_equal(fs.zeros, 'trailing')
|
|
assert_equal(fs.zero_suppression, 'leading')
|
|
|
|
fs = FileSettings(zeros='leading', zero_suppression='trailing')
|
|
assert_equal(fs.zeros, 'leading')
|
|
assert_equal(fs.zero_suppression, 'trailing')
|
|
|
|
fs = FileSettings(zeros='trailing', zero_suppression='leading')
|
|
assert_equal(fs.zeros, 'trailing')
|
|
assert_equal(fs.zero_suppression, 'leading')
|
|
|
|
|
|
def test_filesettings_validation():
|
|
""" Test FileSettings constructor argument validation
|
|
"""
|
|
assert_raises(ValueError, FileSettings, 'absolute-ish', 'inch', None, (2, 5), None)
|
|
assert_raises(ValueError, FileSettings, 'absolute', 'degrees kelvin', None, (2, 5), None)
|
|
assert_raises(ValueError, FileSettings, 'absolute', 'inch', 'leading', (2, 5), 'leading')
|
|
assert_raises(ValueError, FileSettings, 'absolute', 'inch', 'following', (2, 5), None)
|
|
assert_raises(ValueError, FileSettings, 'absolute', 'inch', None, (2, 5), 'following')
|
|
assert_raises(ValueError, FileSettings, 'absolute', 'inch', None, (2, 5, 6), None)
|
|
|
|
def test_key_validation():
|
|
fs = FileSettings()
|
|
assert_raises(KeyError, fs.__getitem__, 'octopus')
|
|
assert_raises(KeyError, fs.__setitem__, 'octopus', 'do not care')
|
|
assert_raises(ValueError, fs.__setitem__, 'notation', 'absolute-ish')
|
|
assert_raises(ValueError, fs.__setitem__, 'units', 'degrees kelvin')
|
|
assert_raises(ValueError, fs.__setitem__, 'zero_suppression', 'following')
|
|
assert_raises(ValueError, fs.__setitem__, 'zeros', 'following')
|
|
assert_raises(ValueError, fs.__setitem__, 'format', (2, 5, 6))
|
|
|
|
|