Monero
Loading...
Searching...
No Matches
output_selection.cpp File Reference
#include "gtest/gtest.h"
#include "wallet/wallet2.h"
#include <string>
Include dependency graph for output_selection.cpp:

Macros

#define SELECT(idx)
#define PICK(expected)
#define MKOFFSETS(N, n)

Functions

static tools::wallet2::transfer_container make_transfers_container (size_t N)
 TEST (select_outputs, one_out_of_N)
 TEST (select_outputs, order)
 TEST (select_outputs, gamma)
 TEST (select_outputs, density)
 TEST (select_outputs, same_distribution)

Macro Definition Documentation

◆ MKOFFSETS

#define MKOFFSETS ( N,
n )
Value:
offsets.resize(N); \
size_t n_outs = 0; \
for (auto &offset: offsets) \
{ \
offset = n_outs += (n); \
}

◆ PICK

#define PICK ( expected)
Value:
do { \
size_t idx = w.pop_best_value_from(transfers, unused_indices, selected); \
ASSERT_EQ(expected, idx); \
selected.push_back(idx); \
} while(0)

◆ SELECT

#define SELECT ( idx)
Value:
do { \
auto i = std::find(unused_indices.begin(), unused_indices.end(), idx); \
ASSERT_TRUE(i != unused_indices.end()); \
unused_indices.erase(i); \
selected.push_back(idx); \
} while(0)

Function Documentation

◆ make_transfers_container()

tools::wallet2::transfer_container make_transfers_container ( size_t N)
static

◆ TEST() [1/5]

TEST ( select_outputs ,
density  )

◆ TEST() [2/5]

TEST ( select_outputs ,
gamma  )

◆ TEST() [3/5]

TEST ( select_outputs ,
one_out_of_N  )

◆ TEST() [4/5]

TEST ( select_outputs ,
order  )

◆ TEST() [5/5]

TEST ( select_outputs ,
same_distribution  )