text: import collections
  import os
  import unittest
  import cwepr.io.exporter
  import cwepr.dataset
  
  
  class TestMetadataExporter(unittest.TestCase):
      def setUp(self):
          self.export = cwepr.io.exporter.MetadataExporter()
          self.dataset = cwepr.dataset.ExperimentalDataset()
          self.filename = ''
  
      def tearDown(self):
          if os.path.exists(self.export.filename):
              os.remove(self.export.filename)
  
      def test_metadata_dict_is_dict(self):
          self.assertIsInstance(self.export.metadata_dict, collections.OrderedDict)
  
      def test_file_exists_with_default_filename_after_export(self):
          self.export.dataset = self.dataset
          self.dataset.export_to(self.export)
          self.assertTrue(os.path.exists(self.export.filename))
  
      def test_file_exists_with_custom_filename_after_export(self):
          self.export.dataset = self.dataset
          self.export.filename = 'my_filename.yaml'
          self.dataset.export_to(self.export)
          self.assertTrue(os.path.exists(self.export.filename))
  
      def test_file_exists_with_custom_filename_wo_extension_after_export(self):
          self.export.dataset = self.dataset
          self.export.filename = 'my_filename'
          self.dataset.export_to(self.export)
          self.assertTrue(os.path.exists('my_filename.yaml'))
  
      def test_metadata_get_cleaned_from_empty_values(self):
          self.dataset.metadata.bridge.mw_frequency.value = 9.5
          self.dataset.metadata.bridge.mw_frequency.unit = 'GHz'
          self.export.dataset = self.dataset
          self.export.filename = 'my_filename'
          self.dataset.export_to(self.export)
          goal_dict = {
              'bridge': {
                  'mw_frequency': {
                      'value': 9.5,
                      'unit': 'GHz',
                  }
              }
          }
          self.assertDictEqual(goal_dict, self.export.metadata_dict)
  