Skip to content
This repository was archived by the owner on Jan 31, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Makefile
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,6 +14,7 @@ all:

check:
$(PYTHON) -m unittest \
$(TEST).serialization_test \
$(TEST).scheduler_test \
$(TEST).roulette_test
# $(TEST).reader_test \
Expand Down
14 changes: 14 additions & 0 deletions serialization/json/json.py
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
import json


class Json:

def serialize(data):
if type(data) is dict:
return json.dumps(data)

def deserialize(data):
if type(data) is str:
return json.loads(data)


10 changes: 10 additions & 0 deletions serialization/serializer.py
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
class Serializer:
def __init__(self, serialize_obj):
self.serialize_obj = serialize_obj

def serialize(self, data):
return self.serialize_obj.serialize(data)

def deserialize(self, data):
return self.serialize_obj.deserialize(data)

23 changes: 23 additions & 0 deletions tests/serialization_test.py
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
import unittest
import json
from tests.testsuites.serialization.test_json import *


class SerializationTestcase(unittest.TestCase):
def setUp(self):
self.raw_data = "{\"name\":\"john\",\"age\":22,\"class\":\"mca\"}"
self.dict_data = {'age': 22, 'class': 'mca', 'name': 'john'}

assert self.raw_data != ''
assert self.dict_data != None

def test_json_serialize(self):
expected = self.raw_data
result = json_serialize(self.dict_data)
self.assertDictEqual(json_deserialize(
expected), json_deserialize(result))

def test_json_deserialize(self):
expected = self.dict_data
result = json_deserialize(self.raw_data)
self.assertDictEqual(expected, result)
12 changes: 12 additions & 0 deletions tests/testsuites/serialization/test_json.py
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
from serialization import serializer
from serialization.json import json


def json_serialize(dict_data):
Serializer = serializer.Serializer(json.Json)
return Serializer.serialize(dict_data)


def json_deserialize(raw_data):
Serializer = serializer.Serializer(json.Json)
return Serializer.deserialize(raw_data)