# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2015 CEA/DEN, EDF R&D
+# Copyright (C) 2007-2016 CEA/DEN, EDF R&D
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
from datetime import datetime
from MEDCouplingDataForTest import MEDCouplingDataForTest
import rlcompleter,readline # this line has to be here, to ensure a usability of MEDCoupling/MEDLoader. B4 removing it please notify to anthony.geay@cea.fr
+from sys import platform
+
+def checkFreeMemory(size):
+ """
+ Get node total memory and memory usage
+ """
+ ret = True
+ dic = {}
+ if platform not in ["win32"]:
+ with open('/proc/meminfo', 'r') as mem:
+ tmp = 0
+ for i in mem:
+ sline = i.split()
+ if str(sline[0]) == 'MemTotal:':
+ dic['total'] = int(sline[1])
+ elif str(sline[0]) in ('MemFree:', 'Buffers:', 'Cached:'):
+ tmp += int(sline[1])
+ dic['free'] = tmp
+ dic['used'] = int(dic['total']) - int(dic['free'])
+ ret = dic['free'] > size
+ #TODO: extend this method for Windows OS
+ return ret
+
class MEDCouplingBasicsTest4(unittest.TestCase):
def testSwigDADOp4(self):
self.assertEqual(0,da.index(7))
self.assertEqual(10,da.index(47))
self.assertTrue(14 not in da)
- self.assertEqual(5,da.search([9,9]))
- self.assertEqual(-1,da.search([5,8]))
+ self.assertEqual(5,da.findIdSequence([9,9]))
+ self.assertEqual(-1,da.findIdSequence([5,8]))
da.rearrange(2)
self.assertTrue([47,16] not in da)
self.assertTrue([5,6] not in da)
self.assertTrue(e.isEqual(DataArrayInt([0,1,2,5,6,7,10,11,12,15,16,17,20,21,22,25,26,27,30,31,32,35,36,37,40,41,42,45,46,47,50,51,52,55,56,57,61,62])))
self.assertEqual(("d",6),dd3.getMaxValue())
self.assertEqual(("A",0),dd3.getMinValue())
- self.assertEqual(26,dd3.search("LGYYM"))
- self.assertEqual(-1,dd3.search("LGYYN"))
+ self.assertEqual(26,dd3.findIdSequence("LGYYM"))
+ self.assertEqual(-1,dd3.findIdSequence("LGYYN"))
dd3.rearrange(5)
self.assertEqual(7,dd3.findIdFirstEqualTuple("OPGYY"))
self.assertTrue("OPGYY" in dd3)
self.assertTrue(a.isEqual(DataArrayInt([0,2,4])))
self.assertTrue(b.isEqual(DataArrayInt([0,1,2,7,8,15,16,17])))
pass
-
+
+ @unittest.skipUnless(checkFreeMemory((223456789*16)/(1024)), "Not enough memory")
def testSwig2BigMem(self):
if MEDCouplingSizeOfVoidStar()==64:
d=DataArrayAsciiChar(223456789,16)