Esempio n. 1
0
    def test_select_within_time(self):
        '''
        Tests the function to select within a time period
        '''
        self.catalogue.data['year'] = np.arange(1900, 2010, 20)
        self.catalogue.data['month'] = np.arange(1, 12, 2)
        self.catalogue.data['day'] = np.ones(6, dtype=int)
        self.catalogue.data['hour'] = np.ones(6, dtype=int)
        self.catalogue.data['minute'] = np.zeros(6, dtype=int)
        self.catalogue.data['second'] = np.ones(6, dtype=float)

        selector0 = CatalogueSelector(self.catalogue)

        # Start time and End time not defined
        test_cat_1 = selector0.within_time_period()
        self._compare_time_data_dictionaries(test_cat_1.data,
                                             self.catalogue.data)

        # Start time defined - end time not defined
        begin_time = datetime.datetime(1975, 1, 1, 0, 0, 0, 0)
        expected_data = {
            'year': np.array([1980, 2000]),
            'month': np.array([9, 11]),
            'day': np.array([1, 1]),
            'hour': np.array([1, 1]),
            'minute': np.array([0, 0]),
            'second': np.array([1., 1.])
        }

        test_cat_1 = selector0.within_time_period(start_time=begin_time)
        self._compare_time_data_dictionaries(expected_data, test_cat_1.data)

        # Test 3 - Start time not defined, end-time defined
        finish_time = datetime.datetime(1965, 1, 1, 0, 0, 0, 0)
        expected_data = {
            'year': np.array([1900, 1920, 1940, 1960]),
            'month': np.array([1, 3, 5, 7]),
            'day': np.array([1, 1, 1, 1]),
            'hour': np.array([1, 1, 1, 1]),
            'minute': np.array([0, 0, 0, 0]),
            'second': np.array([1., 1., 1., 1.])
        }

        test_cat_1 = selector0.within_time_period(end_time=finish_time)
        self._compare_time_data_dictionaries(expected_data, test_cat_1.data)

        # Test 4 - both start time and end-time defined
        begin_time = datetime.datetime(1935, 1, 1, 0, 0, 0, 0)
        finish_time = datetime.datetime(1995, 1, 1, 0, 0, 0, 0)
        expected_data = {
            'year': np.array([1940, 1960, 1980]),
            'month': np.array([5, 7, 9]),
            'day': np.array([1, 1, 1]),
            'hour': np.array([1, 1, 1]),
            'minute': np.array([0, 0, 0]),
            'second': np.array([1., 1., 1.])
        }

        test_cat_1 = selector0.within_time_period(begin_time, finish_time)
        self._compare_time_data_dictionaries(expected_data, test_cat_1.data)
Esempio n. 2
0
    def test_select_within_time(self):
        """
        Tests the function to select within a time period
        """
        self.catalogue.data["year"] = np.arange(1900, 2010, 20)
        self.catalogue.data["month"] = np.arange(1, 12, 2)
        self.catalogue.data["day"] = np.ones(6, dtype=int)
        self.catalogue.data["hour"] = np.ones(6, dtype=int)
        self.catalogue.data["minute"] = np.zeros(6, dtype=int)
        self.catalogue.data["second"] = np.ones(6, dtype=float)

        selector0 = CatalogueSelector(self.catalogue)

        # Start time and End time not defined
        test_cat_1 = selector0.within_time_period()
        self._compare_time_data_dictionaries(test_cat_1.data, self.catalogue.data)

        # Start time defined - end time not defined
        begin_time = datetime.datetime(1975, 1, 1, 0, 0, 0, 0)
        expected_data = {
            "year": np.array([1980, 2000]),
            "month": np.array([9, 11]),
            "day": np.array([1, 1]),
            "hour": np.array([1, 1]),
            "minute": np.array([0, 0]),
            "second": np.array([1.0, 1.0]),
        }

        test_cat_1 = selector0.within_time_period(start_time=begin_time)
        self._compare_time_data_dictionaries(expected_data, test_cat_1.data)

        # Test 3 - Start time not defined, end-time defined
        finish_time = datetime.datetime(1965, 1, 1, 0, 0, 0, 0)
        expected_data = {
            "year": np.array([1900, 1920, 1940, 1960]),
            "month": np.array([1, 3, 5, 7]),
            "day": np.array([1, 1, 1, 1]),
            "hour": np.array([1, 1, 1, 1]),
            "minute": np.array([0, 0, 0, 0]),
            "second": np.array([1.0, 1.0, 1.0, 1.0]),
        }

        test_cat_1 = selector0.within_time_period(end_time=finish_time)
        self._compare_time_data_dictionaries(expected_data, test_cat_1.data)

        # Test 4 - both start time and end-time defined
        begin_time = datetime.datetime(1935, 1, 1, 0, 0, 0, 0)
        finish_time = datetime.datetime(1995, 1, 1, 0, 0, 0, 0)
        expected_data = {
            "year": np.array([1940, 1960, 1980]),
            "month": np.array([5, 7, 9]),
            "day": np.array([1, 1, 1]),
            "hour": np.array([1, 1, 1]),
            "minute": np.array([0, 0, 0]),
            "second": np.array([1.0, 1.0, 1.0]),
        }

        test_cat_1 = selector0.within_time_period(begin_time, finish_time)
        self._compare_time_data_dictionaries(expected_data, test_cat_1.data)
