{
    
    auto dd_generator = [prev_delta = static_cast<Int64>(0), prev = static_cast<Int64>(0)](auto dd) mutable 
    {
        const auto curr = dd + prev + prev_delta;
        prev = curr;
        prev_delta = dd + prev_delta;
        return curr;
    };
    auto ret = generateSeq<ValueType>(G(SameValueGenerator(42)), 0, 3);
    
    
    const Int64 dd_corner_points[] = {-63, 64, -255, 256, -2047, 2048, std::numeric_limits<Int32>::min(), std::numeric_limits<Int32>::max()};
    for (const auto & p : dd_corner_points)
    {
        if (std::abs(p) > std::numeric_limits<ValueType>::max())
        {
            break;
        }
        
        
        ret.append(generateSeq<ValueType>(G(dd_generator), p - 4, p + 2));
    }
    return ret;
}
#define BIN_STR(x) std::string{x, sizeof(x) - 1}
INSTANTIATE_TEST_SUITE_P(DoubleDelta,
    CodecTestCompatibility,
    ::testing::Combine(