@@ -88,6 +88,21 @@ def test_rep_switching(self):
8888 def test_construction (self ):
8989 (ga , e_1 , e_2 , e_3 ) = Ga .build ('e*1|2|3' )
9090
91+ # non-function symbol construction
92+ self .assertEqual (ga .mv ('A' , 'scalar' ).grades , [0 ])
93+ self .assertEqual (ga .mv ('A' , 0 ).grades , [0 ])
94+ self .assertEqual (ga .mv ('A' , 'vector' ).grades , [1 ])
95+ self .assertEqual (ga .mv ('A' , 'grade' , 1 ).grades , [1 ])
96+ self .assertEqual (ga .mv ('A' , 1 ).grades , [1 ])
97+ self .assertEqual (ga .mv ('A' , 'bivector' ).grades , [2 ])
98+ self .assertEqual (ga .mv ('A' , 'grade2' ).grades , [2 ])
99+ self .assertEqual (ga .mv ('A' , 2 ).grades , [2 ])
100+ self .assertEqual (ga .mv ('A' , 'pseudo' ).grades , [3 ])
101+ self .assertEqual (ga .mv ('A' , 'spinor' ).grades , [0 , 2 ])
102+ self .assertEqual (ga .mv ('A' , 'even' ).grades , [0 , 2 ])
103+ self .assertEqual (ga .mv ('A' , 'odd' ).grades , [1 , 3 ])
104+ self .assertEqual (ga .mv ('A' , 'mv' ).grades , [0 , 1 , 2 , 3 ])
105+
91106 # illegal arguments
92107 with self .assertRaises (TypeError ):
93108 ga .mv ('A' , 'vector' , "too many arguments" )
0 commit comments