Scroom 0.14-48-ga0fee447
Loading...
Searching...
No Matches
sampleiterator-tests.cc File Reference
#include <cstring>
#include <tuple>
#include <gtest/gtest.h>
#include <scroom/bitmap-helpers.hh>
Include dependency graph for sampleiterator-tests.cc:

Classes

class  SampleIterator_iterates
 
class  SampleIterator_arithmetic
 

Namespaces

namespace  Scroom
 
namespace  Scroom::Bitmap
 
namespace  anonymous_namespace{sampleiterator-tests.cc}
 

Typedefs

using ArithmeticParam = std::tuple< int, int, int >
 

Functions

template<typename T >
std::ostream & Scroom::Bitmap::operator<< (std::ostream &os, const SampleIterator< T > &it)
 
 INSTANTIATE_TEST_SUITE_P (SampleIterator_Tests, SampleIterator_iterates, ::testing::ValuesIn(bit_depths))
 
 for (auto i=0;i< it.samplesPerBase;i++, it++, out++)
 
 EXPECT_EQ (0, memcmp(testData, output, 2))
 
 EXPECT_NE (SampleIterator< const uint8_t >(nullptr, 0, 1), SampleIterator< const uint8_t >(testData, 0, 1))
 
 EXPECT_NE (SampleIterator< uint8_t >(nullptr, 0, 1), SampleIterator< uint8_t >(nullptr, 1, 1))
 
 EXPECT_NE (SampleIterator< uint8_t >(nullptr, 0, 1), SampleIterator< uint8_t >(nullptr, 0, 2))
 
 INSTANTIATE_TEST_SUITE_P (SampleIterator_Tests, SampleIterator_arithmetic, ::testing::Combine(::testing::ValuesIn(bit_depths), ::testing::ValuesIn(initial_offsets), ::testing::ValuesIn(deltas)))
 
 EXPECT_EQ (result, expected)
 
 EXPECT_EQ (start+delta, expected)
 
 EXPECT_EQ (delta+start, expected)
 

Variables

const uint8_t anonymous_namespace{sampleiterator-tests.cc}::testData [] = {0x65, 0xC7}
 
const int anonymous_namespace{sampleiterator-tests.cc}::bit_depths [] = {1, 2, 4, 8}
 
const int anonymous_namespace{sampleiterator-tests.cc}::initial_offsets [] = {0, 1}
 
const int anonymous_namespace{sampleiterator-tests.cc}::deltas [] = {0, 1, 5}
 
SampleIterator< const uint8_t > it (testData, 0, bps)
 
uint8_t output [] = {0, 0}
 
SampleIterator< uint8_t > out (output, 0, bps)
 
const unsigned int mask = (1 << bps) - 1
 
const SampleIterator< const uint8_t > start (nullptr, initial_offset, bps)
 
SampleIterator< const uint8_t > expected = start
 
SampleIterator< const uint8_t > result = start
 

Typedef Documentation

◆ ArithmeticParam

using ArithmeticParam = std::tuple<int, int, int>

Function Documentation

◆ EXPECT_EQ() [1/4]

EXPECT_EQ ( ,
memcmp(testData, output, 2)   
)

Referenced by for().

Here is the caller graph for this function:

◆ EXPECT_EQ() [2/4]

EXPECT_EQ ( delta+  start,
expected   
)

◆ EXPECT_EQ() [3/4]

EXPECT_EQ ( result  ,
expected   
)

◆ EXPECT_EQ() [4/4]

EXPECT_EQ ( start delta,
expected   
)

◆ EXPECT_NE() [1/3]

EXPECT_NE ( SampleIterator< const uint8_t >  nullptr, 0, 1,
SampleIterator< const uint8_t >  testData, 0, 1 
)

◆ EXPECT_NE() [2/3]

EXPECT_NE ( SampleIterator< uint8_t >  nullptr, 0, 1,
SampleIterator< uint8_t >  nullptr, 0, 2 
)

◆ EXPECT_NE() [3/3]

EXPECT_NE ( SampleIterator< uint8_t >  nullptr, 0, 1,
SampleIterator< uint8_t >  nullptr, 1, 1 
)

◆ for()

