'''simple docstring'''

def       __UpperCamelCase	(       UpperCAmelCase					):
 if not all(char in '''01''' for char in bin_string					):
  raise ValueError('''Non-binary value was passed to the function'''					)
 if not bin_string:
  raise ValueError('''Empty string was passed to the function'''					)
 lowercase__    :   Optional[Any]						= ''''''
 while len(UpperCAmelCase					) % 3 != 0:
  lowercase__    :   Dict						= '''0''' + bin_string
 lowercase__    :   int						= [
     bin_string[index : index + 3]
     for index in range(len(UpperCAmelCase					)					)
     if index % 3 == 0
 ]
 for bin_group in bin_string_in_3_list:
  lowercase__    :   str						= 0
  for index, val in enumerate(UpperCAmelCase					):
   oct_val += int(2 ** (2 - index) * int(UpperCAmelCase					)					)
  oct_string += str(UpperCAmelCase					)
 return oct_string


if __name__ == "__main__":
  from doctest import testmod

  testmod()


'''simple docstring'''

import pytest

import datasets.config
from datasets.utils.info_utils import is_small_dataset
@pytest.mark.parametrize('''dataset_size'''		,					[None, 400 * 2**20, 600 * 2**20]					)
@pytest.mark.parametrize('''input_in_memory_max_size'''		,					['''default''', 0, 100 * 2**20, 900 * 2**20]					)
def       __UpperCamelCase	(       UpperCAmelCase		,					UpperCAmelCase		,					UpperCAmelCase					):
 if input_in_memory_max_size != "default":
  monkeypatch.setattr(datasets.config		,					'''IN_MEMORY_MAX_SIZE'''		,					UpperCAmelCase					)
 lowercase__    :   List[Any]						= datasets.config.IN_MEMORY_MAX_SIZE
 if input_in_memory_max_size == "default":
  assert in_memory_max_size == 0
 else:
  assert in_memory_max_size == input_in_memory_max_size
 if dataset_size and in_memory_max_size:
  lowercase__    :   str						= dataset_size < in_memory_max_size
 else:
  lowercase__    :   Optional[int]						= False
 lowercase__    :   Optional[Any]						= is_small_dataset(UpperCAmelCase					)
 assert result == expected

