8e8156c488
Christmas came early. Closes-Bug: #1479466 Change-Id: I931d826690c925f022dbfffe9afb7bf41345b1d0
59 lines
2.7 KiB
Python
59 lines
2.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
# Copyright (C) 2015 Yahoo! Inc. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
from taskflow import deciders
|
|
from taskflow import test
|
|
|
|
|
|
class TestDeciders(test.TestCase):
|
|
def test_translate(self):
|
|
for val in ['all', 'ALL', 'aLL', deciders.Depth.ALL]:
|
|
self.assertEqual(deciders.Depth.ALL,
|
|
deciders.Depth.translate(val))
|
|
for val in ['atom', 'ATOM', 'atOM', deciders.Depth.ATOM]:
|
|
self.assertEqual(deciders.Depth.ATOM,
|
|
deciders.Depth.translate(val))
|
|
for val in ['neighbors', 'Neighbors',
|
|
'NEIGHBORS', deciders.Depth.NEIGHBORS]:
|
|
self.assertEqual(deciders.Depth.NEIGHBORS,
|
|
deciders.Depth.translate(val))
|
|
for val in ['flow', 'FLOW', 'flOW', deciders.Depth.FLOW]:
|
|
self.assertEqual(deciders.Depth.FLOW,
|
|
deciders.Depth.translate(val))
|
|
|
|
def test_bad_translate(self):
|
|
self.assertRaises(TypeError, deciders.Depth.translate, 3)
|
|
self.assertRaises(TypeError, deciders.Depth.translate, object())
|
|
self.assertRaises(ValueError, deciders.Depth.translate, "stuff")
|
|
|
|
def test_pick_widest(self):
|
|
choices = [deciders.Depth.ATOM, deciders.Depth.FLOW]
|
|
self.assertEqual(deciders.Depth.FLOW, deciders.pick_widest(choices))
|
|
choices = [deciders.Depth.ATOM, deciders.Depth.FLOW,
|
|
deciders.Depth.ALL]
|
|
self.assertEqual(deciders.Depth.ALL, deciders.pick_widest(choices))
|
|
choices = [deciders.Depth.ATOM, deciders.Depth.FLOW,
|
|
deciders.Depth.ALL, deciders.Depth.NEIGHBORS]
|
|
self.assertEqual(deciders.Depth.ALL, deciders.pick_widest(choices))
|
|
choices = [deciders.Depth.ATOM, deciders.Depth.NEIGHBORS]
|
|
self.assertEqual(deciders.Depth.NEIGHBORS,
|
|
deciders.pick_widest(choices))
|
|
|
|
def test_bad_pick_widest(self):
|
|
self.assertRaises(ValueError, deciders.pick_widest, [])
|
|
self.assertRaises(ValueError, deciders.pick_widest, ["a"])
|
|
self.assertRaises(ValueError, deciders.pick_widest, set(['b']))
|