Files
AdamuSw/tests/MUnique.OpenMU.Network.Packets.Tests/ConnectServerPacketTests.cs
2026-07-14 19:00:35 +03:00

211 lines
7.4 KiB
C#

// <copyright file="ConnectServerPacketTests.cs" company="MUnique">
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
// </copyright>
//------------------------------------------------------------------------------
// <auto-generated>
// This source code was auto-generated by an XSL transformation.
// Do not change this file. Instead, change the XML data which contains
// the packet definitions and re-run the transformation (rebuild this project).
// </auto-generated>
//------------------------------------------------------------------------------
namespace MUnique.OpenMU.Network.Packets.Tests.ConnectServer;
using System;
using System.Text;
using NUnit.Framework;
using MUnique.OpenMU.Network.Packets.ConnectServer;
/// <summary>
/// Auto-generated tests for packet structures to validate packet definitions.
/// </summary>
[TestFixture]
public class PacketStructureTests
{
/// <summary>
/// Tests the packet size calculation for ConnectionInfoRequest075.
/// </summary>
[Test]
public void ConnectionInfoRequest075_PacketSizeValidation()
{
// Fixed-length packet validation
const int expectedLength = 5;
var actualLength = ConnectionInfoRequest075Ref.Length;
Assert.That(actualLength, Is.EqualTo(expectedLength),
"Packet length mismatch: declared length does not match calculated size");
// Validate field 'ServerId' boundary
Assert.That(4 + 1, Is.LessThanOrEqualTo(expectedLength),
"Field 'ServerId' exceeds packet boundary");
}
/// <summary>
/// Tests the packet size calculation for ConnectionInfoRequest.
/// </summary>
[Test]
public void ConnectionInfoRequest_PacketSizeValidation()
{
// Fixed-length packet validation
const int expectedLength = 6;
var actualLength = ConnectionInfoRequestRef.Length;
Assert.That(actualLength, Is.EqualTo(expectedLength),
"Packet length mismatch: declared length does not match calculated size");
// Validate field 'ServerId' boundary
Assert.That(4 + 2, Is.LessThanOrEqualTo(expectedLength),
"Field 'ServerId' exceeds packet boundary");
}
/// <summary>
/// Tests the packet size calculation for ConnectionInfo.
/// </summary>
[Test]
public void ConnectionInfo_PacketSizeValidation()
{
// Fixed-length packet validation
const int expectedLength = 22;
var actualLength = ConnectionInfoRef.Length;
Assert.That(actualLength, Is.EqualTo(expectedLength),
"Packet length mismatch: declared length does not match calculated size");
// Validate field 'IpAddress' boundary
Assert.That(4 + 16, Is.LessThanOrEqualTo(expectedLength),
"Field 'IpAddress' exceeds packet boundary");
// Validate field 'Port' boundary
Assert.That(20 + 2, Is.LessThanOrEqualTo(expectedLength),
"Field 'Port' exceeds packet boundary");
}
/// <summary>
/// Tests the packet size calculation for ServerListRequest.
/// </summary>
[Test]
public void ServerListRequest_PacketSizeValidation()
{
// Fixed-length packet validation
const int expectedLength = 4;
var actualLength = ServerListRequestRef.Length;
Assert.That(actualLength, Is.EqualTo(expectedLength),
"Packet length mismatch: declared length does not match calculated size");
}
/// <summary>
/// Tests the packet size calculation for ServerListResponse.
/// </summary>
[Test]
public void ServerListResponse_PacketSizeValidation()
{
// Basic packet validation
// Validate header type and field boundaries
// Field 'ServerCount' starts at index 5 with size 2
Assert.That(5, Is.GreaterThanOrEqualTo(0),
"Field 'ServerCount' has invalid negative index");
}
/// <summary>
/// Tests the packet size calculation for ServerListRequestOld.
/// </summary>
[Test]
public void ServerListRequestOld_PacketSizeValidation()
{
// Fixed-length packet validation
const int expectedLength = 4;
var actualLength = ServerListRequestOldRef.Length;
Assert.That(actualLength, Is.EqualTo(expectedLength),
"Packet length mismatch: declared length does not match calculated size");
}
/// <summary>
/// Tests the packet size calculation for ServerListResponseOld.
/// </summary>
[Test]
public void ServerListResponseOld_PacketSizeValidation()
{
// Basic packet validation
// Validate header type and field boundaries
// Field 'ServerCount' starts at index 5 with size 1
Assert.That(5, Is.GreaterThanOrEqualTo(0),
"Field 'ServerCount' has invalid negative index");
}
/// <summary>
/// Tests the packet size calculation for Hello.
/// </summary>
[Test]
public void Hello_PacketSizeValidation()
{
// Fixed-length packet validation
const int expectedLength = 4;
var actualLength = HelloRef.Length;
Assert.That(actualLength, Is.EqualTo(expectedLength),
"Packet length mismatch: declared length does not match calculated size");
}
/// <summary>
/// Tests the packet size calculation for PatchCheckRequest.
/// </summary>
[Test]
public void PatchCheckRequest_PacketSizeValidation()
{
// Fixed-length packet validation
const int expectedLength = 6;
var actualLength = PatchCheckRequestRef.Length;
Assert.That(actualLength, Is.EqualTo(expectedLength),
"Packet length mismatch: declared length does not match calculated size");
// Validate field 'MajorVersion' boundary
Assert.That(3 + 1, Is.LessThanOrEqualTo(expectedLength),
"Field 'MajorVersion' exceeds packet boundary");
// Validate field 'MinorVersion' boundary
Assert.That(4 + 1, Is.LessThanOrEqualTo(expectedLength),
"Field 'MinorVersion' exceeds packet boundary");
// Validate field 'PatchVersion' boundary
Assert.That(5 + 1, Is.LessThanOrEqualTo(expectedLength),
"Field 'PatchVersion' exceeds packet boundary");
}
/// <summary>
/// Tests the packet size calculation for PatchVersionOkay.
/// </summary>
[Test]
public void PatchVersionOkay_PacketSizeValidation()
{
// Fixed-length packet validation
const int expectedLength = 4;
var actualLength = PatchVersionOkayRef.Length;
Assert.That(actualLength, Is.EqualTo(expectedLength),
"Packet length mismatch: declared length does not match calculated size");
}
/// <summary>
/// Tests the packet size calculation for ClientNeedsPatch.
/// </summary>
[Test]
public void ClientNeedsPatch_PacketSizeValidation()
{
// Variable-length packet validation
// Test GetRequiredSize method with sample data
const string testString = "TestData";
var calculatedSize = ClientNeedsPatchRef.GetRequiredSize(testString);
var expectedMinSize = Encoding.UTF8.GetByteCount(testString) + 1 + 6;
Assert.That(calculatedSize, Is.GreaterThanOrEqualTo(expectedMinSize),
"GetRequiredSize calculation incorrect for string field");
}
}