Skip to content

Commit

Permalink
test import errors
Browse files Browse the repository at this point in the history
  • Loading branch information
mdeff committed Mar 14, 2019
1 parent f1fd82b commit 390093a
Showing 1 changed file with 33 additions and 5 deletions.
38 changes: 33 additions & 5 deletions pygsp/tests/test_graphs.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@

from __future__ import division

import sys
import unittest
import random
import os
import random
import sys
import unittest

import numpy as np
import scipy.linalg
Expand Down Expand Up @@ -592,7 +591,7 @@ def test_grid2dimgpatches(self):
suite_graphs = unittest.TestLoader().loadTestsFromTestCase(TestCase)


class TestCaseImportExport(unittest.TestCase):
class TestImportExport(unittest.TestCase):

def test_networkx_export_import(self):
# Export to networkx and reimport to PyGSP
Expand Down Expand Up @@ -765,5 +764,34 @@ def test_save_load(self):
os.remove(filename)


suite_import_export = unittest.TestLoader().loadTestsFromTestCase(TestCaseImportExport)
@unittest.skipIf(sys.version_info < (3, 3), 'need unittest.mock')
def test_import_errors(self):
from unittest.mock import patch
graph = graphs.Sensor()
filename = 'graph.gml'
with patch.dict(sys.modules, {'networkx': None}):
self.assertRaises(ImportError, graph.to_networkx)
self.assertRaises(ImportError, graphs.Graph.from_networkx, None)
self.assertRaises(ImportError, graph.save, filename,
backend='networkx')
self.assertRaises(ImportError, graphs.Graph.load, filename,
backend='networkx')
graph.save(filename)
graphs.Graph.load(filename)
with patch.dict(sys.modules, {'graph_tool': None}):
self.assertRaises(ImportError, graph.to_graphtool)
self.assertRaises(ImportError, graphs.Graph.from_graphtool, None)
self.assertRaises(ImportError, graph.save, filename,
backend='graph_tool')
self.assertRaises(ImportError, graphs.Graph.load, filename,
backend='graph_tool')
graph.save(filename)
graphs.Graph.load(filename)
with patch.dict(sys.modules, {'networkx': None, 'graph_tool': None}):
self.assertRaises(ImportError, graph.save, filename)
self.assertRaises(ImportError, graphs.Graph.load, filename)
os.remove(filename)


suite_import_export = unittest.TestLoader().loadTestsFromTestCase(TestImportExport)
suite = unittest.TestSuite([suite_graphs, suite_import_export])

0 comments on commit 390093a

Please sign in to comment.