Пример #1
0
    def test_curve_filter_tag(self):
        """
        Tests that a curve can be retrieved by a date.
        """
        self.curve = CurveDB()
        self.curve.params['comment'] = 'bla bla bla'
        self.curve.params['Q'] = 1e6
        self.curve.params['nice_curve'] = True
        self.curve.tags.append('new_tag')
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()
        self.curve.tags.append('other_tag')
        self.curve.save()
        self.curve2 = CurveDB()
        self.curve2.set_data(pandas.Series([1,4,6]))
        self.curve2.tags.append('new_tag')
        self.curve2.params['Q'] = 5e6
        self.curve2.save()

        qs = CurveDB.objects.filter_tag('new_tag')
        self.assertTrue(self.curve in qs)
        self.assertTrue(self.curve2 in qs)
        
        qs = CurveDB.objects.filter_tag('other_tag')
        self.assertTrue(self.curve in qs)
        self.assertFalse(self.curve2 in qs)
        
        qs = CurveDB.objects.filter_tag('new_tag').filter_tag("other_tag")
        self.assertTrue(self.curve in qs)
        self.assertFalse(self.curve2 in qs)
Пример #2
0
 def test_curve_save(self):
     """
     Tests that a curve can be saved.
     """
     self.curve = CurveDB()
     self.curve.set_data(pandas.Series([1,4,6]))
     self.curve.save()
Пример #3
0
    def test_chained_filter(self):
        self.curve = CurveDB()
        self.curve.params['comment'] = 'bla bla bla'
        self.curve.params['Q'] = 1e6
        self.curve.params['nice_curve'] = True
        self.curve.tags.append('new_tag')
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()
        self.curve.tags.append('other_tag')
        self.curve.save()
        self.curve2 = CurveDB()
        self.curve2.set_data(pandas.Series([1,4,6]))
        self.curve2.tags.append('new_tag')
        self.curve2.params['Q'] = 5e6
        self.curve2.save()
        
        qs = CurveDB.objects.filter_tag('new_tag').filter_param('Q', value__lte = 1e7)
        self.assertTrue(self.curve in qs)

        qs = CurveDB.objects.filter_tag('new_tag').filter_param('Q', value__gte = 1e7)
        self.assertFalse(self.curve in qs)
        
        qs = CurveDB.objects.filter_tag('new_tag').filter_tag('other_tag').filter_param('Q', value__lte = 1e7)
        self.assertTrue(self.curve in qs)
        self.assertFalse(self.curve2 in qs)
Пример #4
0
 def test_curve_filter_distinct_elements(self):
     """
     Tests that a curve can be retrieved by a date.
     """
     self.curve = CurveDB()
     self.curve.set_data(pandas.Series([1,4,6]))
     self.curve.tags.append('new_tag')
     self.curve.tags.append('new_tag/sub')
     self.curve.save()
     self.assertTrue(CurveDB.objects.filter_tag("new_tag").count()==1)
Пример #5
0
    def test_curve_filter_param_string(self):
        """
        Tests that a curve can be retrieved by a string param.
        """
        self.curve = CurveDB()
        self.curve.params['name'] = 'some_name'
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()

        qs = CurveDB.objects.filter_param('name', value='some_name')
        self.assertTrue(self.curve in qs)
Пример #6
0
 def test_delete(self):
     from curve import Curve
     curve = CurveDB()
     curve.set_data(pandas.Series([1,4,6]))
     curve.params["dummy"] = 24.5
     for j in range(100):
         curve.params['coucou' + str(j)] = j
     curve.save()
     tic = time.time()
     curve.delete()
     print_and_log("time for deleting one curve: ", time.time() - tic)
Пример #7
0
    def test_curve_filter_param_float_lte(self):
        """
        Tests that a curve can be retrieved by a string param.
        """
        self.curve = CurveDB()
        self.curve.params['name'] = 'some_name'
        self.curve.params['Q'] = 1e6
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()

        qs = CurveDB.objects.filter_param('Q', value__lte=1e7)
        self.assertTrue(self.curve in qs)
        qs = CurveDB.objects.filter_param('Q', value__gte=1e7)
        self.assertFalse(self.curve in qs)
