Skip to content

Commit

Permalink
Merge pull request #158 from jscotka/tuple_test
Browse files Browse the repository at this point in the history
test Tuple type
  • Loading branch information
jscotka authored Mar 1, 2021
2 parents 5bc8590 + cea45c3 commit 5f5c7a8
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
_requre:
DataTypes: 1
key_strategy: StorageKeysInspectSimple
version_storage_file: 3
tests.testbase:
ret:
- metadata:
latency: 9.5367431640625e-07
module_call_list:
- unittest.case
- requre.online_replacing
- tests.test_tuple
- requre.objects
- requre.cassette
- tests.testbase
- ret
output:
- ret
- 2
18 changes: 18 additions & 0 deletions tests/test_guess_objects.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,13 @@ def testFunctionDecorator(self):
before2 = decorated_own(2, OwnClass(2))
before3 = decorated_own(2, OwnClass(3))
before4 = decorated_own(3, sys.__stdin__)
before5 = decorated_own(
4,
(
1,
2,
),
)
self.cassette.dump()
self.cassette.mode = StorageMode.read

Expand All @@ -59,13 +66,24 @@ def testFunctionDecorator(self):
self.assertEqual(self.cassette.data_miner.metadata[GUESS_STR], Simple.__name__)
after4 = decorated_own(3, sys.__stdin__)
self.assertEqual(self.cassette.data_miner.metadata[GUESS_STR], Void.__name__)
after5 = decorated_own(4, (3,))
self.assertEqual(
after5,
(
1,
2,
),
)
self.assertTrue(isinstance(after5, tuple))

self.assertEqual(before1, after1)
self.assertEqual(before2.__class__.__name__, after2.__class__.__name__)
self.assertEqual(before3.__class__.__name__, after3.__class__.__name__)
self.assertEqual(after2.__class__.__name__, "OwnClass")
self.assertEqual(before4.__class__.__name__, "TextIOWrapper")
self.assertEqual(after4.__class__.__name__, "str")
self.assertEqual(before5.__class__.__name__, "tuple")
self.assertEqual(before5, after5)


@apply_decorator_to_all_methods(replace_module_match(what="math.sin"))
Expand Down
26 changes: 26 additions & 0 deletions tests/test_tuple.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import sys
import tempfile
from requre.helpers.simple_object import Tuple
from requre.online_replacing import apply_decorator_to_all_methods, replace
from requre.cassette import Cassette, StorageMode
from tests.testbase import BaseClass, RetTuple


@apply_decorator_to_all_methods(
replace(what="tests.testbase.RetTuple.ret", decorate=Tuple.decorator_plain())
)
class TestTuple(BaseClass):
def test_write(self, cassette: Cassette):
cassette.storage_file = tempfile.mktemp()
out = RetTuple().ret(1)
self.assertEqual(out, ("ret", 1))

def test_read(self, cassette: Cassette):
print(cassette.storage_file)
print([k for k, v in sys.modules.items() if "tests" in k])
if cassette.mode == StorageMode.write:
out = RetTuple().ret(2)
self.assertEqual(out, ("ret", 2))
else:
out = RetTuple().ret(1)
self.assertEqual(out, ("ret", 2))
5 changes: 5 additions & 0 deletions tests/testbase.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
EXAMPLE_COM_IP = "93.184.216.34"


class RetTuple:
def ret(self, value):
return "ret", value


def network_connection_available():
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
if sock.connect_ex((EXAMPLE_COM_IP, 80)) == 0:
Expand Down

0 comments on commit 5f5c7a8

Please sign in to comment.