for ( )
49 {
50 EXPECT_EQ((testData[0] >> (8 - bps * (i + 1))) & mask, *it);
51 EXPECT_EQ((testData[0] >> (8 - bps * (i + 1))) & mask, it.get());
52 out.set(*it);
53 }
const uint8_t testData[]
Definition sampleiterator-tests.cc:28
SampleIterator< const uint8_t > it(testData, 0, bps)
EXPECT_EQ(0, memcmp(testData, output, 2))
SampleIterator< uint8_t > out(output, 0, bps)
const unsigned int mask
Definition sampleiterator-tests.cc:46
Here is the call graph for this function:

◆ INSTANTIATE_TEST_SUITE_P() [1/2]

INSTANTIATE_TEST_SUITE_P ( SampleIterator_Tests  ,
SampleIterator_arithmetic  ,
::testing::Combine(::testing::ValuesIn(bit_depths), ::testing::ValuesIn(initial_offsets), ::testing::ValuesIn(deltas))   
)

◆ INSTANTIATE_TEST_SUITE_P() [2/2]

INSTANTIATE_TEST_SUITE_P ( SampleIterator_Tests  ,
SampleIterator_iterates  ,
::testing::ValuesIn(bit_depths)   
)

Variable Documentation

◆ expected

SampleIterator<const uint8_t> expected = start

◆ it

SampleIterator< const uint8_t > it(testData, 0, bps) ( testData  ,
,
bps   
)
Initial value:
{
const int bps = GetParam()

Referenced by for(), TransformPresentation::open(), Scroom::Bitmap::operator<<(), and Scroom::Utils::SingleContext::set().

◆ mask

const unsigned int mask = (1 << bps) - 1

Referenced by for().

◆ out

SampleIterator< uint8_t > out(output, 0, bps) ( output  ,
,
bps   
)

Referenced by for().

◆ output

uint8_t output[] = {0, 0}
44{0, 0};

◆ result

Segment< int > const result = start

Referenced by ThreadPool::add(), CommonOperations::cacheZoom(), charpFromString(), Scroom::MemoryBlobs::Detail::compressBlob(), TiledBitmap::create(), Scroom::ColormapImpl::ColormapProvider::create(), TileViewState::create(), Scroom::Utils::Count::create(), TiledBitmap::create(), Colormap::createDefault(), Colormap::createDefaultInverted(), CompressedTile::do_load(), Scroom::MemoryBlobs::Blob::get(), Scroom::Utils::get(), Scroom::Tiff::getColorMap(), CompressedTile::getConstTileAsync(), CompressedTile::getConstTileSync(), Pnm::getFilters(), Tiff::getFilters(), Scroom::MemoryBlobs::PageProvider::getFreePage(), Scroom::Utils::Observable< T >::getObservers(), Scroom::MemoryBlocks::Detail::SwapBasedBlockAllocator::getPages(), CompressedTile::getState(), CompressedTile::getTileSync(), TransparentOverlayPresentation::getViews(), CompressedTile::getViewState(), has_at_least_n_threads(), Scroom::MemoryBlobs::Blob::initialize(), Scroom::LoggerContainer::instance(), Scroom::Bookkeeping::MapBase< K, V >::keys(), Scroom::MemoryBlobs::Blob::load(), Scroom::ColormapImpl::Colormaps::load(), main(), DummyView::nextStatusMessage(), no_op(), CompressedTile::observerAdded(), anonymous_namespace{tiledbitmappresentation.cc}::OpenTiledBitmapAsPresentation::open(), Scroom::Utils::operator*(), Scroom::Utils::operator*(), Scroom::Utils::operator+(), Scroom::Bitmap::SampleIterator< ConstBase >::operator++(), Scroom::Utils::operator-(), Scroom::Utils::operator/(), Colormap::setAlpha(), anonymous_namespace{tiledbitmappresentation.cc}::sumPipetteColors(), anonymous_namespace{tiffsource.cc}::TIFFGetFieldChecked(), anonymous_namespace{tiffsource.cc}::TIFFGetFieldCheckedOr(), Scroom::Utils::ParentContext::try_get(), and Scroom::Bookkeeping::MapBase< K, V >::values().

◆ start

const SampleIterator< const uint8_t > start(nullptr, initial_offset, bps) ( nullptr  ,
initial_offset  ,
bps   
)