Skip to content

Commit

Permalink
tests fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
VL-CZ committed Dec 6, 2023
1 parent e9ad21c commit dd0921c
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 17 deletions.
2 changes: 1 addition & 1 deletion code_size_counter/code_size_counter.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ def _calculate_size(self, directory):

try:
file_size = FileSetSize(
file_manager.get_size(), file_manager.get_lines_count(), 1
1, file_manager.get_lines_count(), file_manager.get_size()
)

ext = file_manager.get_extension()
Expand Down
21 changes: 18 additions & 3 deletions code_size_counter/file_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,12 @@ class representing
of a set of files
"""

def __init__(self, total_size, total_lines, total_files):
def __init__(
self,
total_files,
total_lines,
total_size,
):
"""
:param total_size: total size of all files in the set (in bytes)
:param total_lines: total lines of code of all files in the set
Expand All @@ -33,14 +38,24 @@ def add(self, other):
:return: New fileset size with corresponding fields summed
"""
return FileSetSize(
self.total_size + other.total_size,
self.total_lines + other.total_lines,
self.total_files + other.total_files,
self.total_lines + other.total_lines,
self.total_size + other.total_size
)

def __add__(self, other):
return self.add(other)

def __eq__(self, other):
return (
self.total_size == other.total_size
and self.total_lines == other.total_lines
and self.total_files == other.total_files
)

def __repr__(self):
return f"(Files, Lines, Size): ({self.total_files}, {self.total_lines}, {self.total_size})"

@staticmethod
def empty():
"""
Expand Down
32 changes: 19 additions & 13 deletions tests/test_code_size_counter.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from pathlib import Path

from code_size_counter.code_size_counter import CodeSizeCounter
from code_size_counter.file_tools import FileSetSize


class TestCodeSizeCounter(unittest.TestCase):
Expand All @@ -19,9 +20,9 @@ def test_calculate_size_simple(self):
)
code_size = code_size_counter.calculate_size()

self.assertEqual(3, code_size.total_files)
self.assertEqual(2374, code_size.total_size)
self.assertEqual(35, code_size.total_lines)
expected_result = {"txt": FileSetSize(3, 35, 2374)}

self.assertDictEqual(expected_result, code_size)

def test_calculate_size_complex(self):
"""
Expand All @@ -34,15 +35,22 @@ def test_calculate_size_complex(self):

code_size_counter = CodeSizeCounter(
os.path.join(_get_tests_dir(), "complex-test-dir"),
("py", "yml", "md"),
("py", "yml", "md", "txt"),
False,
tuple(excluded_items),
)
code_size = code_size_counter.calculate_size()

self.assertEqual(13, code_size.total_files)
self.assertEqual(9842, code_size.total_size)
self.assertEqual(309, code_size.total_lines)
expected_result = {
"py": FileSetSize(11, 270, 8511),
"yml": FileSetSize(1, 36, 1187),
"md": FileSetSize(1, 3, 144),
}

self.assertDictEqual(expected_result, code_size)
# self.assertEqual(13, code_size.total_files)
# self.assertEqual(9842, code_size.total_size)
# self.assertEqual(309, code_size.total_lines)

def test_calculate_size_exclude_directories(self):
"""
Expand All @@ -61,9 +69,9 @@ def test_calculate_size_exclude_directories(self):
)
code_size = code_size_counter.calculate_size()

self.assertEqual(2, code_size.total_files)
self.assertEqual(104, code_size.total_size)
self.assertEqual(4, code_size.total_lines)
expected_result = {"py": FileSetSize(2, 4, 104)}

self.assertDictEqual(expected_result, code_size)

def test_calculate_size_no_matching_files(self):
"""
Expand All @@ -77,9 +85,7 @@ def test_calculate_size_no_matching_files(self):
)
code_size = code_size_counter.calculate_size()

self.assertEqual(0, code_size.total_files)
self.assertEqual(0, code_size.total_size)
self.assertEqual(0, code_size.total_lines)
self.assertDictEqual({}, code_size)


def _get_tests_dir():
Expand Down

0 comments on commit dd0921c

Please sign in to comment.