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

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

"""A stub for profiling tools to run one basic simulation.""" 

 

import os 

import nem 

import regions 

import unittest 

 

 

class TestCoverage(unittest.TestCase): 

 

    """A handful of miscellaneous tests to ensure good coverage.""" 

 

    def test_001(self): 

        c = nem.Context() 

        c.regions = [regions.nsw, regions.vic, regions.sa] 

        c.track_exchanges = True 

        c.verbose = 1 

        nem.run(c) 

 

    def test_002(self): 

        c = nem.Context() 

        # Make sure there is unserved energy by setting 2nd and 

        # subsequent generator capacity to 0. 

        for g in c.generators[1:]: 

            g.set_capacity(0) 

        nem.run(c) 

        nem.plot(c, filename='foo.png') 

        os.unlink('foo.png') 

        nem.plot(c, filename='foo.png', spills=True) 

        os.unlink('foo.png') 

 

    def test_003(self): 

        c = nem.Context() 

        # Add 25 DR generators so that the abbreviated legend is used. 

        for i in range(25): 

            dr = nem.generators.DemandResponse(regions.nsw, 100, 0) 

            c.generators += [dr] 

        print len(c.generators) 

        nem.run(c) 

        nem.plot(c, filename='foo.png') 

        os.unlink('foo.png') 

 

    def test_004(self): 

        """Test Context.__str__ method.""" 

        orig_demand = nem.demand.copy() 

        # Shorten the demand to 100 half-hours 

        nem.demand = nem.demand[::, 0:100] 

        c = nem.Context() 

        print str(c) 

        c.regions = [regions.nsw] 

        print str(c) 

        nem.demand = orig_demand.copy() 

 

    def test_005(self): 

        """Test Context summary with no cost generator.""" 

        import costs 

        import types 

        c = nem.Context() 

        c.costs = costs.NullCosts() 

        print str(c) 

        c.verbose = True 

        print str(c) 

        c.regions = [regions.nsw] 

        print str(c) 

 

        def foo(self, costs): 

            """A stub function that returns None.""" 

            return None 

 

        f = types.MethodType(foo, c.generators[0], nem.Context) 

        print f 

        c.generators[0].summary = f 

        print c.generators[0].summary(None) 

        print str(c)