Esempio n. 1
0
 def test(self):
     import copy
     original = DotMap()
     original.a = 1
     original.b = 3
     shallowCopy = original
     deepCopy = copy.deepcopy(original)
     self.assertEqual(original, shallowCopy)
     self.assertEqual(id(original), id(shallowCopy))
     self.assertEqual(original, deepCopy)
     self.assertNotEqual(id(original), id(deepCopy))
     original.a = 2
     self.assertEqual(original, shallowCopy)
     self.assertNotEqual(original, deepCopy)
Esempio n. 2
0
 def test(self):
     m = DotMap()
     self.assertTrue(m.empty())
     m.a = 1
     self.assertFalse(m.empty())
     self.assertTrue(m.b.empty())
     self.assertIsInstance(m.b, DotMap)
Esempio n. 3
0
def create_params():
    p = DotMap()
    p.seed = 1
    p.n = 2
    p.k = 3
    p.dt = .1

    p.a = 1.0
    p.b = 0.0
    p.quad_coeffs = np.array([p.a, p.a, p.a, p.b, p.b], dtype=np.float32)
    p.linear_coeffs = np.array([0.0, 0.0, 0.0, 0.0, 0.0], dtype=np.float32)
    return p
Esempio n. 4
0
 def test_order_preserved(self):
     import copy
     original = DotMap()
     original.a = 1
     original.b = 2
     original.c = 3
     deepCopy = copy.deepcopy(original)
     orderedPairs = []
     for k, v in original.iteritems():
         orderedPairs.append((k, v))
     for i, (k, v) in enumerate(deepCopy.iteritems()):
         self.assertEqual(k, orderedPairs[i][0])
         self.assertEqual(v, orderedPairs[i][1])
Esempio n. 5
0
 def test_eq(self):
     d = DotMap(self._get_dict())
     m = DotMap()
     m.people.john.age = 32
     m.people.john.job = 'programmer'
     m.people.mary.age = 24
     m.people.mary.job = 'designer'
     m.people.dave.age = 55
     m.people.dave.job = 'manager'
     self.assertNotEqual(d, m)
     m.clear()
     m.a = 1
     m.b = 2
     m.subD.c = 3
     m.subD.d = 4
     self.assertEqual(d, m)
Esempio n. 6
0
 def test(self):
     m = DotMap()
     m.a = 5
     m_id = id(m)
     m.recursive = m
     self.assertEqual(id(m.recursive.recursive.recursive), m_id)
     self.assertEqual(str(m), '''DotMap(a=5, recursive=DotMap(...))''')
     d = m.toDict()
     d_id = id(d)
     d['a'] = 5
     d['recursive'] = d
     d['recursive']['recursive']['recursive']
     self.assertEqual(id(d['recursive']['recursive']['recursive']), d_id)
     self.assertEqual(str(d), '''{'a': 5, 'recursive': {...}}''')
     m2 = DotMap(d)
     m2_id = id(m2)
     self.assertEqual(id(m2.recursive.recursive.recursive), m2_id)
     self.assertEqual(str(m2), '''DotMap(a=5, recursive=DotMap(...))''')
Esempio n. 7
0
 def test(self):
     m = DotMap()
     m.a = 5
     m_id = id(m)
     m.recursive = m
     self.assertEqual(id(m.recursive.recursive.recursive), m_id)
     outStr = str(m)
     self.assertIn('''a=5''', outStr)
     self.assertIn('''recursive=DotMap(...)''', outStr)
     d = m.toDict()
     d_id = id(d)
     d['a'] = 5
     d['recursive'] = d
     d['recursive']['recursive']['recursive']
     self.assertEqual(id(d['recursive']['recursive']['recursive']), d_id)
     outStr = str(d)
     self.assertIn(''''a': 5''', outStr)
     self.assertIn('''recursive': {...}''', outStr)
     m2 = DotMap(d)
     m2_id = id(m2)
     self.assertEqual(id(m2.recursive.recursive.recursive), m2_id)
     self.assertEqual(str(m2), '''DotMap(a=5, recursive=DotMap(...))''')
Esempio n. 8
0
import pickle

s = pickle.dumps(parent)
d = pickle.loads(s)
print(d)

# init from DotMap
print('\n== init from DotMap ==')
e = DotMap(d)
print(e)

# empty
print('\n== empty() ==')
d = DotMap()
print(d.empty())
d.a = 1
print(d.empty())
print()
x = DotMap({'a': 'b'})
print(x.b.empty())  # True (and creates empty DotMap)
print(x.b)  # DotMap()
print(x.b.empty())  # also True

d = {'sub': {'a': 1}}
dm = DotMap(d)
print(dm)
dm.still.works
dm.sub.still.works
print(dm)

dm2 = DotMap(d)
Esempio n. 9
0
 def test_setdefault(self):
     d = DotMap()
     d.a = 'c'
     self.assertEqual('c', d.setdefault('a', 'd'))
     self.assertEqual('d', d.setdefault('b', 'd'))
#! /usr/bin/python2.7

import sys

import numpy as np

from dotmap import DotMap

def change_the_values(dm):
    dm.a = 6
    dm.b[3] = 10

dm = DotMap()
dm.a = 5
dm.b = np.random.randint(0, 2, (6, ))

print("before the change")
print("dm.a: {}".format(dm.a))
print("dm.b: {}".format(dm.b))

change_the_values(dm)

print("after the change")
print("dm.a: {}".format(dm.a))
print("dm.b: {}".format(dm.b))