import unittest
from igraph import *
import tempfile
import os

class ForeignTests(unittest.TestCase):
    def testDIMACS(self):
	tmpf, tmpfname = tempfile.mkstemp()
	os.close(tmpf)
	tmpf = open(tmpfname, "w")
	print >>tmpf, """c
c        This is a simple example file to demonstrate the
c     DIMACS input file format for minimum-cost flow problems.
c 
c problem line :
p min 4 5
c
c node descriptor lines :
n 1 s
n 4 t
c
c arc descriptor lines :
a 1 2 4
a 1 3 2
a 2 3 2
a 2 4 3
a 3 4 5
"""
	tmpf.close()
	g, src, dst, cap=Graph.Read_DIMACS(tmpfname, False)
	self.failUnless(isinstance(g, Graph))
	self.failUnless(g.vcount() == 4 and g.ecount() == 5)
	self.failUnless(src == 0 and dst == 3)
	self.failUnless(cap == [4,2,2,3,5])
	
	g.write_dimacs(tmpfname, src, dst, cap)
	os.unlink(tmpfname)
	

def suite():
    foreign_suite = unittest.makeSuite(ForeignTests)
    return unittest.TestSuite([foreign_suite])

def test():
    runner = unittest.TextTestRunner()
    runner.run(suite())
    
if __name__ == "__main__":
    test()



syntax highlighted by Code2HTML, v. 0.9.1