Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

# -*- coding: utf-8 -*- 

 

import os 

import shutil 

import tempfile 

from chemreac.chemistry import Reaction, ReactionSystem, mk_sn_dict_from_names 

from chemreac.util.graph import rsys2dot, rsys2graph 

from chemreac.util.testing import slow 

 

 

def _get_rsys(): 

    sbstncs = mk_sn_dict_from_names('AB', tex_name=(r'$\mathcal{A}$', 

                                                    r'$\mathcal{B}$')) 

    r1 = Reaction({'A': 2}, {'B': 1}, k=3.0) 

    rsys = ReactionSystem([r1]) 

    return rsys, sbstncs 

 

 

def test_rsys2dot(): 

    rsys, sbstncs = _get_rsys() 

    assert list(map(str.strip, rsys2dot(rsys, sbstncs))) == [ 

        'digraph None{', 

        '{', 

        'node [label=r1 shape=diamond]', 

        'r1', 

        '}', 

        '"A" -> "r1" [label ="2"];', 

        '"r1" -> "B" [label =""];', 

        '}' 

    ] 

 

 

@slow 

def test_rsys2graph(): 

    rsys, sbstncs = _get_rsys() 

    tempdir = tempfile.mkdtemp() 

    try: 

        rsys2graph(rsys, sbstncs, os.path.join(tempdir, 'out.png')) 

        rsys2graph(rsys, sbstncs, os.path.join(tempdir, 'out.ps')) 

        rsys2graph(rsys, sbstncs, os.path.join(tempdir, 'out.tex')) 

    finally: 

        shutil.rmtree(tempdir)