Hide keyboard shortcuts

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

import filecmp 

import os 

import unittest 

 

import astshim as ast 

from astshim.test import MappingTestCase 

 

 

class TestChannel(MappingTestCase): 

 

def setUp(self): 

self.dataDir = os.path.join(os.path.dirname(__file__), "data") 

 

def test_ChannelFileStream(self): 

path1 = os.path.join(self.dataDir, "channelFileStream1.txt") 

path2 = os.path.join(self.dataDir, "channelFileStream2.txt") 

 

outstream = ast.FileStream(path1, True) 

outchan = ast.Channel(outstream) 

self.assertIsInstance(outchan, ast.Object) 

self.assertIsInstance(outchan, ast.Channel) 

 

zoommap = ast.ZoomMap(2, 0.1, "ID=Hello there") 

nobj = outchan.write(zoommap) 

self.assertEqual(nobj, 1) 

 

with self.assertRaises(RuntimeError): 

obj = outchan.read() 

 

instream = ast.FileStream(path1, False) 

inchan = ast.Channel(instream) 

obj = inchan.read() 

self.assertEqual(obj.show(), zoommap.show()) 

 

outstream2 = ast.FileStream(path2, True) 

outchan2 = ast.Channel(outstream2) 

outchan2.write(obj) 

self.assertTrue(filecmp.cmp(path1, path2, shallow=False)) 

os.remove(path1) 

os.remove(path2) 

 

def test_ChannelStringStream(self): 

ss = ast.StringStream() 

channel = ast.Channel(ss) 

zoommap = ast.ZoomMap(2, 0.1, "ID=Hello there") 

n = channel.write(zoommap) 

self.assertEqual(n, 1) 

sinkData1 = ss.getSinkData() 

 

ss.sinkToSource() 

obj = channel.read() 

self.assertEqual(obj.show(), zoommap.show()) 

n = channel.write(obj) 

self.assertEqual(n, 1) 

sinkData2 = ss.getSinkData() 

self.assertEqual(sinkData1, sinkData2) 

 

 

59 ↛ 60line 59 didn't jump to line 60, because the condition on line 59 was never trueif __name__ == "__main__": 

unittest.main()