Esempio n. 3
0
    def test_select_within_time(self):
        '''
        Tests the function to select within a time period
        '''
        self.catalogue.data['year'] = np.arange(1900, 2010, 20)
        self.catalogue.data['month'] = np.arange(1, 12, 2)
        self.catalogue.data['day'] = np.ones(6, dtype=int)
        self.catalogue.data['hour'] = np.ones(6, dtype=int) 
        self.catalogue.data['minute'] = np.zeros(6, dtype=int)
        self.catalogue.data['second'] = np.ones(6, dtype=float)

        selector0 = CatalogueSelector(self.catalogue)

        # Start time and End time not defined
        test_cat_1 = selector0.within_time_period()
        self._compare_time_data_dictionaries(test_cat_1.data,
                                             self.catalogue.data)

        # Start time defined - end time not defined
        begin_time = datetime.datetime(1975, 1, 1, 0, 0, 0, 0)
        expected_data = {'year': np.array([1980, 2000]),
                         'month': np.array([9, 11]),
                         'day': np.array([1, 1]),
                         'hour': np.array([1, 1]),
                         'minute': np.array([0, 0]),
                         'second': np.array([1., 1.])}
        
        test_cat_1 = selector0.within_time_period(start_time=begin_time)
        self._compare_time_data_dictionaries(expected_data, test_cat_1.data)


        # Test 3 - Start time not defined, end-time defined
        finish_time = datetime.datetime(1965, 1, 1, 0, 0, 0, 0)
        expected_data = {'year': np.array([1900, 1920, 1940, 1960]),
                         'month': np.array([1, 3, 5, 7]),
                         'day': np.array([1, 1, 1, 1]),
                         'hour': np.array([1, 1, 1, 1]),
                         'minute': np.array([0, 0, 0, 0]),
                         'second': np.array([1., 1., 1., 1.])}
        
        test_cat_1 = selector0.within_time_period(end_time=finish_time)
        self._compare_time_data_dictionaries(expected_data, test_cat_1.data)

        # Test 4 - both start time and end-time defined
        begin_time = datetime.datetime(1935, 1, 1, 0, 0, 0, 0)
        finish_time = datetime.datetime(1995, 1, 1, 0, 0, 0, 0)
        expected_data = {'year': np.array([1940, 1960, 1980]),
                         'month': np.array([5, 7, 9]),
                         'day': np.array([1, 1, 1]),
                         'hour': np.array([1, 1, 1]),
                         'minute': np.array([0, 0, 0]),
                         'second': np.array([1., 1., 1.])}

        test_cat_1 = selector0.within_time_period(begin_time, finish_time)
        self._compare_time_data_dictionaries(expected_data, test_cat_1.data)