blob: c32c2d2a6b72be38b977512471b6f3b1d28ce7ea [file] [log] [blame]
/**
* Copyright (C) 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <MediaQualityStatus.h>
#include <gtest/gtest.h>
using namespace android::telephony::imsmedia;
const int32_t kRtpInactivityTimeMillis = 10000;
const int32_t kRtcpInactivityTimeMillis = 10000;
const int32_t kRtpPacketLossRate = 1;
const int32_t kRtpJitterMillis = 100;
class MediaQualityStatusTest : public ::testing::Test
{
public:
MediaQualityStatus status;
protected:
virtual void SetUp() override
{
status.setRtpInactivityTimeMillis(kRtpInactivityTimeMillis);
status.setRtcpInactivityTimeMillis(kRtcpInactivityTimeMillis);
status.setRtpPacketLossRate(kRtpPacketLossRate);
status.setRtpJitterMillis(kRtpJitterMillis);
}
virtual void TearDown() override {}
};
TEST_F(MediaQualityStatusTest, TestGetterSetter)
{
EXPECT_EQ(status.getRtpInactivityTimeMillis(), kRtpInactivityTimeMillis);
EXPECT_EQ(status.getRtcpInactivityTimeMillis(), kRtcpInactivityTimeMillis);
EXPECT_EQ(status.getRtpPacketLossRate(), kRtpPacketLossRate);
EXPECT_EQ(status.getRtpJitterMillis(), kRtpJitterMillis);
}
TEST_F(MediaQualityStatusTest, TestParcel)
{
android::Parcel parcel;
status.writeToParcel(&parcel);
parcel.setDataPosition(0);
MediaQualityStatus testThreshold;
testThreshold.readFromParcel(&parcel);
EXPECT_EQ(testThreshold, status);
}
TEST_F(MediaQualityStatusTest, TestAssign)
{
MediaQualityStatus status2 = status;
EXPECT_EQ(status, status2);
}
TEST_F(MediaQualityStatusTest, TestEqual)
{
MediaQualityStatus status2;
status2.setRtpInactivityTimeMillis(kRtpInactivityTimeMillis);
status2.setRtcpInactivityTimeMillis(kRtcpInactivityTimeMillis);
status2.setRtpPacketLossRate(kRtpPacketLossRate);
status2.setRtpJitterMillis(kRtpJitterMillis);
EXPECT_EQ(status, status2);
}
TEST_F(MediaQualityStatusTest, TestNotEqual)
{
MediaQualityStatus status2;
status2.setRtpInactivityTimeMillis(15000);
status2.setRtcpInactivityTimeMillis(kRtcpInactivityTimeMillis);
status2.setRtpPacketLossRate(kRtpPacketLossRate);
status2.setRtpJitterMillis(kRtpJitterMillis);
MediaQualityStatus status3;
status3.setRtpInactivityTimeMillis(kRtpInactivityTimeMillis);
status3.setRtcpInactivityTimeMillis(kRtcpInactivityTimeMillis);
status3.setRtpPacketLossRate(3);
status3.setRtpJitterMillis(kRtpJitterMillis);
EXPECT_NE(status, status2);
EXPECT_NE(status, status3);
}