#include "cast/streaming/public/offer_messages.h"
#include <limits>
#include <optional>
#include <string_view>
#include <utility>
#include "cast/streaming/impl/rtp_defines.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "util/json/json_serialization.h"
ElementsAre;
namespace openscreen::cast {
namespace {
constexpr char kValidOffer[] = …;
void ExpectFailureOnParse(std::string_view body,
std::optional<Error::Code> expected = std::nullopt) { … }
void ExpectEqualsValidOffer(const Offer& offer) { … }
}
TEST(OfferTest, ErrorOnEmptyOffer) { … }
TEST(OfferTest, ErrorOnMissingMandatoryFields) { … }
TEST(OfferTest, CanParseValidButStreamlessOffer) { … }
TEST(OfferTest, ErrorOnMissingAudioStreamMandatoryField) { … }
TEST(OfferTest, CanParseValidButMinimalAudioOffer) { … }
TEST(OfferTest, CanParseValidZeroBitRateAudioOffer) { … }
TEST(OfferTest, ErrorOnInvalidRtpTimebase) { … }
TEST(OfferTest, ErrorOnMissingVideoStreamMandatoryField) { … }
TEST(OfferTest, ValidatesCodecParameterFormat) { … }
TEST(OfferTest, CanParseValidButMinimalVideoOffer) { … }
TEST(OfferTest, CanParseValidOffer) { … }
TEST(OfferTest, ParseAndToJsonResultsInSameOffer) { … }
TEST(OfferTest, IsValidWithMissingStreams) { … }
TEST(OfferTest, InvalidIfInvalidStreams) { … }
TEST(OfferTest, FailsIfUnencrypted) { … }
}