blob: 2c4f2fbb7373c690338806ff0dc7890aba2d3b49 (
plain) (
blame)
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
|
from libcpp.utility cimport pair
from util.generic.ptr cimport MakeAtomicShared, TAtomicSharedPtr, THolder
from util.generic.string cimport TString
from util.system.types cimport ui64
import pytest
import unittest
class TestHolder(unittest.TestCase):
def test_basic(self):
cdef THolder[TString] holder
holder.Reset(new TString("aaa"))
assert holder.Get()[0] == "aaa"
holder.Destroy()
assert holder.Get() == NULL
holder.Reset(new TString("bbb"))
assert holder.Get()[0] == "bbb"
holder.Reset(new TString("ccc"))
assert holder.Get()[0] == "ccc"
def test_make_atomic_shared(self):
cdef TAtomicSharedPtr[pair[ui64, TString]] atomic_shared_ptr = MakeAtomicShared[pair[ui64, TString]](15, "Some string")
assert atomic_shared_ptr.Get().first == 15
assert atomic_shared_ptr.Get().second == "Some string"
|