Пример #8
0
 def test_curve_filter_hierarchical_tag(self):
     self.curve = CurveDB()
     self.curve.params['comment'] = 'bla bla bla'
     self.curve.params['Q'] = 1e6
     self.curve.params['nice_curve'] = True
     self.curve.tags.append('new_tag/subtag')
     self.curve.set_data(pandas.Series([1,4,6]))
     self.curve.save()
     
     qs = CurveDB.objects.filter_tag("new_tag")
     self.assertTrue(self.curve in qs)
     
     qs = CurveDB.objects.filter_tag("new_t")
     self.assertFalse(self.curve in qs)
Пример #9
0
 def test_remove_tag(self):
     """
     Tests that a curve can be retrieved by a date.
     """
     self.curve = CurveDB()
     self.curve.set_data(pandas.Series([1,4,6]))
     self.curve.save()
     self.curve.tags.append('other_tag')
     self.curve.save()
     qs = CurveDB.objects.filter_tag('other_tag')
     self.assertTrue(self.curve in qs)
     self.curve.tags.pop(0)
     self.curve.save()
     curve = CurveDB.objects.get(id=self.curve.id)
     self.assertTrue("other_tag" not in curve.tags)
Пример #10
0
    def test_curve_filter_param_text(self):
        """
        Tests that a curve can be retrieved by a string param.
        """
        self.curve = CurveDB()
        self.curve.params['comment'] = 'bla bla bla'
        self.curve.params['Q'] = 1e6
        self.curve.params['nice_curve'] = True
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()

        qs = CurveDB.objects.filter_param('comment', value__contains='bla')
        self.assertTrue(self.curve in qs)
        qs = CurveDB.objects.filter_param('nice_curve', value__contains='blo')
        self.assertFalse(self.curve in qs)
Пример #11
0
    def test_curve_filter_date(self):
        """
        Tests that a curve can be retrieved by a date.
        """
        self.curve = CurveDB()
        self.curve.params['comment'] = 'bla bla bla'
        self.curve.params['Q'] = 1e6
        self.curve.params['nice_curve'] = True
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()

        qs = CurveDB.objects.filter_param('date', value__lte=datetime.now())
        self.assertTrue(self.curve in qs)
        qs = CurveDB.objects.filter_param('date', value__gte=datetime.now())
        self.assertFalse(self.curve in qs)
Пример #12
0
    def test_curve_filter_param_boolean(self):
        """
        Tests that a curve can be retrieved by a string param.
        """
        self.curve = CurveDB()
        self.curve.params['name'] = 'some_name'
        self.curve.params['Q'] = 1e6
        self.curve.params['nice_curve'] = True
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()

        qs = CurveDB.objects.filter_param('nice_curve', value=True)
        self.assertTrue(self.curve in qs)
        qs = CurveDB.objects.filter_param('nice_curve', value=False)
        self.assertFalse(self.curve in qs)
Пример #13
0
 def test_insert2(self):
     print_and_log("================================")
     curve = CurveDB()
     curve.set_data(pandas.Series([1,4,6]))
     curve.save()
     
     for i in range(3):
         for j in range(100):
             curve.params['coucou' + str(j)] = i*j
         tic = time.time()
         curve.save()
         print_and_log("time for saving 1 curve with 100 parameters (always same curve, values changing): " + str(time.time() - tic))
Пример #14
0
 def test_rename_tag(self):
     """
     Tests that a curve can be retrieved by a date.
     """
     self.curve = CurveDB()
     self.curve.set_data(pandas.Series([1,4,6]))
     self.curve.save()
     self.curve.tags.append('other_tag')
     self.curve.save()
     
     tag = Tag.objects.get(name='other_tag')
     tag.name = 'brand_new_name'
     tag.save()
     curve = CurveDB.objects.get(id=self.curve.id)
     
     self.assertTrue(curve.tags == ['brand_new_name'])
Пример #15
0
 def test_insert(self):
     print_and_log("================================")
     curve = CurveDB()
     curve.set_data(pandas.Series([1,4,6]))
     curve.save()
     
     tic = time.time()
     for i in range(100):
         curve.save()
     print_and_log("time for saving 100 times the same simple dummy curve: " , time.time() - tic)
Пример #16
0
 def test_save_curve_only(self):
     from curve import Curve
     curve = CurveDB()
     curve.set_data(pandas.Series([1,4,6]))
     curve.save()
     print_and_log("================================")
     for i in range(3):
         for j in range(100):
             curve.params['coucou' + str(j)] = i*j
         tic = time.time()
         Curve.save(curve, curve.get_full_filename())
         print_and_log("time for saving 1 curve with 100 parameters in h5: " + str(time.time() - tic))
Пример #17
0
 def test_insert_param(self):
     curve = CurveDB()
     curve.set_data(pandas.Series([1,4,6]))
     curve.save()
     
     for i in range(100):
         curve.params['coucou' + str(i)] = i
     curve.save()
     cu = CurveDB.objects.get(id=curve.id)
     self.assertTrue(cu.params['coucou12']==12)
     
     cu.params['coucou12'] = 45.
     cu.save()
     cu2 = CurveDB.objects.get(id=curve.id)
     self.assertTrue(cu2.params['coucou12']==45.)
     
     search = CurveDB.objects.filter_param('coucou12', value__gte=44)
     self.assertTrue(cu2 in search)
Пример #18
0
 def test_insert3(self):
     print_and_log("================================")
     
     for i in range(3):
         curve = CurveDB()
         curve.set_data(pandas.Series([1,4,6]))
         for j in range(100):
             curve.params['coucou' + str(j)] = i*j
         tic = time.time()
         curve.save()
         print_and_log("time for saving 1 curve with 100 parameters (new curve each time): " + str(time.time() - tic))
Пример #19
0
 def test_clear_columns(self):
     curve = CurveDB()
     curve.set_data(pandas.Series([1,4,6]))
     curve.save()
     
     curve.params['dummy_name'] = 89
     curve.save()
     curve = CurveDB.objects.get(id=curve.id)
     self.assertTrue("dummy_name" in [o.name for o in ParamColumn.objects.all()])
     
     curve.params.pop('dummy_name')
     curve.save()
     self.assertTrue("dummy_name" in [o.name for o in ParamColumn.objects.all()])
     clear_unused_columns()
     self.assertFalse("dummy_name" in [o.name for o in ParamColumn.objects.all()])
Пример #20
0
class SimpleTest(TestCase):
    def test_curve_save(self):
        """
        Tests that a curve can be saved.
        """
        self.curve = CurveDB()
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()
    
    def test_curve_filter_param_string(self):
        """
        Tests that a curve can be retrieved by a string param.
        """
        self.curve = CurveDB()
        self.curve.params['name'] = 'some_name'
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()

        qs = CurveDB.objects.filter_param('name', value='some_name')
        self.assertTrue(self.curve in qs)
        
    def test_curve_filter_param_float(self):
        """
        Tests that a curve can be retrieved by a string param.
        """
        
        self.curve = CurveDB()
        self.curve.params['name'] = 'some_name'
        self.curve.params['Q'] = 1e6
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()

        qs = CurveDB.objects.filter_param('Q', value=1e6)
        self.assertTrue(self.curve in qs)
        
    def test_curve_filter_param_float_lte(self):
        """
        Tests that a curve can be retrieved by a string param.
        """
        self.curve = CurveDB()
        self.curve.params['name'] = 'some_name'
        self.curve.params['Q'] = 1e6
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()

        qs = CurveDB.objects.filter_param('Q', value__lte=1e7)
        self.assertTrue(self.curve in qs)
        qs = CurveDB.objects.filter_param('Q', value__gte=1e7)
        self.assertFalse(self.curve in qs)
        
    def test_curve_filter_param_boolean(self):
        """
        Tests that a curve can be retrieved by a string param.
        """
        self.curve = CurveDB()
        self.curve.params['name'] = 'some_name'
        self.curve.params['Q'] = 1e6
        self.curve.params['nice_curve'] = True
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()

        qs = CurveDB.objects.filter_param('nice_curve', value=True)
        self.assertTrue(self.curve in qs)
        qs = CurveDB.objects.filter_param('nice_curve', value=False)
        self.assertFalse(self.curve in qs)
    
    def test_curve_filter_param_text(self):
        """
        Tests that a curve can be retrieved by a string param.
        """
        self.curve = CurveDB()
        self.curve.params['comment'] = 'bla bla bla'
        self.curve.params['Q'] = 1e6
        self.curve.params['nice_curve'] = True
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()

        qs = CurveDB.objects.filter_param('comment', value__contains='bla')
        self.assertTrue(self.curve in qs)
        qs = CurveDB.objects.filter_param('nice_curve', value__contains='blo')
        self.assertFalse(self.curve in qs)
        
    def test_curve_filter_date(self):
        """
        Tests that a curve can be retrieved by a date.
        """
        self.curve = CurveDB()
        self.curve.params['comment'] = 'bla bla bla'
        self.curve.params['Q'] = 1e6
        self.curve.params['nice_curve'] = True
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()

        qs = CurveDB.objects.filter_param('date', value__lte=datetime.now())
        self.assertTrue(self.curve in qs)
        qs = CurveDB.objects.filter_param('date', value__gte=datetime.now())
        self.assertFalse(self.curve in qs)
        
        
    def test_curve_filter_tag(self):
        """
        Tests that a curve can be retrieved by a date.
        """
        self.curve = CurveDB()
        self.curve.params['comment'] = 'bla bla bla'
        self.curve.params['Q'] = 1e6
        self.curve.params['nice_curve'] = True
        self.curve.tags.append('new_tag')
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()
        self.curve.tags.append('other_tag')
        self.curve.save()
        self.curve2 = CurveDB()
        self.curve2.set_data(pandas.Series([1,4,6]))
        self.curve2.tags.append('new_tag')
        self.curve2.params['Q'] = 5e6
        self.curve2.save()

        qs = CurveDB.objects.filter_tag('new_tag')
        self.assertTrue(self.curve in qs)
        self.assertTrue(self.curve2 in qs)
        
        qs = CurveDB.objects.filter_tag('other_tag')
        self.assertTrue(self.curve in qs)
        self.assertFalse(self.curve2 in qs)
        
        qs = CurveDB.objects.filter_tag('new_tag').filter_tag("other_tag")
        self.assertTrue(self.curve in qs)
        self.assertFalse(self.curve2 in qs)


    def test_curve_filter_distinct_elements(self):
        """
        Tests that a curve can be retrieved by a date.
        """
        self.curve = CurveDB()
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.tags.append('new_tag')
        self.curve.tags.append('new_tag/sub')
        self.curve.save()
        self.assertTrue(CurveDB.objects.filter_tag("new_tag").count()==1)
     
    def test_curve_filter_hierarchical_tag(self):
        self.curve = CurveDB()
        self.curve.params['comment'] = 'bla bla bla'
        self.curve.params['Q'] = 1e6
        self.curve.params['nice_curve'] = True
        self.curve.tags.append('new_tag/subtag')
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()
        
        qs = CurveDB.objects.filter_tag("new_tag")
        self.assertTrue(self.curve in qs)
        
        qs = CurveDB.objects.filter_tag("new_t")
        self.assertFalse(self.curve in qs)
        
    def test_remove_tag(self):
        """
        Tests that a curve can be retrieved by a date.
        """
        self.curve = CurveDB()
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()
        self.curve.tags.append('other_tag')
        self.curve.save()
        qs = CurveDB.objects.filter_tag('other_tag')
        self.assertTrue(self.curve in qs)
        self.curve.tags.pop(0)
        self.curve.save()
        curve = CurveDB.objects.get(id=self.curve.id)
        self.assertTrue("other_tag" not in curve.tags)
        
       
    def test_rename_tag(self):
        """
        Tests that a curve can be retrieved by a date.
        """
        self.curve = CurveDB()
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()
        self.curve.tags.append('other_tag')
        self.curve.save()
        
        tag = Tag.objects.get(name='other_tag')
        tag.name = 'brand_new_name'
        tag.save()
        curve = CurveDB.objects.get(id=self.curve.id)
        
        self.assertTrue(curve.tags == ['brand_new_name'])
        
    def test_chained_filter(self):
        self.curve = CurveDB()
        self.curve.params['comment'] = 'bla bla bla'
        self.curve.params['Q'] = 1e6
        self.curve.params['nice_curve'] = True
        self.curve.tags.append('new_tag')
        self.curve.set_data(pandas.Series([1,4,6]))
        self.curve.save()
        self.curve.tags.append('other_tag')
        self.curve.save()
        self.curve2 = CurveDB()
        self.curve2.set_data(pandas.Series([1,4,6]))
        self.curve2.tags.append('new_tag')
        self.curve2.params['Q'] = 5e6
        self.curve2.save()
        
        qs = CurveDB.objects.filter_tag('new_tag').filter_param('Q', value__lte = 1e7)
        self.assertTrue(self.curve in qs)

        qs = CurveDB.objects.filter_tag('new_tag').filter_param('Q', value__gte = 1e7)
        self.assertFalse(self.curve in qs)
        
        qs = CurveDB.objects.filter_tag('new_tag').filter_tag('other_tag').filter_param('Q', value__lte = 1e7)
        self.assertTrue(self.curve in qs)
        self.assertFalse(self.curve2 in qs)
