mirror of
https://github.com/nasa/fprime.git
synced 2026-04-12 16:12:52 -05:00
62 lines
1.6 KiB
C++
62 lines
1.6 KiB
C++
// ======================================================================
|
|
// \title Utils.cpp
|
|
// \author T. Chieu
|
|
// \brief cpp file for Utils class
|
|
//
|
|
// \copyright
|
|
// Copyright (C) 2009-2022 California Institute of Technology.
|
|
// ALL RIGHTS RESERVED. United States Government Sponsorship
|
|
// acknowledged.
|
|
//
|
|
// ======================================================================
|
|
|
|
#include <string>
|
|
#include <limits>
|
|
#include <iostream>
|
|
|
|
#include "Fw/Types/Assert.hpp"
|
|
#include "STest/Pick/Pick.hpp"
|
|
|
|
namespace FppTest {
|
|
|
|
namespace Utils {
|
|
|
|
U8 getNonzeroU8() {
|
|
return static_cast<U8>(STest::Pick::lowerUpper(
|
|
1,
|
|
std::numeric_limits<U8>::max()
|
|
));
|
|
}
|
|
|
|
U32 getNonzeroU32() {
|
|
return STest::Pick::lowerUpper(
|
|
1,
|
|
std::numeric_limits<U32>::max()
|
|
);
|
|
}
|
|
|
|
char getChar() {
|
|
return static_cast<char>(STest::Pick::lowerUpper(32, 127));
|
|
}
|
|
|
|
void setString(char* buf, FwSizeType capacity, FwSizeType minLength) {
|
|
FW_ASSERT(buf != nullptr);
|
|
// capacity must be able to hold a null-terminated string
|
|
FW_ASSERT(capacity > 0);
|
|
// min length must fit within capacity
|
|
FW_ASSERT(minLength < capacity);
|
|
U32 length = STest::Pick::lowerUpper(minLength, capacity - 1);
|
|
|
|
for (U32 i = 0; i < length; i++) {
|
|
FW_ASSERT(i < capacity);
|
|
buf[i] = getChar();
|
|
}
|
|
|
|
FW_ASSERT(length < capacity);
|
|
buf[length] = 0;
|
|
}
|
|
|
|
} // namespace Utils
|
|
|
|
} // namespace FppTest
|