def test_find_cite_petsc(self): p = self.prob p.setup() p.model._vector_class.cite = "foobar PETScVector" citations = find_citations(p) # these two shouldn't have citations self.assertFalse(IndepVarComp in citations) self.assertFalse(NewtonSolver in citations) try: cite = citations[Problem] self.assertEqual(p.cite, cite) except KeyError: self.fail('Citation for Problem class expected') try: cite = citations[Group] self.assertEqual('foobar model', cite) except KeyError: self.fail('Citation for Group class expected') try: cite = citations[NonlinearRunOnce] self.assertEqual('foobar nonlinear_solver', cite) except KeyError: self.fail('Citation for NonlinearRunOnce class expected') try: cite = citations[LinearRunOnce] self.assertEqual('foobar linear_solver', cite) except KeyError: self.fail('Citation for LinearRunOnce class expected') try: cite = citations[ExecComp] self.assertEqual('foobar exec comp', cite) except KeyError: self.fail('Citation for ExecComp class expected') try: cite = citations[PETScVector] self.assertEqual('foobar PETScVector', cite) except KeyError: self.fail('Citation for PETScVector class expected')