def test_sync_timesteps_steps_relevant_readers(self):
        # Given
        e = self.engine
        # Read a VTK XML data file.
        r = VTKXMLFileReader()
        r.initialize(self.abc1)
        e.add_source(r)

        # Create an outline for the data.
        o = Outline()
        e.add_module(o)

        r2 = VTKXMLFileReader()
        r2.initialize(self.def1)
        e.add_source(r2)

        r3 = VTKXMLFileReader()
        r3.initialize(self.xyz1)
        e.add_source(r3)

        # When
        r.sync_timestep = True
        r.timestep = 1

        # Then
        self.assertEqual(r.timestep, r2.timestep)
        self.assertNotEqual(r.timestep, r3.timestep)
        r.timestep = 0
        self.assertEqual(r.timestep, r2.timestep)
    def test_sync_timesteps_steps_relevant_readers(self):
        # Given
        e = self.engine
        # Read a VTK XML data file.
        r = VTKXMLFileReader()
        r.initialize(self.abc1)
        e.add_source(r)

        # Create an outline for the data.
        o = Outline()
        e.add_module(o)

        r2 = VTKXMLFileReader()
        r2.initialize(self.def1)
        e.add_source(r2)

        r3 = VTKXMLFileReader()
        r3.initialize(self.xyz1)
        e.add_source(r3)

        # When
        r.sync_timestep = True
        r.timestep = 1

        # Then
        self.assertEqual(r.timestep, r2.timestep)
        self.assertNotEqual(r.timestep, r3.timestep)
        r.timestep = 0
        self.assertEqual(r.timestep, r2.timestep)
    def test_update_files_updates_all_file_lists(self):
        # Given
        e = self.engine
        # Read a VTK XML data file.
        r = VTKXMLFileReader()
        r.initialize(self.abc1)
        e.add_source(r)

        r2 = VTKXMLFileReader()
        r2.initialize(self.def1)
        e.add_source(r2)
        r.sync_timestep = True
        r.timestep = 0

        self.assertEqual(r._max_timestep, 1)
        self.assertEqual(len(r.file_list), 2)

        # When
        shutil.copy(self.abc1, os.path.join(self.root, 'abc_3.vti'))
        shutil.copy(self.def1, os.path.join(self.root, 'def_3.vti'))
        r.update_files = True

        # Then
        self.assertEqual(r._max_timestep, 2)
        self.assertEqual(len(r.file_list), 3)
        self.assertEqual(r2._max_timestep, 2)
        self.assertEqual(len(r2.file_list), 3)
    def test_update_files_updates_all_file_lists(self):
        # Given
        e = self.engine
        # Read a VTK XML data file.
        r = VTKXMLFileReader()
        r.initialize(self.abc1)
        e.add_source(r)

        r2 = VTKXMLFileReader()
        r2.initialize(self.def1)
        e.add_source(r2)
        r.sync_timestep = True
        r.timestep = 0

        self.assertEqual(r._max_timestep, 1)
        self.assertEqual(len(r.file_list), 2)

        # When
        shutil.copy(self.abc1, os.path.join(self.root, "abc_3.vti"))
        shutil.copy(self.def1, os.path.join(self.root, "def_3.vti"))
        r.update_files = True

        # Then
        self.assertEqual(r._max_timestep, 2)
        self.assertEqual(len(r.file_list), 3)
        self.assertEqual(r2._max_timestep, 2)
        self.assertEqual(len(r2.file_list), 3)