コード例 #1
0
ファイル: filebasedsource_test.py プロジェクト: ssisk/beam
 def test_estimate_size_with_sampling_same_size(self):
     num_files = 2 * FileBasedSource.MIN_NUMBER_OF_FILES_TO_STAT
     pattern, _ = write_pattern([10] * num_files)
     # Each line will be of length 6 since write_pattern() uses
     # ('line' + line number + '\n') as data.
     self.assertEqual(6 * 10 * num_files,
                      FileBasedSource(pattern).estimate_size())
コード例 #2
0
ファイル: filebasedsource_test.py プロジェクト: ssisk/beam
    def test_string_or_value_provider_only(self):
        str_file_pattern = tempfile.NamedTemporaryFile(delete=False).name
        self.assertEqual(str_file_pattern,
                         FileBasedSource(str_file_pattern)._pattern.value)

        static_vp_file_pattern = StaticValueProvider(value_type=str,
                                                     value=str_file_pattern)
        self.assertEqual(static_vp_file_pattern,
                         FileBasedSource(static_vp_file_pattern)._pattern)

        runtime_vp_file_pattern = RuntimeValueProvider(
            option_name='arg', value_type=str, default_value=str_file_pattern)
        self.assertEqual(runtime_vp_file_pattern,
                         FileBasedSource(runtime_vp_file_pattern)._pattern)

        invalid_file_pattern = 123
        with self.assertRaises(TypeError):
            FileBasedSource(invalid_file_pattern)
コード例 #3
0
ファイル: filebasedsource_test.py プロジェクト: ssisk/beam
    def test_estimate_size_with_sampling_different_sizes(self):
        num_files = 2 * FileBasedSource.MIN_NUMBER_OF_FILES_TO_STAT

        # Each line will be of length 8 since write_pattern() uses
        # ('line' + line number + '\n') as data.
        base_size = 500
        variance = 5

        sizes = []
        for _ in xrange(num_files):
            sizes.append(
                int(random.uniform(base_size - variance,
                                   base_size + variance)))
        pattern, _ = write_pattern(sizes)
        tolerance = 0.05
        self.assertAlmostEqual(base_size * 8 * num_files,
                               FileBasedSource(pattern).estimate_size(),
                               delta=base_size * 8 * num_files * tolerance)