def check_YNGKP_M0_attributes(self):
self.assertEqual(self.nsites, self.YNGKP_M0.nsites)<EOL>self.assertFalse(scipy.isnan(self.YNGKP_M0.Pxy).any())<EOL>self.assertFalse(scipy.isinf(self.YNGKP_M0.Pxy).any())<EOL>diag = scipy.eye(N_CODON, dtype='<STR_LIT:bool>')<EOL>self.assertTrue(scipy.allclose(<NUM_LIT:0>, scipy.sum(self.YNGKP_M0.Pxy[<NUM_LIT:0>],<EOL>axis=<NUM_LIT:1>)))<EOL>self.assertTrue(scipy.allclose(<NUM_LIT:0>, self.YNGKP_M0.Pxy[<NUM_LIT:0>].sum()))<EOL>self.assertTrue((self.YNGKP_M0.Pxy[<NUM_LIT:0>][diag] <= <NUM_LIT:0>).all())<EOL>self.assertTrue((self.YNGKP_M0.Pxy[<NUM_LIT:0>][~diag] >= <NUM_LIT:0>).all())<EOL>assert self.YNGKP_M0.Pxy.shape == (<NUM_LIT:1>, N_CODON, N_CODON)<EOL>for param in self.YNGKP_M0.dPxy:<EOL><INDENT>assert self.YNGKP_M0.dPxy[param].shape == (<NUM_LIT:1>, N_CODON, N_CODON)<EOL>assert self.YNGKP_M0.B[param].shape == (<NUM_LIT:1>, N_CODON, N_CODON)<EOL><DEDENT>assert self.YNGKP_M0.Ainv.shape == (<NUM_LIT:1>, N_CODON, N_CODON)<EOL>assert self.YNGKP_M0.A.shape == (<NUM_LIT:1>, N_CODON, N_CODON)<EOL>assert self.YNGKP_M0.M(<NUM_LIT>).shape == (self.nsites, N_CODON, N_CODON)<EOL>for (pname, value) in self.params.items():<EOL><INDENT>assert self.YNGKP_M0.dM(<NUM_LIT>, pname, self.YNGKP_M0.M(<NUM_LIT>)).shape == (self.nsites, N_CODON, N_CODON)<EOL><DEDENT>
Make sure `YNGKP_M0` has the expected attribute values.