def test_passing_good_values_results_in_proper_generator_configuration_settings(self):


        configString = """[PolarCoordinates]
        AlfaStart: 20
        AlfaStop: 50
        BetaStart: 100
        BetaStop: 150
        RadiusStart: 10
        RadiusStop: 10
        [File]
        InputFileName : myFileName
        """

        configString = configString.replace(' ', '')

        fileName = self.__saveToFile(configString)

        reader = ConfigReader()
        settings = reader.readScene(fileName)

        # Assertions go here
        self.assertEqual("myFileName", settings.inputFileName,
                         "The input file name should be 'myFileName'")
        self.assertEqual(".x3d", settings.inputFormat,
                         "The file format should be collada")
        self.assertEqual(".bmp", settings.outputFormat,
                         "The output file format shoudl be jpg")
    def test_passing_the_no_file_setting_results_in_default_values(self):

        configString = """[PolarCoordinates]
        AlfaStart: 20
        AlfaStop: 50
        BetaStart: 100
        BetaStop: 150
        RadiusStart: 10
        RadiusStop: 10
        """
        configString = configString.replace(' ', '')

        fileName = self.__saveToFile(configString)

        reader = ConfigReader()
        settings = reader.readScene(fileName)

        # Assertions go here (testing properties not ._value)
        self.assertEqual(GeneratorDescription.defaultInputFileName, settings.inputFileName,
                         "The input file name should be default value")
        self.assertEqual(GeneratorDescription.defaultInputFormat, settings.inputFormat,
                         "The default input format should be .x3d")
        self.assertEqual(GeneratorDescription.defaultOutputFormat, settings.outputFormat,
                          "The default output format should be .bmp")

        # Default values for output and input folder should be used

        self.assertEqual(GeneratorDescription.defaultInputFolder, settings.inputFolder,
                         "The default input folder should be models")
        self.assertEqual(GeneratorDescription.defaultOutputFolder, settings.outputFolder,
                         "The default output folder should be renders")
    def test_reading_empty_file_results_in_exception(self):
        '''
        Checks if the empty or None conformity file is acceptable 
        '''
        configReader = ConfigReader()
        with self.assertRaises(ValueError):
            configReader.readScene(None)

        with self.assertRaises(ValueError):
            configReader.readScene("non_existing_file")
    def test_passing_good_values_results_in_data_creation_with_steps(self):
        '''
        Checks when we pass good data, the configReader returns the structure with data
        '''
        # test reading
        configReader = ConfigReader()
        results = configReader.readScene(self.fileNameWithSteps)

        # assert
        self.assertEqual(results.alfa.start, 20, "Alfa start should be 20")
        self.assertEqual(results.alfa.stop, 50, "Alfa stop should be 50")
        self.assertEqual(results.alfa.step, 1, "Alfa step should be 1")

        self.assertEqual(results.beta.start, 100, "Beta start should be 100")
        self.assertEqual(results.beta.stop, 150, "Beta stop should be 150")
        self.assertEqual(results.beta.step, 2, "Beta step should be 2")

        self.assertEqual(results.radius.start, 10, "Radius start should be 10")
        self.assertEqual(results.radius.stop, 10, "Radius stop should be 10")
        self.assertEqual(results.radius.step, 3, "Radius step should be 3")
    def test_passing_good_values_results_in_data_creaton_default_step(self):
        '''
        Checks when we pass good data, the configReader returns the structure with data
        '''
        # test reading
        configReader = ConfigReader()
        results = configReader.readScene(self.fileName)

        # assert that what was read from file
        self.assertEqual(results.alfa.start, 20, "Alfa start should be 20")
        self.assertEqual(results.alfa.stop, 50, "Alfa stop should be 50")

        self.assertEqual(results.beta.start, 100, "Beta start should be 100")
        self.assertEqual(results.beta.stop, 150, "Beta stop should be 150")

        self.assertEqual(results.radius.start, 10, "Radius start should be 10")
        self.assertEqual(results.radius.stop, 10, "Radius stop should be 10")

        # assertions about the default values
        self.assertEqual(ConfigReader.defaultAlfaStep, results.alfa.step, "The alfa step should be default")
        self.assertEqual(ConfigReader.defaulBetaStep, results.beta.step, "The beta step should be default")
        self.assertEqual(ConfigReader.defaultRadiusStep, results.radius.step, "The radius step should be default")