def test_flat_directory_with_one_file(self):
        FLAT_DIR_WITH_ONE_FILE_PATH = "::flat_dir_with_one_path::"
        RB_FILE_PATH = "::rb_file_path::"
        when(os).listdir(FLAT_DIR_WITH_ONE_FILE_PATH).thenReturn([RB_FILE_PATH])
        when(os.path).isdir(FLAT_DIR_WITH_ONE_FILE_PATH).thenReturn(True)
        when(os.path).getsize(join(FLAT_DIR_WITH_ONE_FILE_PATH, RB_FILE_PATH)).thenReturn(789)

        assert_that(FilePathSizeCalculator.calculate_size(FLAT_DIR_WITH_ONE_FILE_PATH), equal_to(789))
import os
from com.senpaidevs.katas.file_size_calculator import FilePathSizeCalculator

if __name__ == '__main__':
    print FilePathSizeCalculator.calculate_size("/Users/agualis/PycharmProjects/Katas/example_dir")

    def test_one_file_and_one_subdirectory_with_one_file(self):
        when(os).listdir(ROOT_DIR_PATH).thenReturn([SUBDIR_WITH_ONE_FILE_PATH, SUBDIR_WITH_TWO_FILES_PATH, TXT_FILE_PATH])

        expected_size = HTML_FILE_SIZE + TXT_FILE_SIZE + DOC_FILE_SIZE + TXT_FILE_SIZE

        assert_that(FilePathSizeCalculator.calculate_size(ROOT_DIR_PATH), equal_to(expected_size))
 def test_flat_directory_with_several_files(self):
     assert_that(FilePathSizeCalculator.calculate_size(join(ROOT_DIR_PATH, SUBDIR_WITH_TWO_FILES_PATH)), equal_to(TXT_FILE_SIZE + DOC_FILE_SIZE))
    def test_empty_directory(self):
        EMPTY_PATH = "::empty_path::"
        when(os).listdir(EMPTY_PATH).thenReturn([])
        when(os.path).isdir(EMPTY_PATH).thenReturn(True)

        assert_that(FilePathSizeCalculator.calculate_size(EMPTY_PATH), equal_to(0))