GnuCash  5.6-150-g038405b370+
Public Member Functions | Data Fields
test_function_class.TestFunctionClass Class Reference
Inheritance diagram for test_function_class.TestFunctionClass:

Public Member Functions

def test_add_constructor_and_methods_with_prefix (self)
 
def test_add_method (self)
 
def test_ya_add_method (self)
 
def test_default_arguments_decorator (self)
 

Data Fields

 TestClass
 
 testClass
 
 t
 

Detailed Description

Definition at line 50 of file test_function_class.py.

Member Function Documentation

◆ test_add_method()

def test_function_class.TestFunctionClass.test_add_method (   self)
test if add_method adds method and if in case of FunctionClass
Instance instances get returned instead of FunctionClass instances

Definition at line 58 of file test_function_class.py.

58  def test_add_method(self):
59  """test if add_method adds method and if in case of FunctionClass
60  Instance instances get returned instead of FunctionClass instances"""
61  TestClass.add_method("other_function", "other_method")
62  self.t = TestClass()
63  obj, arg = self.t.other_method()
64  self.assertIsInstance(obj, Instance)
65  obj, arg = self.t.other_method(self.t)
66  self.assertIsInstance(arg, Instance)
67  obj, arg = self.t.other_method(arg=self.t)
68  self.assertIsInstance(arg, Instance)
69 

◆ test_default_arguments_decorator()

def test_function_class.TestFunctionClass.test_default_arguments_decorator (   self)
test default_arguments_decorator()

Definition at line 83 of file test_function_class.py.

83  def test_default_arguments_decorator(self):
84  """test default_arguments_decorator()"""
85  TestClass.backup_test_function_return_args = TestClass.test_function_return_args
86  TestClass.backup_test_function_return_arg_karg = (
87  TestClass.test_function_return_arg_karg
88  )
89  self.t = TestClass()
90 
91  arg1 = "arg1"
92  arg2 = "arg2"
93  arg3 = {"arg3": arg2}
94  arg4 = 4
95  TestClass.decorate_method(
96  default_arguments_decorator, "test_function_return_args", arg1, arg2
97  )
98  self.assertEqual(
99  self.t.test_function_return_args(), (self.t.instance, (arg2,), {})
100  ) # default arg1 gets overwritten by class instances instance attribute
101  self.assertEqual(
102  self.t.test_function_return_args(arg3), (self.t.instance, (arg3,), {})
103  )
104  self.assertEqual(
105  self.t.test_function_return_args(arg1, arg3),
106  (self.t.instance, (arg1, arg3), {}),
107  )
108  self.assertEqual(
109  self.t.test_function_return_args(arg1, arg3, arg4=arg4),
110  (self.t.instance, (arg1, arg3), {"arg4": arg4}),
111  )
112 
113  TestClass.test_function_return_args = TestClass.backup_test_function_return_args
114  TestClass.decorate_method(
115  default_arguments_decorator,
116  "test_function_return_args",
117  arg1,
118  arg2,
119  arg4=arg4,
120  )
121  self.assertEqual(
122  self.t.test_function_return_args(),
123  (self.t.instance, (arg2,), {"arg4": arg4}),
124  )
125  self.assertEqual(
126  self.t.test_function_return_args(arg1, arg3, arg4=arg2),
127  (self.t.instance, (arg1, arg3), {"arg4": arg2}),
128  )
129 
130  with self.assertRaises(TypeError):
131  # should fail because a is set both as a positional and as a keyword argument
132  TestClass.decorate_method(
133  default_arguments_decorator,
134  "test_function_return_arg_karg",
135  None,
136  arg1,
137  a=arg2,
138  kargs_pos={"a": 1, "b": 2},
139  )
140  TestClass.decorate_method(
141  default_arguments_decorator,
142  "test_function_return_arg_karg",
143  None,
144  a=arg1,
145  kargs_pos={"a": 1, "b": 2},
146  )
147  self.assertEqual(
148  self.t.test_function_return_arg_karg(),
149  {"self": self.t.instance, "a": arg1, "b": b_default},
150  )
151 
152  TestClass.test_function_return_arg_karg = (
153  TestClass.backup_test_function_return_arg_karg
154  )
155  TestClass.decorate_method(
156  default_arguments_decorator,
157  "test_function_return_arg_karg",
158  None,
159  arg1,
160  kargs_pos={"a": 1, "b": 2},
161  )
162  self.assertEqual(
163  self.t.test_function_return_arg_karg(),
164  {"self": self.t.instance, "a": arg1, "b": b_default},
165  )
166  self.assertEqual(
167  self.t.test_function_return_arg_karg(arg2),
168  {"self": self.t.instance, "a": arg2, "b": b_default},
169  )
170  self.assertEqual(
171  self.t.test_function_return_arg_karg(arg2, arg3),
172  {"self": self.t.instance, "a": arg2, "b": arg3},
173  )
174 
175 

◆ test_ya_add_method()

def test_function_class.TestFunctionClass.test_ya_add_method (   self)
test if ya_add_method adds method and if in case of FunctionClass
Instance instances get returned instead of FunctionClass instances
with the exception of self (first) argument

Definition at line 70 of file test_function_class.py.

70  def test_ya_add_method(self):
71  """test if ya_add_method adds method and if in case of FunctionClass
72  Instance instances get returned instead of FunctionClass instances
73  with the exception of self (first) argument"""
74  TestClass.ya_add_method("other_function", "other_method")
75  self.t = TestClass()
76  obj, arg = self.t.other_method()
77  self.assertIsInstance(obj, TestClass)
78  obj, arg = self.t.other_method(self.t)
79  self.assertIsInstance(arg, Instance)
80  obj, arg = self.t.other_method(arg=self.t)
81  self.assertIsInstance(arg, Instance)
82 

The documentation for this class was generated from the following file: