Skip to content
Snippets Groups Projects
testAnalysis.py 1.89 KiB
import unittest
import numpy as np
from analysis import Analysis
import matplotlib.pyplot as plt

class testAnalysis(unittest.TestCase):
    """
    A simple test to check the angle means ans error computation.
    """

    def testxFit(self):
        #ang = np.array([6,5,6,5,8,4,8,4,7,1,7,1,10,3,10,3,None,None,None,None])
        #ang = np.reshape(ang, (5,2,2))
        A = Analysis()
        #self.assertEqual(A.results['Mean'][0], 5.5)
        #self.assertEqual(A.results['Error'][0], 0.5)

        x = np.arange(0, 6)
        z = A.xEOM([1,20,10,100], x)
        #plt.plot(z,x)
        #plt.show()
        
        Data = []
        for i in range(0,len(z)):
            err =0.01* np.random.random(size=(4))
            #print(err)
            Data.append([[x[i]+err[0],x[i]-err[1]], [0,0], [z[i]+err[2], z[i]-err[3]]])
            #np.concatenate((Data,
            #        [[0,0], [y[i]+0.1,y[i]-0.1], [z[i]+0.1, z[i]-0.1]]), axis=0)
        Data = np.array(Data)

        A.fill(Data)
        A.xFit()
        #print(y)
        #print(z)
        #print(Data)

    def testyFit(self):
        #ang = np.array([6,5,6,5,8,4,8,4,7,1,7,1,10,3,10,3,None,None,None,None])
        #ang = np.reshape(ang, (5,2,2))
        A = Analysis()
        #self.assertEqual(A.results['Mean'][0], 5.5)
        #self.assertEqual(A.results['Error'][0], 0.5)
        

        z = np.arange(0, 6)
        y = A.yEOM([1000,100,100], z)
        #plt.plot(z,y)
        #plt.show()
        
        Data = []
        for i in range(0,len(z)):
            err =0.001* np.random.random(size=(4))
            #print(err)
            Data.append([[0,0], [y[i]+err[0],y[i]-err[1]], [z[i]+err[2], z[i]-err[3]]])
            #np.concatenate((Data,
            #        [[0,0], [y[i]+0.1,y[i]-0.1], [z[i]+0.1, z[i]-0.1]]), axis=0)
        Data = np.array(Data)

        A.fill(Data)
        A.yFit()
        #print(y)
        #print(z)
        #print(Data)