You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wayang.apache.org by GitBox <gi...@apache.org> on 2022/04/08 19:00:09 UTC
[GitHub] [incubator-wayang] github-actions[bot] opened a new issue, #205: add the missing test for get_type_flatmap_function
github-actions[bot] opened a new issue, #205:
URL: https://github.com/apache/incubator-wayang/issues/205
add the missing test for get_type_flatmap_function
https://github.com/apache/incubator-wayang/blob/4cc0bfdca06dda171b661822daae5fa438d9d475/python/src/pywy/tests/unit/types_test.py#L267
```python
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
#
import inspect
import unittest
from unittest.mock import Mock
from pywy.exception import PywyException
from pywy.types import get_type_function, get_type_bifunction, get_type_flatmap_function, get_type_predicate
empty_type = inspect._empty
class TestUnitTypesPredicate(unittest.TestCase):
def setUp(self):
pass
def test_predicate_without_parameters(self):
def pred() -> bool:
return True
try:
get_type_predicate(pred)
self.fail("The predicates parameters are mandatory")
except PywyException as ex:
self.assertTrue("the parameters for the Predicate are distinct than one," in str(ex))
def test_predicate_with_one_parameter_no_type(self):
def pred(x) -> bool:
return True
try:
pred_type = get_type_predicate(pred)
self.assertEqual(pred_type, empty_type)
except PywyException as ex:
self.fail(str(ex))
def test_predicate_with_one_parameter_with_basic_type(self):
def pred(x: int) -> bool:
return True
try:
pred_type = get_type_predicate(pred)
self.assertEqual(pred_type, int)
except PywyException as ex:
self.fail(str(ex))
def test_predicate_with_one_parameter_with_obe_type(self):
def pred(x: Mock) -> bool:
return True
try:
pred_type = get_type_predicate(pred)
self.assertEqual(pred_type, Mock)
except PywyException as ex:
self.fail(str(ex))
def test_predicate_with_two_parameters(self):
def pred(x: Mock, y: Mock) -> bool:
return True
try:
get_type_predicate(pred)
self.fail("the predicate can have just one input")
except PywyException as ex:
self.assertTrue("the parameters for the Predicate are distinct than one" in str(ex))
class TestUnitTypesFunction(unittest.TestCase):
def setUp(self):
pass
def test_function_without_parameters_no_return(self):
def func():
return
try:
get_type_function(func)
self.fail("The function parameters are mandatory")
except PywyException as ex:
self.assertTrue("the parameters for the Function are distinct than one," in str(ex))
def test_function_with_one_parameter_no_type_no_return(self):
def func(x):
return
try:
input_type, output_type = get_type_function(func)
self.assertEqual(input_type, empty_type)
self.assertEqual(output_type, empty_type)
except PywyException as ex:
self.fail(str(ex))
def test_function_with_one_parameter_with_basic_type_no_return(self):
def func(x: int):
return
try:
input_type, output_type = get_type_function(func)
self.assertEqual(input_type, int)
self.assertEqual(output_type, empty_type)
except PywyException as ex:
self.fail(str(ex))
def test_function_with_one_parameter_with_obj_type_no_return(self):
def func(x: Mock):
return
try:
input_type, output_type = get_type_function(func)
self.assertEqual(input_type, Mock)
self.assertEqual(output_type, empty_type)
except PywyException as ex:
self.fail(str(ex))
def test_function_with_two_parameters_no_return(self):
def func(x: Mock, y: Mock):
return
try:
get_type_function(func)
self.fail("the function can have just one input")
except PywyException as ex:
self.assertTrue("the parameters for the Function are distinct than one" in str(ex))
def test_function_without_parameters_basic_return(self):
def func() -> int:
return 0
try:
get_type_function(func)
self.fail("The function parameters are mandatory")
except PywyException as ex:
self.assertTrue("the parameters for the Function are distinct than one," in str(ex))
def test_function_with_one_parameter_no_type_basic_return(self):
def func(x) -> int:
return 0
try:
input_type, output_type = get_type_function(func)
self.assertEqual(input_type, empty_type)
self.assertEqual(output_type, int)
except PywyException as ex:
self.fail(str(ex))
def test_function_with_one_parameter_with_basic_type_basic_return(self):
def func(x: int) -> int:
return 0
try:
input_type, output_type = get_type_function(func)
self.assertEqual(input_type, int)
self.assertEqual(output_type, int)
except PywyException as ex:
self.fail(str(ex))
def test_function_with_one_parameter_with_obj_type_basic_return(self):
def func(x: Mock) -> int:
return 0
try:
input_type, output_type = get_type_function(func)
self.assertEqual(input_type, Mock)
self.assertEqual(output_type, int)
except PywyException as ex:
self.fail(str(ex))
def test_function_with_two_parameters_basic_return(self):
def func(x: Mock, y: Mock) -> int:
return 0
try:
get_type_function(func)
self.fail("the function can have just one input")
except PywyException as ex:
self.assertTrue("the parameters for the Function are distinct than one" in str(ex))
def test_function_without_parameters_obj_return(self):
def func() -> Mock:
return Mock()
try:
get_type_function(func)
self.fail("The function parameters are mandatory")
except PywyException as ex:
self.assertTrue("the parameters for the Function are distinct than one," in str(ex))
def test_function_with_one_parameter_no_type_obj_return(self):
def func(x) -> Mock:
return Mock()
try:
input_type, output_type = get_type_function(func)
self.assertEqual(input_type, empty_type)
self.assertEqual(output_type, Mock)
except PywyException as ex:
self.fail(str(ex))
def test_function_with_one_parameter_with_basic_type_basic_return(self):
def func(x: int) -> Mock:
return Mock()
try:
input_type, output_type = get_type_function(func)
self.assertEqual(input_type, int)
self.assertEqual(output_type, Mock)
except PywyException as ex:
self.fail(str(ex))
def test_function_with_one_parameter_with_obe_type_basic_return(self):
def func(x: Mock) -> Mock:
return Mock()
try:
input_type, output_type = get_type_function(func)
self.assertEqual(input_type, Mock)
self.assertEqual(output_type, Mock)
except PywyException as ex:
self.fail(str(ex))
def test_function_with_two_parameters_basic_return(self):
def func(x: Mock, y: Mock) -> Mock:
return Mock()
try:
get_type_function(func)
self.fail("the function can have just one input")
except PywyException as ex:
self.assertTrue("the parameters for the Function are distinct than one" in str(ex))
class TestUnitTypesBiFunction(unittest.TestCase):
def setUp(self):
pass
# TODO add the missing test for get_type_bifunction
def test_bifunction_without_parameters_no_return(self):
def func():
return
try:
get_type_bifunction(func)
self.fail("The bifunction parameters are mandatory")
except PywyException as ex:
self.assertTrue("the parameters for the BiFunction are distinct than two," in str(ex))
class TestUnitTypesFlatmapFunction(unittest.TestCase):
def setUp(self):
pass
# TODO add the missing test for get_type_flatmap_function
def test_flatmapfunction_without_parameters_no_return(self):
def func():
return
try:
get_type_flatmap_function(func)
self.fail("The bifunction parameters are mandatory")
except PywyException as ex:
self.assertTrue("the parameters for the FlatmapFunction are distinct than one," in str(ex))
```
b516891d77b9474c671316ead75f6a9867225c82
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@wayang.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [incubator-wayang] glauesppen closed issue #205: add the missing test for get_type_flatmap_function
Posted by "glauesppen (via GitHub)" <gi...@apache.org>.
glauesppen closed issue #205: add the missing test for get_type_flatmap_function
URL: https://github.com/apache/incubator-wayang/issues/205
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@wayang.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org