Пример #21
0
 def test_alter_params_only(self):
     from curve import Curve
     curve = CurveDB()
     curve.set_data(pandas.Series([1,4,6]))
     curve.params["dummy"] = 24.5
     for j in range(100):
         curve.params['coucou' + str(j)] = j
     curve.save()
     tic = time.time()
     curve.params["dummy"] = 25.5
     models.PROFILING = True
     curve.save_params()
     print_and_log("================================")
     print_and_log("time for altering just one value: ", time.time() - tic)
     models.PROFILING = False
Пример #22
0
 def test_save_altered_curve(self):
     from curve import Curve
     curve = CurveDB()
     curve.set_data(pandas.Series([1,4,6]))
     curve.save()
     
     
     print_and_log("================================")
     curve = CurveDB()
     curve.set_data(pandas.Series([1,4,6]))
     for i in range(5):
         for j in range(100):
             curve.params['coucou' + str(j)] = i*j
         tic = time.time()
         curve.save_params()
         print_and_log("time for saving 100 parameters in db only, same curve each time: " + str(time.time() - tic))
Пример #23
0
 def test_save_params_only(self):
     from curve import Curve
     models.PROFILE_SAVE = True
     curve = CurveDB()
     curve.set_data(pandas.Series([1,4,6]))
     curve.save()
     
     
     print_and_log("================================")
     
     for i in range(5):
         curve = CurveDB()
         curve.set_data(pandas.Series([1,4,6]))
         for j in range(100):
             curve.params['coucou' + str(j)] = i*j
         tic = time.time()
         curve.save_params()
         print_and_log("time for saving 100 parameters in db only, new curve each time: " + str(time.time() - tic))
     print_and_log("================================")
     for i in range(5):
         curve = CurveDB()
         curve.set_data(pandas.Series([1,4,6]))
         for j in range(100):
             curve.params['coucou' + str(j)] = i*j
         tic = time.time()
         curve.save()
         print_and_log("time for saving 1 curve with 100 parameters, new curve each time: " + str(time.time() - tic))
     models.PROFILE_SAVE = False
Пример #24
0
 def test_remove_param(self):
     curve = CurveDB()
     curve.set_data(pandas.Series([1,4,6]))
     curve.save()
     
     for i in range(20):
         curve.params['coucou' + str(i)] = i
     curve.save()
     curve = CurveDB.objects.get(id=curve.id)
     curve.params.pop("coucou12")
     curve.save()
     curve = CurveDB.objects.get(id=curve.id)
     self.assertTrue("coucou12" not in curve.params)