Source code for tofu.tests.tests00_root.test_03_plot

"""
This module contains tests for tofu.geom in its structured version
"""



# External modules
import os
import numpy as np
import matplotlib.pyplot as plt
import warnings as warn


# Importing package tofu.geom
import tofu as tf
from tofu import __version__


_here = os.path.abspath(os.path.dirname(__file__))
VerbHead = 'tofu.test_03_plot'
keyVers = 'Vers'
_Exp = 'WEST'


#######################################################
#
#     Setup and Teardown
#
#######################################################

[docs]def setup_module(module): print("") # this is to get a newline after the dots lf = os.listdir(_here) lf = [f for f in lf if all([s in f for s in ['TFG_',_Exp,'.npz']])] lF = [] for f in lf: ff = f.split('_') v = [fff[len(keyVers):] for fff in ff if fff[:len(keyVers)]==keyVers] msg = f + "\n "+str(ff) + "\n " + str(v) assert len(v)==1, msg v = v[0] if '.npz' in v: v = v[:v.index('.npz')] # print(v, __version__) if v!=__version__: lF.append(f) if len(lF)>0: print("Removing the following previous test files:") for f in lF: os.remove(os.path.join(_here,f))
#print("setup_module before anything in this file")
[docs]def teardown_module(module): #os.remove(VesTor.Id.SavePath + VesTor.Id.SaveName + '.npz') #os.remove(VesLin.Id.SavePath + VesLin.Id.SaveName + '.npz') #print("teardown_module after everything in this file") #print("") # this is to get a newline lf = os.listdir(_here) lf = [f for f in lf if all([s in f for s in ['TFG_',_Exp,'.npz']])] lF = [] for f in lf: ff = f.split('_') v = [fff[len(keyVers):] for fff in ff if fff[:len(keyVers)]==keyVers] msg = f + "\n "+str(ff) + "\n " + str(v) assert len(v)==1, msg v = v[0] if '.npz' in v: v = v[:v.index('.npz')] # print(v, __version__) if v==__version__: lF.append(f) if len(lF)>0: print("Removing the following test files:") for f in lF: os.remove(os.path.join(_here,f))
####################################################### # # Struct subclasses # #######################################################
[docs]class Test01_plot_shotovervew(object):
[docs] @classmethod def setup_class(cls): #print("") #print("---- "+cls.__name__) # conf cls.conf = tf.geom.utils.create_config('B3') # time vectors t0 = np.linspace(0,10,100) teq0 = t0 + 0.1 t1 = np.linspace(t0[0],t0[-1]+1, t0.size//2) t2 = np.linspace(t0[0]-1.,t0[-1]-1., 2*t0.size) teq2 = t2 - 0.1 Ax0 = np.array([2.4+0.1*np.cos(teq0), 0.1*np.sin(teq0)]).T Ax2 = np.array([2.4+0.1*np.sin(teq2), 0.05*np.cos(teq2)]).T Sep0 = (Ax0[:,:,np.newaxis] + 0.4*np.array([[-1,1,1,-1],[-1,-1,1,1]])[None,:,:]) Sep2 = (Ax2[:,:,np.newaxis] + 0.4*np.array([[-1,1,1,-1],[-1,-1,1,1]])[None,:,:]) # dextra dextra0 = {'pouet':{'t':t0, 'c':'k', 'data':np.sin(t0), 'units':'a.u.', 'label':'pouet0'}, 'Ax':{'t':teq0, 'data2D':Ax0}, 'Sep':{'t':teq0,'data2D':Sep0}} dextra1 = {'pouet':{'t':t1, 'c':'k', 'data':np.cos(t1), 'units':'a.u.', 'label':'pouet1'}} dextra2 = {'Ax':{'t':teq2, 'data2D':Ax2}, 'Sep':{'t':teq2,'data2D':Sep2}} cls.dobj = {0:dextra0, 1:dextra1, 2:dextra2}
[docs] @classmethod def teardown_class(cls): #print("teardown_class() after any methods in this class") pass
[docs] def setup(self): #print("TestUM:setup() before each test method") pass
[docs] def teardown(self): #print("TestUM:teardown() after each test method") pass
[docs] def test01_plot_shotoverview(self): # One by one, without conf for shot, dextra in self.dobj.items(): kh = tf._plot.plot_shotoverview({shot:dextra}) # All together, without conf kh = tf._plot.plot_shotoverview(self.dobj) plt.close('all') # One by one, with conf for shot, dextra in self.dobj.items(): kh = tf._plot.plot_shotoverview({shot:dextra}, config=self.conf) # All together, with conf kh = tf._plot.plot_shotoverview(self.dobj, config=self.conf) plt.close('all')