diff --git a/RUSTREWRITE.md b/RUSTREWRITE.md index 5079bba..d1a2d64 100644 --- a/RUSTREWRITE.md +++ b/RUSTREWRITE.md @@ -60,8 +60,8 @@ The current workspace is a structural baseline, not a working client: members with real fields/constants/enum values and standardized failing bodies; - all 1,289 real NUnit `[Test]`/`[TestCase]` invocations have stable catalog - entries; 488 are translated, 18 live-grid cases and four benchmarks are - reviewed, and 779 remain pending without executable placeholder tests; + entries; 586 are translated, 19 live-grid cases and four benchmarks are + reviewed, and 680 remain pending without executable placeholder tests; - all nine sample/tool projects have compiling Rust binary targets; - the 128 TestClient command source files are retained as a command inventory. diff --git a/api/RUST-MAPPING.tsv b/api/RUST-MAPPING.tsv index be7b54f..9356f77 100644 --- a/api/RUST-MAPPING.tsv +++ b/api/RUST-MAPPING.tsv @@ -8734,7 +8734,7 @@ F:LibreMetaverse.Primitive.ConstructionData.profileCurve field System.Byte Libre F:LibreMetaverse.Primitive.ExtendedMeshFlags field System.UInt32 LibreMetaverse.Primitive.ExtendedMeshFlags libremetaverse libremetaverse::Primitive::extended_mesh_flags pub extended_mesh_flags: u32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.FaceMedia field LibreMetaverse.MediaEntry[] LibreMetaverse.Primitive.FaceMedia libremetaverse libremetaverse::Primitive::face_media pub face_media: Vec owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.Flags field LibreMetaverse.PrimFlags LibreMetaverse.Primitive.Flags libremetaverse libremetaverse::Primitive::flags pub flags: libremetaverse_types::PrimFlags owned_value sync none direct_snake_case direct mapped -F:LibreMetaverse.Primitive.Flexible field LibreMetaverse.Primitive.FlexibleData LibreMetaverse.Primitive.Flexible libremetaverse libremetaverse::Primitive::flexible pub flexible: libremetaverse::PrimitiveFlexibleData owned_value sync none direct_snake_case direct mapped +F:LibreMetaverse.Primitive.Flexible field LibreMetaverse.Primitive.FlexibleData LibreMetaverse.Primitive.Flexible libremetaverse libremetaverse::Primitive::flexible pub flexible: Option owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.FlexibleData.Drag field System.Single LibreMetaverse.Primitive.FlexibleData.Drag libremetaverse libremetaverse::PrimitiveFlexibleData::drag pub drag: f32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.FlexibleData.Force field LibreMetaverse.Vector3 LibreMetaverse.Primitive.FlexibleData.Force libremetaverse libremetaverse::PrimitiveFlexibleData::force pub force: libremetaverse_types::Vector3 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.FlexibleData.Gravity field System.Single LibreMetaverse.Primitive.FlexibleData.Gravity libremetaverse libremetaverse::PrimitiveFlexibleData::gravity pub gravity: f32 owned_value sync none direct_snake_case direct mapped @@ -8747,7 +8747,7 @@ F:LibreMetaverse.Primitive.IsAttachment field System.Boolean LibreMetaverse.Prim F:LibreMetaverse.Primitive.Joint field LibreMetaverse.JointType LibreMetaverse.Primitive.Joint libremetaverse libremetaverse::Primitive::joint pub joint: libremetaverse_types::JointType owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.JointAxisOrAnchor field LibreMetaverse.Vector3 LibreMetaverse.Primitive.JointAxisOrAnchor libremetaverse libremetaverse::Primitive::joint_axis_or_anchor pub joint_axis_or_anchor: libremetaverse_types::Vector3 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.JointPivot field LibreMetaverse.Vector3 LibreMetaverse.Primitive.JointPivot libremetaverse libremetaverse::Primitive::joint_pivot pub joint_pivot: libremetaverse_types::Vector3 owned_value sync none direct_snake_case direct mapped -F:LibreMetaverse.Primitive.Light field LibreMetaverse.Primitive.LightData LibreMetaverse.Primitive.Light libremetaverse libremetaverse::Primitive::light pub light: libremetaverse::PrimitiveLightData owned_value sync none direct_snake_case direct mapped +F:LibreMetaverse.Primitive.Light field LibreMetaverse.Primitive.LightData LibreMetaverse.Primitive.Light libremetaverse libremetaverse::Primitive::light pub light: Option owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.LightData.Color field LibreMetaverse.Color4 LibreMetaverse.Primitive.LightData.Color libremetaverse libremetaverse::PrimitiveLightData::color pub color: libremetaverse_types::Color4 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.LightData.Cutoff field System.Single LibreMetaverse.Primitive.LightData.Cutoff libremetaverse libremetaverse::PrimitiveLightData::cutoff pub cutoff: f32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.LightData.Falloff field System.Single LibreMetaverse.Primitive.LightData.Falloff libremetaverse libremetaverse::PrimitiveLightData::falloff pub falloff: f32 owned_value sync none direct_snake_case direct mapped @@ -8755,7 +8755,7 @@ F:LibreMetaverse.Primitive.LightData.Intensity field System.Single LibreMetavers F:LibreMetaverse.Primitive.LightData.Radius field System.Single LibreMetaverse.Primitive.LightData.Radius libremetaverse libremetaverse::PrimitiveLightData::radius pub radius: f32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.LightImage.LightTexture field LibreMetaverse.UUID LibreMetaverse.Primitive.LightImage.LightTexture libremetaverse libremetaverse::PrimitiveLightImage::light_texture pub light_texture: libremetaverse_types::UUID owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.LightImage.Params field LibreMetaverse.Vector3 LibreMetaverse.Primitive.LightImage.Params libremetaverse libremetaverse::PrimitiveLightImage::params pub params: libremetaverse_types::Vector3 owned_value sync none direct_snake_case direct mapped -F:LibreMetaverse.Primitive.LightMap field LibreMetaverse.Primitive.LightImage LibreMetaverse.Primitive.LightMap libremetaverse libremetaverse::Primitive::light_map pub light_map: libremetaverse::PrimitiveLightImage owned_value sync none direct_snake_case direct mapped +F:LibreMetaverse.Primitive.LightMap field LibreMetaverse.Primitive.LightImage LibreMetaverse.Primitive.LightMap libremetaverse libremetaverse::Primitive::light_map pub light_map: Option owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.LocalID field System.UInt32 LibreMetaverse.Primitive.LocalID libremetaverse libremetaverse::Primitive::local_id pub local_id: u32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.MediaURL field System.String LibreMetaverse.Primitive.MediaURL libremetaverse libremetaverse::Primitive::media_url pub media_url: String owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.MediaVersion field System.String LibreMetaverse.Primitive.MediaVersion libremetaverse libremetaverse::Primitive::media_version pub media_version: String owned_value sync none direct_snake_case direct mapped @@ -8892,7 +8892,7 @@ F:LibreMetaverse.Primitive.TextureAnimation.SizeX field System.UInt32 LibreMetav F:LibreMetaverse.Primitive.TextureAnimation.SizeY field System.UInt32 LibreMetaverse.Primitive.TextureAnimation.SizeY libremetaverse libremetaverse::PrimitiveTextureAnimation::size_y pub size_y: u32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.TextureAnimation.Start field System.Single LibreMetaverse.Primitive.TextureAnimation.Start libremetaverse libremetaverse::PrimitiveTextureAnimation::start pub start: f32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.TextureEntry.DefaultTexture field LibreMetaverse.Primitive.TextureEntryFace LibreMetaverse.Primitive.TextureEntry.DefaultTexture libremetaverse libremetaverse::PrimitiveTextureEntry::default_texture pub default_texture: Option owned_value sync none direct_snake_case direct mapped -F:LibreMetaverse.Primitive.TextureEntry.FaceTextures field LibreMetaverse.Primitive.TextureEntryFace[] LibreMetaverse.Primitive.TextureEntry.FaceTextures libremetaverse libremetaverse::PrimitiveTextureEntry::face_textures pub face_textures: Vec owned_value sync none direct_snake_case direct mapped +F:LibreMetaverse.Primitive.TextureEntry.FaceTextures field LibreMetaverse.Primitive.TextureEntryFace[] LibreMetaverse.Primitive.TextureEntry.FaceTextures libremetaverse libremetaverse::PrimitiveTextureEntry::face_textures pub face_textures: Vec> owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.TextureEntry.MAX_FACES constant System.Int32 LibreMetaverse.Primitive.TextureEntry.MAX_FACES libremetaverse libremetaverse::PrimitiveTextureEntry::MAX_FACES pub const MAX_FACES: i32 owned_value sync none direct_snake_case direct mapped F:LibreMetaverse.Primitive.TextureEntry.WHITE_TEXTURE field LibreMetaverse.UUID LibreMetaverse.Primitive.TextureEntry.WHITE_TEXTURE libremetaverse libremetaverse::PrimitiveTextureEntry::white_texture pub fn white_texture() -> libremetaverse_types::UUID none sync infallible_placeholder direct_snake_case static_field_accessor mapped F:LibreMetaverse.Primitive.Textures field LibreMetaverse.Primitive.TextureEntry LibreMetaverse.Primitive.Textures libremetaverse libremetaverse::Primitive::textures pub textures: Option owned_value sync none direct_snake_case direct mapped @@ -10195,7 +10195,7 @@ M:LibreMetaverse.AgentDisplayName.FromOSD(LibreMetaverse.StructuredData.OSD) met M:LibreMetaverse.AgentDisplayName.GetOSD method LibreMetaverse.StructuredData.OSD LibreMetaverse.AgentDisplayName.GetOSD() libremetaverse libremetaverse::AgentDisplayName::get_osd pub fn get_osd(&self) -> Result shared_self sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentDisplayName.ToString method System.String LibreMetaverse.AgentDisplayName.ToString() libremetaverse libremetaverse::AgentDisplayName::to_string pub fn to_string(&self) -> String shared_self sync infallible_placeholder direct_snake_case method mapped M:LibreMetaverse.AgentExperiencesEventArgs.#ctor(LibreMetaverse.Messages.Linden.ExperienceListMessage) constructor LibreMetaverse.AgentExperiencesEventArgs(LibreMetaverse.Messages.Linden.ExperienceListMessage agentExperiences) libremetaverse libremetaverse::AgentExperiencesEventArgs::new pub fn new(agent_experiences: libremetaverse::messages::linden::ExperienceListMessage) -> Result owned sync Result<_, crate::Error> direct_snake_case method mapped -M:LibreMetaverse.AgentManager.#ctor(LibreMetaverse.GridClient) constructor LibreMetaverse.AgentManager(LibreMetaverse.GridClient client) libremetaverse libremetaverse::AgentManager::new pub fn new(client: libremetaverse::GridClient) -> Result owned sync Result<_, crate::Error> direct_snake_case method mapped +M:LibreMetaverse.AgentManager.#ctor(LibreMetaverse.GridClient) constructor LibreMetaverse.AgentManager(LibreMetaverse.GridClient client) libremetaverse libremetaverse::AgentManager::new pub fn new(client: Option>) -> Result optional_shared sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.ActivateGesture(LibreMetaverse.UUID,LibreMetaverse.UUID) method System.Void LibreMetaverse.AgentManager.ActivateGesture(LibreMetaverse.UUID invID, LibreMetaverse.UUID assetID) libremetaverse libremetaverse::AgentManager::activate_gesture pub fn activate_gesture(&self, inv_id: libremetaverse_types::UUID, asset_id: libremetaverse_types::UUID) -> Result<(), crate::Error> shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.AgentMovement.#ctor(LibreMetaverse.GridClient) constructor LibreMetaverse.AgentManager.AgentMovement(LibreMetaverse.GridClient client) libremetaverse libremetaverse::AgentManagerAgentMovement::new pub fn new(client: libremetaverse::GridClient) -> Result owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.#ctor constructor LibreMetaverse.AgentManager.AgentMovement.AgentCamera() libremetaverse libremetaverse::AgentManagerAgentMovementAgentCamera::new pub fn new() -> Result none sync Result<_, crate::Error> direct_snake_case method mapped @@ -11127,7 +11127,7 @@ M:LibreMetaverse.GridClientServiceCollectionExtensions.AddGridClient(Microsoft.E M:LibreMetaverse.GridItemsEventArgs.#ctor(LibreMetaverse.GridItemType,System.Collections.Generic.List{LibreMetaverse.MapItem}) constructor LibreMetaverse.GridItemsEventArgs(LibreMetaverse.GridItemType type, System.Collections.Generic.List items) libremetaverse libremetaverse::GridItemsEventArgs::new pub fn new(type_: libremetaverse::GridItemType, items: Vec) -> Result owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.GridLayer.ContainsRegion(System.Int32,System.Int32) method System.Boolean LibreMetaverse.GridLayer.ContainsRegion(System.Int32 x, System.Int32 y) libremetaverse libremetaverse::GridLayer::contains_region pub fn contains_region(&self, x: i32, y: i32) -> Result shared_self,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.GridLayerEventArgs.#ctor(LibreMetaverse.GridLayer) constructor LibreMetaverse.GridLayerEventArgs(LibreMetaverse.GridLayer layer) libremetaverse libremetaverse::GridLayerEventArgs::new pub fn new(layer: libremetaverse::GridLayer) -> Result owned sync Result<_, crate::Error> direct_snake_case method mapped -M:LibreMetaverse.GridManager.#ctor(LibreMetaverse.GridClient) constructor LibreMetaverse.GridManager(LibreMetaverse.GridClient client) libremetaverse libremetaverse::GridManager::new pub fn new(client: libremetaverse::GridClient) -> Result owned sync Result<_, crate::Error> direct_snake_case method mapped +M:LibreMetaverse.GridManager.#ctor(LibreMetaverse.GridClient) constructor LibreMetaverse.GridManager(LibreMetaverse.GridClient client) libremetaverse libremetaverse::GridManager::new pub fn new(client: Option>) -> Result optional_shared sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.GridManager.Dispose method System.Void LibreMetaverse.GridManager.Dispose() libremetaverse libremetaverse::GridManager::dispose pub fn dispose(&self) -> Result<(), crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.GridManager.GetGridRegionAsync(System.String,LibreMetaverse.GridLayerType,System.Threading.CancellationToken) method System.Threading.Tasks.Task> LibreMetaverse.GridManager.GetGridRegionAsync(System.String name, LibreMetaverse.GridLayerType layer, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::GridManager::get_grid_region_with_string_grid_layer_type_cancellation_token pub async fn get_grid_region_with_string_grid_layer_type_cancellation_token(&self, name: String, layer: libremetaverse::GridLayerType, cancellation_token: Option) -> Result>, crate::Error> shared_self,owned,owned,optional_owned async Result<_, crate::Error> descriptive_overload_name method mapped M:LibreMetaverse.GridManager.GetGridRegionAsync(System.UInt64,LibreMetaverse.GridLayerType,System.Threading.CancellationToken) method System.Threading.Tasks.Task> LibreMetaverse.GridManager.GetGridRegionAsync(System.UInt64 handle, LibreMetaverse.GridLayerType layer, System.Threading.CancellationToken cancellationToken = default) libremetaverse libremetaverse::GridManager::get_grid_region_with_u_int64_grid_layer_type_cancellation_token pub async fn get_grid_region_with_u_int64_grid_layer_type_cancellation_token(&self, handle: u64, layer: libremetaverse::GridLayerType, cancellation_token: Option) -> Result>, crate::Error> shared_self,owned,owned,optional_owned async Result<_, crate::Error> descriptive_overload_name method mapped @@ -13142,7 +13142,7 @@ M:LibreMetaverse.NetworkManager.UnregisterEventCallback(System.String,LibreMetav M:LibreMetaverse.NetworkManager.UnregisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback) method System.Void LibreMetaverse.NetworkManager.UnregisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback callback) libremetaverse libremetaverse::NetworkManager::unregister_login_response_callback pub fn unregister_login_response_callback(&self, callback: libremetaverse::NetworkManagerLoginResponseCallback) -> Result<(), crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.ObjectAnimationEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.Animation}) constructor LibreMetaverse.ObjectAnimationEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.UUID objectID, System.Collections.Generic.List anims) libremetaverse libremetaverse::ObjectAnimationEventArgs::new pub fn new(simulator: libremetaverse::Simulator, object_id: libremetaverse_types::UUID, anims: Vec) -> Result owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.ObjectDataBlockUpdateEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Primitive,LibreMetaverse.Primitive.ConstructionData,LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock,LibreMetaverse.ObjectMovementUpdate,LibreMetaverse.NameValue[]) constructor LibreMetaverse.ObjectDataBlockUpdateEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.Primitive prim, LibreMetaverse.Primitive.ConstructionData constructionData, LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock block, LibreMetaverse.ObjectMovementUpdate objectupdate, LibreMetaverse.NameValue[] nameValues) libremetaverse libremetaverse::ObjectDataBlockUpdateEventArgs::new pub fn new(simulator: libremetaverse::Simulator, prim: libremetaverse::Primitive, construction_data: libremetaverse::PrimitiveConstructionData, block: libremetaverse::packets::ObjectUpdatePacketObjectDataBlock, objectupdate: libremetaverse::ObjectMovementUpdate, name_values: Vec) -> Result owned,owned,owned,owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped -M:LibreMetaverse.ObjectManager.#ctor(LibreMetaverse.GridClient) constructor LibreMetaverse.ObjectManager(LibreMetaverse.GridClient client) libremetaverse libremetaverse::ObjectManager::new pub fn new(client: libremetaverse::GridClient) -> Result owned sync Result<_, crate::Error> direct_snake_case method mapped +M:LibreMetaverse.ObjectManager.#ctor(LibreMetaverse.GridClient) constructor LibreMetaverse.ObjectManager(LibreMetaverse.GridClient client) libremetaverse libremetaverse::ObjectManager::new pub fn new(client: Option>) -> Result optional_shared sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.ObjectManager.AddGrass(LibreMetaverse.Simulator,LibreMetaverse.Vector3,LibreMetaverse.Quaternion,LibreMetaverse.Vector3,LibreMetaverse.Grass,LibreMetaverse.UUID) method System.Void LibreMetaverse.ObjectManager.AddGrass(LibreMetaverse.Simulator simulator, LibreMetaverse.Vector3 scale, LibreMetaverse.Quaternion rotation, LibreMetaverse.Vector3 position, LibreMetaverse.Grass grassType, LibreMetaverse.UUID groupOwner) libremetaverse libremetaverse::ObjectManager::add_grass pub fn add_grass(&self, simulator: libremetaverse::Simulator, scale: libremetaverse_types::Vector3, rotation: libremetaverse_types::Quaternion, position: libremetaverse_types::Vector3, grass_type: libremetaverse::Grass, group_owner: libremetaverse_types::UUID) -> Result<(), crate::Error> shared_self,owned,owned,owned,owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.ObjectManager.AddPrim(LibreMetaverse.Simulator,LibreMetaverse.Primitive.ConstructionData,LibreMetaverse.UUID,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Quaternion) method System.Void LibreMetaverse.ObjectManager.AddPrim(LibreMetaverse.Simulator simulator, LibreMetaverse.Primitive.ConstructionData prim, LibreMetaverse.UUID groupID, LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 scale, LibreMetaverse.Quaternion rotation) libremetaverse libremetaverse::ObjectManager::add_prim_with_simulator_construction_data_uuid_vector3_vector3_quaternion pub fn add_prim_with_simulator_construction_data_uuid_vector3_vector3_quaternion(&self, simulator: libremetaverse::Simulator, prim: libremetaverse::PrimitiveConstructionData, group_id: libremetaverse_types::UUID, position: libremetaverse_types::Vector3, scale: libremetaverse_types::Vector3, rotation: libremetaverse_types::Quaternion) -> Result<(), crate::Error> shared_self,owned,owned,owned,owned,owned,owned sync Result<_, crate::Error> descriptive_overload_name method mapped M:LibreMetaverse.ObjectManager.AddPrim(LibreMetaverse.Simulator,LibreMetaverse.Primitive.ConstructionData,LibreMetaverse.UUID,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Quaternion,LibreMetaverse.PrimFlags) method System.Void LibreMetaverse.ObjectManager.AddPrim(LibreMetaverse.Simulator simulator, LibreMetaverse.Primitive.ConstructionData prim, LibreMetaverse.UUID groupID, LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 scale, LibreMetaverse.Quaternion rotation, LibreMetaverse.PrimFlags createFlags) libremetaverse libremetaverse::ObjectManager::add_prim_with_simulator_construction_data_uuid_vector3_vector3_quaternion_prim_flags pub fn add_prim_with_simulator_construction_data_uuid_vector3_vector3_quaternion_prim_flags(&self, simulator: libremetaverse::Simulator, prim: libremetaverse::PrimitiveConstructionData, group_id: libremetaverse_types::UUID, position: libremetaverse_types::Vector3, scale: libremetaverse_types::Vector3, rotation: libremetaverse_types::Quaternion, create_flags: libremetaverse_types::PrimFlags) -> Result<(), crate::Error> shared_self,owned,owned,owned,owned,owned,owned,owned sync Result<_, crate::Error> descriptive_overload_name method mapped @@ -24228,10 +24228,10 @@ M:LibreMetaverse.Primitive.TextureEntry.#ctor(LibreMetaverse.Primitive.TextureEn M:LibreMetaverse.Primitive.TextureEntry.#ctor(LibreMetaverse.Primitive.TextureEntryFace) constructor LibreMetaverse.Primitive.TextureEntry(LibreMetaverse.Primitive.TextureEntryFace defaultFace) libremetaverse libremetaverse::PrimitiveTextureEntry::new_with_texture_entry_face pub fn new_with_texture_entry_face(default_face: libremetaverse::PrimitiveTextureEntryFace) -> Result owned sync Result<_, crate::Error> descriptive_overload_name method mapped M:LibreMetaverse.Primitive.TextureEntry.#ctor(LibreMetaverse.UUID) constructor LibreMetaverse.Primitive.TextureEntry(LibreMetaverse.UUID defaultTextureID) libremetaverse libremetaverse::PrimitiveTextureEntry::new_with_uuid pub fn new_with_uuid(default_texture_id: libremetaverse_types::UUID) -> Result owned sync Result<_, crate::Error> descriptive_overload_name method mapped M:LibreMetaverse.Primitive.TextureEntry.#ctor(System.Byte[],System.Int32,System.Int32) constructor LibreMetaverse.Primitive.TextureEntry(System.Byte[] data, System.Int32 pos, System.Int32 length) libremetaverse libremetaverse::PrimitiveTextureEntry::new_with_bytes_int32_int32 pub fn new_with_bytes_int32_int32(data: Vec, pos: i32, length: i32) -> Result owned,owned,owned sync Result<_, crate::Error> descriptive_overload_name method mapped -M:LibreMetaverse.Primitive.TextureEntry.CreateFace(System.UInt32) method LibreMetaverse.Primitive.TextureEntryFace LibreMetaverse.Primitive.TextureEntry.CreateFace(System.UInt32 index) libremetaverse libremetaverse::PrimitiveTextureEntry::create_face pub fn create_face(&self, index: u32) -> Result shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped +M:LibreMetaverse.Primitive.TextureEntry.CreateFace(System.UInt32) method LibreMetaverse.Primitive.TextureEntryFace LibreMetaverse.Primitive.TextureEntry.CreateFace(System.UInt32 index) libremetaverse libremetaverse::PrimitiveTextureEntry::create_face pub fn create_face(&mut self, index: u32) -> Result<&mut libremetaverse::PrimitiveTextureEntryFace, crate::Error> mutable_self,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Primitive.TextureEntry.FromOSD(LibreMetaverse.StructuredData.OSD) method LibreMetaverse.Primitive.TextureEntry LibreMetaverse.Primitive.TextureEntry.FromOSD(LibreMetaverse.StructuredData.OSD osd) libremetaverse libremetaverse::PrimitiveTextureEntry::from_osd pub fn from_osd(osd: libremetaverse_structured_data::OSD) -> Result owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Primitive.TextureEntry.GetBytes method System.Byte[] LibreMetaverse.Primitive.TextureEntry.GetBytes() libremetaverse libremetaverse::PrimitiveTextureEntry::get_bytes pub fn get_bytes(&self) -> Result, crate::Error> shared_self sync Result<_, crate::Error> direct_snake_case method mapped -M:LibreMetaverse.Primitive.TextureEntry.GetFace(System.UInt32) method LibreMetaverse.Primitive.TextureEntryFace LibreMetaverse.Primitive.TextureEntry.GetFace(System.UInt32 index) libremetaverse libremetaverse::PrimitiveTextureEntry::get_face pub fn get_face(&self, index: u32) -> Result shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped +M:LibreMetaverse.Primitive.TextureEntry.GetFace(System.UInt32) method LibreMetaverse.Primitive.TextureEntryFace LibreMetaverse.Primitive.TextureEntry.GetFace(System.UInt32 index) libremetaverse libremetaverse::PrimitiveTextureEntry::get_face pub fn get_face(&self, index: u32) -> Result, crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Primitive.TextureEntry.GetHashCode method System.Int32 LibreMetaverse.Primitive.TextureEntry.GetHashCode() libremetaverse libremetaverse::PrimitiveTextureEntry::get_hash_code pub fn get_hash_code(&self) -> i32 shared_self sync infallible_placeholder direct_snake_case method mapped M:LibreMetaverse.Primitive.TextureEntry.GetOSD method LibreMetaverse.StructuredData.OSD LibreMetaverse.Primitive.TextureEntry.GetOSD() libremetaverse libremetaverse::PrimitiveTextureEntry::get_osd pub fn get_osd(&self) -> Result shared_self sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.Primitive.TextureEntry.ToString method System.String LibreMetaverse.Primitive.TextureEntry.ToString() libremetaverse libremetaverse::PrimitiveTextureEntry::to_string pub fn to_string(&self) -> String shared_self sync infallible_placeholder direct_snake_case method mapped @@ -24648,7 +24648,7 @@ M:LibreMetaverse.SimulatorFeatures.Get(System.String) method LibreMetaverse.Stru M:LibreMetaverse.SimulatorFeatures.Has(System.String) method System.Boolean LibreMetaverse.SimulatorFeatures.Has(System.String feature) libremetaverse libremetaverse::SimulatorFeatures::has pub fn has(&self, feature: String) -> Result shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.SimulatorFeatures.SetFeatures(System.Net.Http.HttpResponseMessage,System.Byte[],System.Exception) method System.Void LibreMetaverse.SimulatorFeatures.SetFeatures(System.Net.Http.HttpResponseMessage response, System.Byte[] responseData, System.Exception error) libremetaverse libremetaverse::SimulatorFeatures::set_features pub fn set_features(&self, response: Option, response_data: Option>, error: Option) -> Result<(), crate::Error> shared_self,owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.SkeletalBoneInfo.#ctor(System.String,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Boolean) constructor LibreMetaverse.SkeletalBoneInfo(System.String boneName, LibreMetaverse.Vector3 scaleDeformation, LibreMetaverse.Vector3 positionDeformation, System.Boolean hasPositionDeformation) libremetaverse libremetaverse::SkeletalBoneInfo::new pub fn new(bone_name: String, scale_deformation: libremetaverse_types::Vector3, position_deformation: libremetaverse_types::Vector3, has_position_deformation: bool) -> Result owned,owned,owned,owned sync Result<_, crate::Error> direct_snake_case method mapped -M:LibreMetaverse.SlurlParser.#ctor(System.String) constructor LibreMetaverse.SlurlParser(System.String location) libremetaverse libremetaverse::SlurlParser::new pub fn new(location: String) -> Result owned sync Result<_, crate::Error> direct_snake_case method mapped +M:LibreMetaverse.SlurlParser.#ctor(System.String) constructor LibreMetaverse.SlurlParser(System.String location) libremetaverse libremetaverse::SlurlParser::new pub fn new(location: Option) -> Result optional_owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.SlurlParser.GetAgentUrl(LibreMetaverse.UUID,System.String) method System.String LibreMetaverse.SlurlParser.GetAgentUrl(LibreMetaverse.UUID agentId, System.String action = default) libremetaverse libremetaverse::SlurlParser::get_agent_url pub fn get_agent_url(agent_id: libremetaverse_types::UUID, action: Option) -> Result owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.SlurlParser.GetGroupUrl(LibreMetaverse.UUID,System.String) method System.String LibreMetaverse.SlurlParser.GetGroupUrl(LibreMetaverse.UUID groupId, System.String action = default) libremetaverse libremetaverse::SlurlParser::get_group_url pub fn get_group_url(group_id: libremetaverse_types::UUID, action: Option) -> Result owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped M:LibreMetaverse.SlurlParser.GetLoginUrl(System.String,System.String,System.String) method System.String LibreMetaverse.SlurlParser.GetLoginUrl(System.String lastName = default, System.String sessionId = default, System.String location = default) libremetaverse libremetaverse::SlurlParser::get_login_url pub fn get_login_url(last_name: Option, session_id: Option, location: Option) -> Result optional_owned,optional_owned,optional_owned sync Result<_, crate::Error> direct_snake_case method mapped diff --git a/crates/libremetaverse-types/src/generated.rs b/crates/libremetaverse-types/src/generated.rs index 294ea0a..b0c4a95 100644 --- a/crates/libremetaverse-types/src/generated.rs +++ b/crates/libremetaverse-types/src/generated.rs @@ -1036,16 +1036,18 @@ pub enum FolderType { /// C# type: `T:LibreMetaverse.HoleType`. #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] -#[repr(u8)] -pub enum HoleType { +#[repr(transparent)] +pub struct HoleType(pub u8); +#[allow(non_upper_case_globals)] +impl HoleType { /// C# member: `F:LibreMetaverse.HoleType.Circle`. - Circle = 16, + pub const Circle: Self = Self(16); /// C# member: `F:LibreMetaverse.HoleType.Same`. - Same = 0, + pub const Same: Self = Self(0); /// C# member: `F:LibreMetaverse.HoleType.Square`. - Square = 32, + pub const Square: Self = Self(32); /// C# member: `F:LibreMetaverse.HoleType.Triangle`. - Triangle = 48, + pub const Triangle: Self = Self(48); } /// C# type: `T:LibreMetaverse.ICacheDictionaryRemovalStrategy`1`. diff --git a/crates/libremetaverse/src/generated.rs b/crates/libremetaverse/src/generated.rs index 6dfa81f..6f6da47 100644 --- a/crates/libremetaverse/src/generated.rs +++ b/crates/libremetaverse/src/generated.rs @@ -901,7 +901,9 @@ impl AgentManager { ) } /// C# member: `M:LibreMetaverse.AgentManager.#ctor(LibreMetaverse.GridClient)`. - pub fn new(client: libremetaverse::GridClient) -> Result { + pub fn new( + client: Option>, + ) -> Result { libremetaverse_types::not_implemented( "M:LibreMetaverse.AgentManager.#ctor(LibreMetaverse.GridClient)", ) @@ -11611,7 +11613,9 @@ impl GridManager { libremetaverse_types::unimplemented_api!("E:LibreMetaverse.GridManager.RegionHandleReply") } /// C# member: `M:LibreMetaverse.GridManager.#ctor(LibreMetaverse.GridClient)`. - pub fn new(client: libremetaverse::GridClient) -> Result { + pub fn new( + client: Option>, + ) -> Result { libremetaverse_types::not_implemented( "M:LibreMetaverse.GridManager.#ctor(LibreMetaverse.GridClient)", ) @@ -20642,7 +20646,9 @@ impl ObjectManager { /// C# member: `F:LibreMetaverse.ObjectManager.HAVOK_TIMESTEP`. pub const HAVOK_TIMESTEP: f32 = 0.022222223; /// C# member: `M:LibreMetaverse.ObjectManager.#ctor(LibreMetaverse.GridClient)`. - pub fn new(client: libremetaverse::GridClient) -> Result { + pub fn new( + client: Option>, + ) -> Result { libremetaverse_types::not_implemented( "M:LibreMetaverse.ObjectManager.#ctor(LibreMetaverse.GridClient)", ) @@ -23536,7 +23542,7 @@ pub struct Primitive { /// C# member: `F:LibreMetaverse.Primitive.Flags`. pub flags: libremetaverse_types::PrimFlags, /// C# member: `F:LibreMetaverse.Primitive.Flexible`. - pub flexible: libremetaverse::PrimitiveFlexibleData, + pub flexible: Option, /// C# member: `F:LibreMetaverse.Primitive.GroupID`. pub group_id: libremetaverse_types::UUID, /// C# member: `F:LibreMetaverse.Primitive.ID`. @@ -23550,9 +23556,9 @@ pub struct Primitive { /// C# member: `F:LibreMetaverse.Primitive.JointPivot`. pub joint_pivot: libremetaverse_types::Vector3, /// C# member: `F:LibreMetaverse.Primitive.Light`. - pub light: libremetaverse::PrimitiveLightData, + pub light: Option, /// C# member: `F:LibreMetaverse.Primitive.LightMap`. - pub light_map: libremetaverse::PrimitiveLightImage, + pub light_map: Option, /// C# member: `F:LibreMetaverse.Primitive.LocalID`. pub local_id: u32, /// C# member: `F:LibreMetaverse.Primitive.MediaURL`. @@ -24550,7 +24556,7 @@ pub struct PrimitiveTextureEntry { /// C# member: `F:LibreMetaverse.Primitive.TextureEntry.DefaultTexture`. pub default_texture: Option, /// C# member: `F:LibreMetaverse.Primitive.TextureEntry.FaceTextures`. - pub face_textures: Vec, + pub face_textures: Vec>, } impl PrimitiveTextureEntry { /// C# member: `F:LibreMetaverse.Primitive.TextureEntry.MAX_FACES`. @@ -24597,9 +24603,9 @@ impl PrimitiveTextureEntry { } /// C# member: `M:LibreMetaverse.Primitive.TextureEntry.CreateFace(System.UInt32)`. pub fn create_face( - &self, + &mut self, index: u32, - ) -> Result { + ) -> Result<&mut libremetaverse::PrimitiveTextureEntryFace, crate::Error> { libremetaverse_types::not_implemented( "M:LibreMetaverse.Primitive.TextureEntry.CreateFace(System.UInt32)", ) @@ -24620,7 +24626,7 @@ impl PrimitiveTextureEntry { pub fn get_face( &self, index: u32, - ) -> Result { + ) -> Result, crate::Error> { libremetaverse_types::not_implemented( "M:LibreMetaverse.Primitive.TextureEntry.GetFace(System.UInt32)", ) @@ -26821,7 +26827,7 @@ pub enum SlappCommand { pub struct SlurlParser; impl SlurlParser { /// C# member: `M:LibreMetaverse.SlurlParser.#ctor(System.String)`. - pub fn new(location: String) -> Result { + pub fn new(location: Option) -> Result { libremetaverse_types::not_implemented("M:LibreMetaverse.SlurlParser.#ctor(System.String)") } /// C# member: `M:LibreMetaverse.SlurlParser.GetAgentUrl(LibreMetaverse.UUID,System.String)`. diff --git a/crates/libremetaverse/src/lib.rs b/crates/libremetaverse/src/lib.rs index 82f7a91..d9532e5 100644 --- a/crates/libremetaverse/src/lib.rs +++ b/crates/libremetaverse/src/lib.rs @@ -12,6 +12,8 @@ mod asset_archive_semantics; mod avatar_animesh_semantics; #[cfg(test)] mod batch_link_internal_semantics; +#[cfg(test)] +mod world_internal_semantics; type Terrain = Vec>; type TerrainLoaded = Box; @@ -124,6 +126,44 @@ impl InventoryAISClient { } } +#[allow(dead_code)] +impl AgentManager { + fn extract_experience_permission( + _map: libremetaverse_structured_data::OSDMap, + _experience_id: libremetaverse_types::UUID, + ) -> Result { + libremetaverse_types::not_implemented( + "M:LibreMetaverse.AgentManager.ExtractExperiencePermission(LibreMetaverse.StructuredData.OSDMap,LibreMetaverse.UUID)", + ) + } +} + +#[allow(dead_code, clippy::unused_self)] +impl EstateTools { + fn estate_owner_message_handler( + &self, + _packet: packets::EstateOwnerMessagePacket, + _simulator: Simulator, + ) -> Result<(), Error> { + libremetaverse_types::not_implemented( + "M:LibreMetaverse.EstateTools.EstateOwnerMessageHandler(System.Object,LibreMetaverse.PacketReceivedEventArgs)", + ) + } +} + +#[allow(dead_code, clippy::unused_self)] +impl NetworkManager { + fn raise_sim_console_response( + &self, + _message: messages::linden::SimConsoleResponseMessage, + _simulator: Simulator, + ) -> Result<(), Error> { + libremetaverse_types::not_implemented( + "F:LibreMetaverse.NetworkManager.CapsEvents.SimConsoleResponse", + ) + } +} + #[allow(dead_code)] impl imaging::Baker { fn resize_to_bake_dimensions( diff --git a/crates/libremetaverse/src/world_internal_semantics.rs b/crates/libremetaverse/src/world_internal_semantics.rs new file mode 100644 index 0000000..137a614 --- /dev/null +++ b/crates/libremetaverse/src/world_internal_semantics.rs @@ -0,0 +1,217 @@ +// Exact Rust translations of the C# tests that deliberately invoke internal handlers. +// Source SHA-256: 74fa1275cd1f6c2a372af2fefc011a3e764f028a8957291d61f599bcb023a8ff +// Source SHA-256: 7b67b72c2ad652626126d0e4eda7e8c26fc94c28f0f915238b2925f80a3d4af2 + +use super::*; +use libremetaverse_structured_data::{OSD, OSDMap}; +use libremetaverse_types::UUID; +use packets::{ + EstateOwnerMessagePacket, EstateOwnerMessagePacketAgentDataBlock, + EstateOwnerMessagePacketMethodDataBlock, EstateOwnerMessagePacketParamListBlock, +}; +use std::collections::HashMap; +use std::future::Future; +use std::sync::{Arc, Mutex}; +use std::task::{Context, Poll, Wake, Waker}; +use std::time::Duration; + +fn uuid() -> UUID { + UUID::random().expect("UUID Random") +} + +fn ids(values: impl IntoIterator) -> OSD { + OSD::Array(values.into_iter().map(OSD::UUID).collect()) +} + +fn map(entries: impl IntoIterator) -> OSDMap { + OSDMap::new_with_dictionary( + entries + .into_iter() + .map(|(key, value)| (key.into(), value)) + .collect(), + ) + .expect("OSDMap dictionary constructor") +} + +fn simulator() -> Simulator { + Simulator::new( + GridClient::new().expect("simulator GridClient constructor"), + "127.0.0.1:13".parse().unwrap(), + 0, + None, + None, + ) + .expect("Simulator constructor") +} + +fn estate_packet(blocked: &[UUID], trusted: &[UUID], allowed: &[UUID]) -> EstateOwnerMessagePacket { + let counts = [ + "1".to_owned(), + "0".to_owned(), + blocked.len().to_string(), + trusted.len().to_string(), + allowed.len().to_string(), + ]; + let mut parameters = counts + .into_iter() + .map(|value| EstateOwnerMessagePacketParamListBlock { + parameter: value.as_bytes().to_vec(), + }) + .collect::>(); + parameters.extend(blocked.iter().chain(trusted).chain(allowed).map(|id| { + EstateOwnerMessagePacketParamListBlock { + parameter: id.get_bytes().expect("UUID bytes"), + } + })); + EstateOwnerMessagePacket { + agent_data: EstateOwnerMessagePacketAgentDataBlock { + agent_id: uuid(), + session_id: uuid(), + transaction_id: uuid(), + }, + method_data: EstateOwnerMessagePacketMethodDataBlock { + method: b"setexperience".to_vec(), + invoice: UUID::zero(), + }, + param_list: parameters, + } +} + +fn block_on_with(future: F, mut after_pending: impl FnMut()) -> F::Output { + struct ThreadWake(std::thread::Thread); + impl Wake for ThreadWake { + fn wake(self: Arc) { + self.0.unpark(); + } + } + let waker = Waker::from(Arc::new(ThreadWake(std::thread::current()))); + let mut context = Context::from_waker(&waker); + let mut future = std::pin::pin!(future); + let mut invoked = false; + loop { + match future.as_mut().poll(&mut context) { + Poll::Ready(value) => return value, + Poll::Pending if !invoked => { + invoked = true; + after_pending(); + } + Poll::Pending => std::thread::park_timeout(Duration::from_millis(10)), + } + } +} + +// parity-case: LibreMetaverse.Tests/EstateExperienceReplyTests.cs::EstateExperienceReplyTests.SetExperience_ParsesBlockedTrustedAndAllowedLists::test 49a77aa9d7c5bf1232082a08594e7ebcfafad11ab110c9e15d2ad4ea1831c649 translated +#[test] +fn set_experience_parses_blocked_trusted_and_allowed_lists() { + let blocked = uuid(); + let trusted = uuid(); + let allowed = [uuid(), uuid()]; + let client = GridClient::new().expect("GridClient constructor"); + let estate = client.estate(); + let received = Arc::new(Mutex::new(None)); + let captured = Arc::clone(&received); + let _subscription = estate.subscribe_estate_experience_reply(Arc::new(move |reply| { + *captured.lock().unwrap() = Some((reply.blocked(), reply.trusted(), reply.allowed())); + })); + estate + .estate_owner_message_handler(estate_packet(&[blocked], &[trusted], &allowed), simulator()) + .unwrap(); + let reply = received.lock().unwrap(); + let (actual_blocked, actual_trusted, actual_allowed) = + reply.as_ref().expect("EstateExperienceReply event"); + assert_eq!(actual_blocked, &[blocked]); + assert_eq!(actual_trusted, &[trusted]); + assert_eq!(actual_allowed, &allowed); +} + +// parity-case: LibreMetaverse.Tests/EstateExperienceReplyTests.cs::EstateExperienceReplyTests.SetExperience_AllEmptyLists_ProducesEmptyResult::test 711eaebb11f5d7ece92946d3de240a341a4b1fd8f30617fd97cb059d0dc6a0b9 translated +#[test] +fn set_experience_all_empty_lists_produces_empty_result() { + let client = GridClient::new().expect("GridClient constructor"); + let estate = client.estate(); + let received = Arc::new(Mutex::new(None)); + let captured = Arc::clone(&received); + let _subscription = estate.subscribe_estate_experience_reply(Arc::new(move |reply| { + *captured.lock().unwrap() = Some((reply.blocked(), reply.trusted(), reply.allowed())); + })); + estate + .estate_owner_message_handler(estate_packet(&[], &[], &[]), simulator()) + .unwrap(); + let reply = received.lock().unwrap(); + let (blocked, trusted, allowed) = reply.as_ref().expect("EstateExperienceReply event"); + assert!(blocked.is_empty()); + assert!(trusted.is_empty()); + assert!(allowed.is_empty()); +} + +// parity-case: LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_Allowed_ReturnsAllow::test cf095ab428713004ebac6e1915a47ae0c03bd2958addbba2a39fd2f0edf51a74 translated +#[test] +fn extract_experience_permission_allowed_returns_allow() { + let id = uuid(); + assert_eq!( + AgentManager::extract_experience_permission(map([("experiences", ids([id]))]), id).unwrap(), + "Allow" + ); +} + +// parity-case: LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_Blocked_ReturnsBlock::test af084d1ab7a11079e6251865e8fd5aecfde38d2df359ebc1e208bc74925935c0 translated +#[test] +fn extract_experience_permission_blocked_returns_block() { + let id = uuid(); + assert_eq!( + AgentManager::extract_experience_permission(map([("blocked", ids([id]))]), id).unwrap(), + "Block" + ); +} + +// parity-case: LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_NeitherList_ReturnsForget::test 93204469ecfec2f3f4eb6838c99f6e2baf09bf76a075958d1ed369ba03767158 translated +#[test] +fn extract_experience_permission_neither_list_returns_forget() { + let id = uuid(); + let input = OSDMap::new_with_dictionary(HashMap::from([ + ("experiences".into(), ids([uuid()])), + ("blocked".into(), ids([uuid()])), + ])) + .expect("OSDMap dictionary constructor"); + assert_eq!( + AgentManager::extract_experience_permission(input, id).unwrap(), + "Forget" + ); +} + +// parity-case: LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SendSimConsoleCommandAsync_IgnoresPostBody_UsesSimConsoleResponseEvent::test df6eb48241f71c34074be66869c9ae1d5980186583259568728261b5eedd7c48 translated +#[test] +fn send_sim_console_command_ignores_post_body_and_uses_response_event() { + let client = GridClient::new().expect("GridClient constructor"); + let estate = client.estate(); + let network = client.network(); + let result = block_on_with( + estate.send_sim_console_command("show name".into(), Some(Duration::from_secs(5)), None), + || { + let mut message = messages::linden::SimConsoleResponseMessage::new() + .expect("SimConsoleResponseMessage constructor"); + message.body = "Agent Name".into(); + network + .raise_sim_console_response(message, simulator()) + .unwrap(); + }, + ) + .unwrap(); + assert_eq!(result.as_deref(), Some("Agent Name")); +} + +// parity-case: LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SendSimConsoleCommandAsync_NoResponseEvent_ReturnsNullAfterTimeout::test 2ac5a6c96f3acec341056387d727288fd3661565bd2a7c385078602efe8661da translated +#[test] +fn send_sim_console_command_no_response_event_returns_none_after_timeout() { + let client = GridClient::new().expect("GridClient constructor"); + let result = block_on_with( + client.estate().send_sim_console_command( + "show name".into(), + Some(Duration::from_millis(200)), + None, + ), + || {}, + ) + .unwrap(); + assert!(result.is_none()); +} diff --git a/tests/PARITY.md b/tests/PARITY.md index ab7fdcc..ed5217a 100644 --- a/tests/PARITY.md +++ b/tests/PARITY.md @@ -5,9 +5,9 @@ Generated from LibreMetaverse `2aa70bb68513b39795da5d13c88f31b86e85a3ba`. Stable ## Status - Total: **1,289** -- Pending/unreviewed: **779** -- Translated/reviewed: **488** -- Ignored live/reviewed: **18** (19 upstream live candidates) +- Pending/unreviewed: **680** +- Translated/reviewed: **586** +- Ignored live/reviewed: **19** (19 upstream live candidates) - Benchmarks/reviewed: **4** (4 upstream benchmark candidates) - Drifted: **0** @@ -166,11 +166,11 @@ Reviewed Rust tests live outside `generated_parity.rs` and carry a `parity-case` | `LibreMetaverse.Tests/BinaryLLSDTests.cs::BinarySDTests.SerializeNestedComposite::test` | `BinarySDTests.SerializeNestedComposite` | `` | `LibreMetaverse.Tests/BinaryLLSDTests.cs:632` | `` | `` | `tests/compat/tests/structured_data.rs:587 (`binary_serialize_nested_composite`)` | `translated` | `092b52da3f0cf720595fdb84c929c8ad033c60ff978429cb1d27f9e215936b10` | | `LibreMetaverse.Tests/BinaryLLSDTests.cs::BinarySDTests.SerializeLongMessage::test` | `BinarySDTests.SerializeLongMessage` | `` | `LibreMetaverse.Tests/BinaryLLSDTests.cs:676` | `` | `` | `tests/compat/tests/structured_data.rs:598 (`binary_serialize_long_message`)` | `translated` | `b49afb91578e6c19193cd48acf161a9f8c57bbd20245783054709a509f63780e` | | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.InventoryAISClient_Null_Throws::test` | `ConstructorNullArgumentTests.InventoryAISClient_Null_Throws` | `` | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs:9` | `` | `` | `tests/compat/tests/inventory_ais_semantics.rs:120 (`inventory_ais_client_null_throws`)` | `translated` | `ac92e375efc45c50b37e6c82aea372d605fceb470ce053a025e05ff47a5c7121` | -| `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.GridManager_Null_Throws::test` | `ConstructorNullArgumentTests.GridManager_Null_Throws` | `` | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs:15` | `` | `` | `pending source translation` | `pending` | `e972a95f334b0f46948cda34c27124c28c44faf4372d0e598d7dc60050b49be4` | +| `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.GridManager_Null_Throws::test` | `ConstructorNullArgumentTests.GridManager_Null_Throws` | `` | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs:15` | `` | `` | `tests/compat/tests/world_constructor_semantics.rs:7 (`grid_manager_null_throws`)` | `translated` | `e972a95f334b0f46948cda34c27124c28c44faf4372d0e598d7dc60050b49be4` | | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.InventoryManager_Null_Throws::test` | `ConstructorNullArgumentTests.InventoryManager_Null_Throws` | `` | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs:21` | `` | `` | `tests/compat/tests/inventory_manager_semantics.rs:16 (`inventory_manager_null_throws`)` | `translated` | `5e7498066c944800354abbc71eea825fe90d0c40a25a6065967a3ebcc9efea74` | | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.AppearanceManager_Null_Throws::test` | `ConstructorNullArgumentTests.AppearanceManager_Null_Throws` | `` | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs:27` | `` | `` | `pending source translation` | `pending` | `a3c872805bc924b5a1a9441d5c9eb61ed6d6e9477e4bb411131359290b144ab4` | -| `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.ObjectManager_Null_Throws::test` | `ConstructorNullArgumentTests.ObjectManager_Null_Throws` | `` | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs:33` | `` | `` | `pending source translation` | `pending` | `8a11feba0edfb35e5dd99f681182e8f5a5cf8a3f738211b45a683a8a2ad45ddb` | -| `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.AgentManager_Null_Throws::test` | `ConstructorNullArgumentTests.AgentManager_Null_Throws` | `` | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs:39` | `` | `` | `pending source translation` | `pending` | `d86e41b6cdd03063685aa330c31b9a274c1d400b9a461abf3065fe185fe0bbf0` | +| `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.ObjectManager_Null_Throws::test` | `ConstructorNullArgumentTests.ObjectManager_Null_Throws` | `` | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs:33` | `` | `` | `tests/compat/tests/world_constructor_semantics.rs:13 (`object_manager_null_throws`)` | `translated` | `8a11feba0edfb35e5dd99f681182e8f5a5cf8a3f738211b45a683a8a2ad45ddb` | +| `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.AgentManager_Null_Throws::test` | `ConstructorNullArgumentTests.AgentManager_Null_Throws` | `` | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs:39` | `` | `` | `tests/compat/tests/world_constructor_semantics.rs:19 (`agent_manager_null_throws`)` | `translated` | `d86e41b6cdd03063685aa330c31b9a274c1d400b9a461abf3065fe185fe0bbf0` | | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.AvatarManager_Null_Throws::test` | `ConstructorNullArgumentTests.AvatarManager_Null_Throws` | `` | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs:45` | `` | `` | `pending source translation` | `pending` | `54f23cbf0ba87b0525c2914e78d75808e93fd1c460fc0bec4d15f09575b1431c` | | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.AssetManager_Null_Throws::test` | `ConstructorNullArgumentTests.AssetManager_Null_Throws` | `` | `LibreMetaverse.Tests/ConstructorNullArgumentTests.cs:51` | `` | `` | `tests/compat/tests/asset_capability_semantics.rs:821 (`asset_manager_none_client_is_argument_null`)` | `translated` | `4fa1be8b233dacf6a5955359f2197ff77ae85ffbf2c3c68fcd8cbe672c2c5f91` | | `LibreMetaverse.Tests/CurrentOutfitFolderTests.cs::CurrentOutfitFolderTests.Constructor_WithNullClient_ThrowsArgumentNullException::test` | `CurrentOutfitFolderTests.Constructor_WithNullClient_ThrowsArgumentNullException` | `` | `LibreMetaverse.Tests/CurrentOutfitFolderTests.cs:60` | `` | `` | `tests/compat/tests/current_outfit_folder_semantics.rs:22 (`constructor_with_null_client_throws_argument_null_exception`)` | `translated` | `243079029ec81f92ffbc587007a2421389963f72c7843786c5b9a8634a7ddca3` | @@ -217,25 +217,25 @@ Reviewed Rust tests live outside `generated_parity.rs` and carry a `parity-case` | `LibreMetaverse.Tests/DownloadManagerTests.cs::DownloadManagerTests.QueueDownloadAsync_SingleDownload_CompletesSuccessfully::test` | `DownloadManagerTests.QueueDownloadAsync_SingleDownload_CompletesSuccessfully` | `` | `LibreMetaverse.Tests/DownloadManagerTests.cs:46` | `` | `` | `tests/compat/tests/network_semantics.rs:165 (`queue_download_single_completes_successfully`)` | `translated` | `f8feb54d38f79624ddf1d368e0599259ff9d474c08ea0249a8f244460a1f533f` | | `LibreMetaverse.Tests/DownloadManagerTests.cs::DownloadManagerTests.QueueDownloadAsync_DeduplicatesRequests_SameUri_OneHttpCall::test` | `DownloadManagerTests.QueueDownloadAsync_DeduplicatesRequests_SameUri_OneHttpCall` | `` | `LibreMetaverse.Tests/DownloadManagerTests.cs:70` | `` | `` | `tests/compat/tests/network_semantics.rs:202 (`queue_download_deduplicates_same_uri`)` | `translated` | `dc3ffee1f6171833a8364750cfac2c6d3bfa812b404129e0425066ea212f2337` | | `LibreMetaverse.Tests/DownloadManagerTests.cs::DownloadManagerTests.QueueDownloadAsync_Cancellation_PropagatesToTask::test` | `DownloadManagerTests.QueueDownloadAsync_Cancellation_PropagatesToTask` | `` | `LibreMetaverse.Tests/DownloadManagerTests.cs:101` | `` | `` | `tests/compat/tests/network_semantics.rs:248 (`queue_download_cancellation_propagates`)` | `translated` | `9eb3791b1def609d6f45be0fff8ae67ea04332045c0c419c6c2e7d118aeb6271` | -| `LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.GetParcelEnvironment_UsesParcelidQueryParameter::test` | `EnvironmentManagerTests.GetParcelEnvironment_UsesParcelidQueryParameter` | `` | `LibreMetaverse.Tests/EnvironmentManagerTests.cs:105` | `Environment` | `` | `pending source translation` | `pending` | `5c2f2b0fa2a86955975c621b2415a92ff3da283215e669956e14bf5ee2a4c1f4` | -| `LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.SetParcelEnvironment_SendsParcelidInQueryStringNotBody::test` | `EnvironmentManagerTests.SetParcelEnvironment_SendsParcelidInQueryStringNotBody` | `` | `LibreMetaverse.Tests/EnvironmentManagerTests.cs:128` | `Environment` | `` | `pending source translation` | `pending` | `f633e2d78e4c6a0fff42917ccfe8de68e4f6133a11e7eef7f9b757c3d1622f0f` | -| `LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.SetRegionEnvironment_OmitsQueryStringEntirely::test` | `EnvironmentManagerTests.SetRegionEnvironment_OmitsQueryStringEntirely` | `` | `LibreMetaverse.Tests/EnvironmentManagerTests.cs:158` | `Environment` | `` | `pending source translation` | `pending` | `bade6e06765506ad7e500ac3e5c9f168605ce25fef86647819d285a68b39f109` | -| `LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.ResetParcelEnvironment_SendsHttpDeleteNotPost::test` | `EnvironmentManagerTests.ResetParcelEnvironment_SendsHttpDeleteNotPost` | `` | `LibreMetaverse.Tests/EnvironmentManagerTests.cs:180` | `Environment` | `` | `pending source translation` | `pending` | `4360439192c137f5d7a2ceb83b8664f3917b4b261798050cb855d596f483f082` | -| `LibreMetaverse.Tests/EstateExperienceReplyTests.cs::EstateExperienceReplyTests.SetExperience_ParsesBlockedTrustedAndAllowedLists::test` | `EstateExperienceReplyTests.SetExperience_ParsesBlockedTrustedAndAllowedLists` | `` | `LibreMetaverse.Tests/EstateExperienceReplyTests.cs:47` | `Estate` | `` | `pending source translation` | `pending` | `49a77aa9d7c5bf1232082a08594e7ebcfafad11ab110c9e15d2ad4ea1831c649` | -| `LibreMetaverse.Tests/EstateExperienceReplyTests.cs::EstateExperienceReplyTests.SetExperience_AllEmptyLists_ProducesEmptyResult::test` | `EstateExperienceReplyTests.SetExperience_AllEmptyLists_ProducesEmptyResult` | `` | `LibreMetaverse.Tests/EstateExperienceReplyTests.cs:97` | `Estate` | `` | `pending source translation` | `pending` | `711eaebb11f5d7ece92946d3de240a341a4b1fd8f30617fd97cb059d0dc6a0b9` | -| `LibreMetaverse.Tests/EstateToolsTests.cs::EstateToolsTests.RequestConvenant::test` | `EstateToolsTests.RequestConvenant` | `` | `LibreMetaverse.Tests/EstateToolsTests.cs:116` | `EstateTools, RequiresLiveServer` | `` | `pending source translation` | `pending` | `d8d752dd6e53477e4c66bcb5d0e3ec1021a9b3ceda1f689f59b5e606e1713729` | -| `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_ReadsExperienceIdsKey::test` | `ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_ReadsExperienceIdsKey` | `` | `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs:47` | `Experience` | `` | `pending source translation` | `pending` | `aa1f7d09f6c79118ea2e60621d57bd63632085ce81bc979e42294aca53d4f0d9` | -| `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_IgnoresLegacyExperienceKeysKey::test` | `ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_IgnoresLegacyExperienceKeysKey` | `` | `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs:59` | `Experience` | `` | `pending source translation` | `pending` | `cd1d372b9a976c04dee11da1ade182e4f9239e1f7633e788347c6d5f255835ec` | -| `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Serialize_WritesExperienceIdsKey::test` | `ExperienceListAndRegionMessageTests.ExperienceListMessage_Serialize_WritesExperienceIdsKey` | `` | `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs:70` | `Experience` | `` | `pending source translation` | `pending` | `3fa4cb5d598940f693285bcc64179a4dea927a3643a76a061a933a265488d4be` | -| `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_ReadsBlockedTrustedAllowedAndDefault::test` | `ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_ReadsBlockedTrustedAllowedAndDefault` | `` | `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs:82` | `Experience` | `` | `pending source translation` | `pending` | `61df3b0c60d32b6c9bb843eb7a1a11fe8c0b1fd59c7a09853ad1b0e1d93cd4fd` | -| `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_IgnoresLegacyContribKey::test` | `ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_IgnoresLegacyContribKey` | `` | `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs:107` | `Experience` | `` | `pending source translation` | `pending` | `851d037919003ebb414105e57bf37f73ba37dff8f733c36183c447f1349f3316` | -| `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Serialize_WritesAllowedKeyNotContrib::test` | `ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Serialize_WritesAllowedKeyNotContrib` | `` | `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs:123` | `Experience` | `` | `pending source translation` | `pending` | `53c3a7d6a200816615a9efaa222ccf294e3a8334d320812c6ec56a0a3e7e05bb` | -| `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Deserialize_ReadsAllowedListFromExperiencesKey::test` | `ExperiencePreferencesMessageTests.Deserialize_ReadsAllowedListFromExperiencesKey` | `` | `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs:44` | `Experience` | `` | `pending source translation` | `pending` | `9bab78dbe142a3da6ad21a278f25d7da90776fce3861c7d602203c1e1842c9af` | -| `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Deserialize_IgnoresLegacyAllowedKey::test` | `ExperiencePreferencesMessageTests.Deserialize_IgnoresLegacyAllowedKey` | `` | `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs:63` | `Experience` | `` | `pending source translation` | `pending` | `ec6d5e7c81214ea4e3d99740fdd33961578f895a90a42082067ca9819d93d2b0` | -| `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Serialize_WritesAllowedListUnderExperiencesKey::test` | `ExperiencePreferencesMessageTests.Serialize_WritesAllowedListUnderExperiencesKey` | `` | `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs:80` | `Experience` | `` | `pending source translation` | `pending` | `45a0bffe39ab7bf0734ec5fce4435dbdda7ae94cf4e933210669e91dc45b1baf` | -| `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_Allowed_ReturnsAllow::test` | `ExperiencePreferencesMessageTests.ExtractExperiencePermission_Allowed_ReturnsAllow` | `` | `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs:92` | `Experience` | `` | `pending source translation` | `pending` | `cf095ab428713004ebac6e1915a47ae0c03bd2958addbba2a39fd2f0edf51a74` | -| `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_Blocked_ReturnsBlock::test` | `ExperiencePreferencesMessageTests.ExtractExperiencePermission_Blocked_ReturnsBlock` | `` | `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs:101` | `Experience` | `` | `pending source translation` | `pending` | `af084d1ab7a11079e6251865e8fd5aecfde38d2df359ebc1e208bc74925935c0` | -| `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_NeitherList_ReturnsForget::test` | `ExperiencePreferencesMessageTests.ExtractExperiencePermission_NeitherList_ReturnsForget` | `` | `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs:110` | `Experience` | `` | `pending source translation` | `pending` | `93204469ecfec2f3f4eb6838c99f6e2baf09bf76a075958d1ed369ba03767158` | +| `LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.GetParcelEnvironment_UsesParcelidQueryParameter::test` | `EnvironmentManagerTests.GetParcelEnvironment_UsesParcelidQueryParameter` | `` | `LibreMetaverse.Tests/EnvironmentManagerTests.cs:105` | `Environment` | `` | `tests/compat/tests/world_capability_semantics.rs:97 (`get_parcel_environment_uses_parcelid_query_parameter`)` | `translated` | `5c2f2b0fa2a86955975c621b2415a92ff3da283215e669956e14bf5ee2a4c1f4` | +| `LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.SetParcelEnvironment_SendsParcelidInQueryStringNotBody::test` | `EnvironmentManagerTests.SetParcelEnvironment_SendsParcelidInQueryStringNotBody` | `` | `LibreMetaverse.Tests/EnvironmentManagerTests.cs:128` | `Environment` | `` | `tests/compat/tests/world_capability_semantics.rs:116 (`set_parcel_environment_sends_parcelid_in_query_not_body`)` | `translated` | `f633e2d78e4c6a0fff42917ccfe8de68e4f6133a11e7eef7f9b757c3d1622f0f` | +| `LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.SetRegionEnvironment_OmitsQueryStringEntirely::test` | `EnvironmentManagerTests.SetRegionEnvironment_OmitsQueryStringEntirely` | `` | `LibreMetaverse.Tests/EnvironmentManagerTests.cs:158` | `Environment` | `` | `tests/compat/tests/world_capability_semantics.rs:153 (`set_region_environment_omits_query_string_entirely`)` | `translated` | `bade6e06765506ad7e500ac3e5c9f168605ce25fef86647819d285a68b39f109` | +| `LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.ResetParcelEnvironment_SendsHttpDeleteNotPost::test` | `EnvironmentManagerTests.ResetParcelEnvironment_SendsHttpDeleteNotPost` | `` | `LibreMetaverse.Tests/EnvironmentManagerTests.cs:180` | `Environment` | `` | `tests/compat/tests/world_capability_semantics.rs:177 (`reset_parcel_environment_sends_delete_not_post`)` | `translated` | `4360439192c137f5d7a2ceb83b8664f3917b4b261798050cb855d596f483f082` | +| `LibreMetaverse.Tests/EstateExperienceReplyTests.cs::EstateExperienceReplyTests.SetExperience_ParsesBlockedTrustedAndAllowedLists::test` | `EstateExperienceReplyTests.SetExperience_ParsesBlockedTrustedAndAllowedLists` | `` | `LibreMetaverse.Tests/EstateExperienceReplyTests.cs:47` | `Estate` | `` | `crates/libremetaverse/src/world_internal_semantics.rs:103 (`set_experience_parses_blocked_trusted_and_allowed_lists`)` | `translated` | `49a77aa9d7c5bf1232082a08594e7ebcfafad11ab110c9e15d2ad4ea1831c649` | +| `LibreMetaverse.Tests/EstateExperienceReplyTests.cs::EstateExperienceReplyTests.SetExperience_AllEmptyLists_ProducesEmptyResult::test` | `EstateExperienceReplyTests.SetExperience_AllEmptyLists_ProducesEmptyResult` | `` | `LibreMetaverse.Tests/EstateExperienceReplyTests.cs:97` | `Estate` | `` | `crates/libremetaverse/src/world_internal_semantics.rs:127 (`set_experience_all_empty_lists_produces_empty_result`)` | `translated` | `711eaebb11f5d7ece92946d3de240a341a4b1fd8f30617fd97cb059d0dc6a0b9` | +| `LibreMetaverse.Tests/EstateToolsTests.cs::EstateToolsTests.RequestConvenant::test` | `EstateToolsTests.RequestConvenant` | `` | `LibreMetaverse.Tests/EstateToolsTests.cs:116` | `EstateTools, RequiresLiveServer` | `` | `tests/compat/tests/world_live_semantics.rs:59 (`request_covenant`)` | `ignored-live` | `d8d752dd6e53477e4c66bcb5d0e3ec1021a9b3ceda1f689f59b5e606e1713729` | +| `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_ReadsExperienceIdsKey::test` | `ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_ReadsExperienceIdsKey` | `` | `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs:47` | `Experience` | `` | `tests/compat/tests/world_message_semantics.rs:30 (`experience_list_deserialize_reads_experience_ids_key`)` | `translated` | `aa1f7d09f6c79118ea2e60621d57bd63632085ce81bc979e42294aca53d4f0d9` | +| `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_IgnoresLegacyExperienceKeysKey::test` | `ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_IgnoresLegacyExperienceKeysKey` | `` | `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs:59` | `Experience` | `` | `tests/compat/tests/world_message_semantics.rs:41 (`experience_list_deserialize_ignores_legacy_experience_keys_key`)` | `translated` | `cd1d372b9a976c04dee11da1ade182e4f9239e1f7633e788347c6d5f255835ec` | +| `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Serialize_WritesExperienceIdsKey::test` | `ExperienceListAndRegionMessageTests.ExperienceListMessage_Serialize_WritesExperienceIdsKey` | `` | `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs:70` | `Experience` | `` | `tests/compat/tests/world_message_semantics.rs:51 (`experience_list_serialize_writes_experience_ids_key`)` | `translated` | `3fa4cb5d598940f693285bcc64179a4dea927a3643a76a061a933a265488d4be` | +| `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_ReadsBlockedTrustedAllowedAndDefault::test` | `ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_ReadsBlockedTrustedAllowedAndDefault` | `` | `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs:82` | `Experience` | `` | `tests/compat/tests/world_message_semantics.rs:61 (`region_experiences_deserialize_reads_all_lists_and_default`)` | `translated` | `61df3b0c60d32b6c9bb843eb7a1a11fe8c0b1fd59c7a09853ad1b0e1d93cd4fd` | +| `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_IgnoresLegacyContribKey::test` | `ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_IgnoresLegacyContribKey` | `` | `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs:107` | `Experience` | `` | `tests/compat/tests/world_message_semantics.rs:84 (`region_experiences_deserialize_ignores_legacy_contrib_key`)` | `translated` | `851d037919003ebb414105e57bf37f73ba37dff8f733c36183c447f1349f3316` | +| `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Serialize_WritesAllowedKeyNotContrib::test` | `ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Serialize_WritesAllowedKeyNotContrib` | `` | `LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs:123` | `Experience` | `` | `tests/compat/tests/world_message_semantics.rs:99 (`region_experiences_serialize_writes_allowed_not_contrib`)` | `translated` | `53c3a7d6a200816615a9efaa222ccf294e3a8334d320812c6ec56a0a3e7e05bb` | +| `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Deserialize_ReadsAllowedListFromExperiencesKey::test` | `ExperiencePreferencesMessageTests.Deserialize_ReadsAllowedListFromExperiencesKey` | `` | `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs:44` | `Experience` | `` | `tests/compat/tests/world_message_semantics.rs:110 (`experience_preferences_deserialize_reads_experiences_and_blocked`)` | `translated` | `9bab78dbe142a3da6ad21a278f25d7da90776fce3861c7d602203c1e1842c9af` | +| `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Deserialize_IgnoresLegacyAllowedKey::test` | `ExperiencePreferencesMessageTests.Deserialize_IgnoresLegacyAllowedKey` | `` | `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs:63` | `Experience` | `` | `tests/compat/tests/world_message_semantics.rs:127 (`experience_preferences_deserialize_ignores_legacy_allowed_key`)` | `translated` | `ec6d5e7c81214ea4e3d99740fdd33961578f895a90a42082067ca9819d93d2b0` | +| `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Serialize_WritesAllowedListUnderExperiencesKey::test` | `ExperiencePreferencesMessageTests.Serialize_WritesAllowedListUnderExperiencesKey` | `` | `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs:80` | `Experience` | `` | `tests/compat/tests/world_message_semantics.rs:141 (`experience_preferences_serialize_writes_experiences_not_allowed`)` | `translated` | `45a0bffe39ab7bf0734ec5fce4435dbdda7ae94cf4e933210669e91dc45b1baf` | +| `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_Allowed_ReturnsAllow::test` | `ExperiencePreferencesMessageTests.ExtractExperiencePermission_Allowed_ReturnsAllow` | `` | `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs:92` | `Experience` | `` | `crates/libremetaverse/src/world_internal_semantics.rs:147 (`extract_experience_permission_allowed_returns_allow`)` | `translated` | `cf095ab428713004ebac6e1915a47ae0c03bd2958addbba2a39fd2f0edf51a74` | +| `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_Blocked_ReturnsBlock::test` | `ExperiencePreferencesMessageTests.ExtractExperiencePermission_Blocked_ReturnsBlock` | `` | `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs:101` | `Experience` | `` | `crates/libremetaverse/src/world_internal_semantics.rs:157 (`extract_experience_permission_blocked_returns_block`)` | `translated` | `af084d1ab7a11079e6251865e8fd5aecfde38d2df359ebc1e208bc74925935c0` | +| `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_NeitherList_ReturnsForget::test` | `ExperiencePreferencesMessageTests.ExtractExperiencePermission_NeitherList_ReturnsForget` | `` | `LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs:110` | `Experience` | `` | `crates/libremetaverse/src/world_internal_semantics.rs:167 (`extract_experience_permission_neither_list_returns_forget`)` | `translated` | `93204469ecfec2f3f4eb6838c99f6e2baf09bf76a075958d1ed369ba03767158` | | `LibreMetaverse.Tests/GLTFMaterialOverrideCapTests.cs::GLTFMaterialOverrideCapTests.SetMaterialOverrideAsync_HappyPath_PostsBareArrayWithGltfJson::test` | `GLTFMaterialOverrideCapTests.SetMaterialOverrideAsync_HappyPath_PostsBareArrayWithGltfJson` | `` | `LibreMetaverse.Tests/GLTFMaterialOverrideCapTests.cs:64` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:179 (`set_material_override_posts_bare_array_with_gltf_json`)` | `translated` | `0c51b7b793111f5433e52057f26fa5a98d983e7230fefeb61a7b3408e97f28ee` | | `LibreMetaverse.Tests/GLTFMaterialOverrideCapTests.cs::GLTFMaterialOverrideCapTests.ClearMaterialOverrideAsync_SendsEmptyGltfJson::test` | `GLTFMaterialOverrideCapTests.ClearMaterialOverrideAsync_SendsEmptyGltfJson` | `` | `LibreMetaverse.Tests/GLTFMaterialOverrideCapTests.cs:86` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:215 (`clear_material_override_sends_empty_gltf_json`)` | `translated` | `8394d063ea71447d9ce2b76fd00be1d10967f9193e1eb909c5b9f2da56eec812` | | `LibreMetaverse.Tests/GLTFMaterialOverrideCapTests.cs::GLTFMaterialOverrideCapTests.ApplyMaterialAsync_WithoutOverride_SendsAssetIdOnly::test` | `GLTFMaterialOverrideCapTests.ApplyMaterialAsync_WithoutOverride_SendsAssetIdOnly` | `` | `LibreMetaverse.Tests/GLTFMaterialOverrideCapTests.cs:100` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:237 (`apply_material_without_override_sends_asset_id_only`)` | `translated` | `1db03ab6710ecf532644398d1fef5e82520e1206058d66fb15c8885fdc8f8363` | @@ -469,22 +469,22 @@ Reviewed Rust tests live outside `generated_parity.rs` and carry a `parity-case` | `LibreMetaverse.Tests/PacketTests.cs::PacketTests.ToBytesMultiple::test` | `PacketTests.ToBytesMultiple` | `` | `LibreMetaverse.Tests/PacketTests.cs:108` | `` | `` | `tests/compat/tests/wire_semantics.rs:329 (`packet_to_bytes_multiple`)` | `translated` | `0e0f06d2317de91147bab1e623bed35ee03015da1498a9b9837c91c144bf7da5` | | `LibreMetaverse.Tests/PositionHelperTests.cs::PositionHelperTests.ToGlobalAndLocalPosition_RoundTrip::test` | `PositionHelperTests.ToGlobalAndLocalPosition_RoundTrip` | `` | `LibreMetaverse.Tests/PositionHelperTests.cs:9` | `Utilities` | `` | `tests/compat/tests/types_utilities.rs:550 (`to_global_and_local_position_round_trip`)` | `translated` | `695c6a640e5353e02def9a1b4a1c1eabb37a8543c13466dff570f58d847e7772` | | `LibreMetaverse.Tests/PositionHelperTests.cs::PositionHelperTests.FormatCoordinates_FormatsCorrectly::test` | `PositionHelperTests.FormatCoordinates_FormatsCorrectly` | `` | `LibreMetaverse.Tests/PositionHelperTests.cs:29` | `Utilities` | `` | `tests/compat/tests/types_utilities.rs:568 (`format_coordinates_formats_correctly`)` | `translated` | `fe4256d00dab5cc2de602b7b27442cac627a5956c4ce79c05d92de830f6fc5d2` | -| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathBegin::test` | `PrimObjectTests.PathBegin` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:36` | `` | `` | `pending source translation` | `pending` | `5c8e14e1d08a91a4e7c3e252c932b8fe15cf6b5231cc9fe5bb7ef2ae6e2c8299` | -| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathEnd::test` | `PrimObjectTests.PathEnd` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:49` | `` | `` | `pending source translation` | `pending` | `693bfe29f448e433705d65b8b6907f1b270fd636f914e18b76d7a0047dbea506` | -| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathRevolutions::test` | `PrimObjectTests.PathRevolutions` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:62` | `` | `` | `pending source translation` | `pending` | `c3f61c80a204e608976cb44a0c10b9651496074c25f254eec8621db65dbbbe37` | -| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathScale::test` | `PrimObjectTests.PathScale` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:75` | `` | `` | `pending source translation` | `pending` | `b92e4ab375fcc788dea701d8579268f39b4f3b1d51d4eed91458547350405d61` | -| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathTaper::test` | `PrimObjectTests.PathTaper` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:101` | `` | `` | `pending source translation` | `pending` | `93a0adbc0630de3c9fbea6f8080d74ef6e3180e3813f00460bce5d52ef2f12b7` | -| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntryOffsets::test` | `PrimObjectTests.TextureEntryOffsets` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:114` | `` | `` | `pending source translation` | `pending` | `720ea1a9477d333b14786bc14e9abca24858e63acae94f4c6055d81f14ff033a` | -| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry::test` | `PrimObjectTests.TextureEntry` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:130` | `` | `` | `pending source translation` | `pending` | `0670a9a8dcc4001e726df699ef8001604956b6674028a192502b92b725858990` | -| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_DefaultFace_Roundtrips::test` | `PrimObjectTests.TextureEntry_RenderMaterialID_DefaultFace_Roundtrips` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:162` | `` | `` | `pending source translation` | `pending` | `8db56b448e53e6bec5540a5a4721dc75f85a933c6c89e166f7df7baf8e44aab3` | -| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_PerFace_Roundtrips::test` | `PrimObjectTests.TextureEntry_RenderMaterialID_PerFace_Roundtrips` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:176` | `` | `` | `pending source translation` | `pending` | `2897366ecaa41f07b4db6ebf3e80a7ebe56480f1c44f31cedea2d88a62214dc6` | -| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_MultipleFaces_Roundtrips::test` | `PrimObjectTests.TextureEntry_RenderMaterialID_MultipleFaces_Roundtrips` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:195` | `` | `` | `pending source translation` | `pending` | `f3d8c103e4b3d43a8e3bea1356ba13808633fdb2ea06583234551f9059b2a241` | -| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_InheritsFromDefault_WhenNotOverridden::test` | `PrimObjectTests.TextureEntry_RenderMaterialID_InheritsFromDefault_WhenNotOverridden` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:216` | `` | `` | `pending source translation` | `pending` | `2313a0134836651e23c693505c3c000ad7ff24956b432d0761a5e8b77cb01642` | -| `LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.GetOSD_FromOSD_Roundtrip_Minimal::test` | `PrimitiveTests.GetOSD_FromOSD_Roundtrip_Minimal` | `` | `LibreMetaverse.Tests/PrimitiveTests.cs:9` | `` | `` | `pending source translation` | `pending` | `5e81b8a195f3e59bfe9e3ebf50c3291f7cbcd49f567ede7c1c8b726e0c6c9c19` | -| `LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.GetOSD_FromOSD_Roundtrip_Extras::test` | `PrimitiveTests.GetOSD_FromOSD_Roundtrip_Extras` | `` | `LibreMetaverse.Tests/PrimitiveTests.cs:71` | `` | `` | `pending source translation` | `pending` | `63bae8bddacab170aec00c6d7a219f96fa794f489190b34cb426bbf9a3672af5` | -| `LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_MissingVolume_DoesNotThrow_AndUsesDefaults::test` | `PrimitiveTests.FromOSD_MissingVolume_DoesNotThrow_AndUsesDefaults` | `` | `LibreMetaverse.Tests/PrimitiveTests.cs:133` | `` | `` | `pending source translation` | `pending` | `03f9369aab6f6a71ee13982a7b6ba9780f86bcb5b6f081f9550f491b692f711c` | -| `LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_WrongTypes_ForTransforms_AreIgnored::test` | `PrimitiveTests.FromOSD_WrongTypes_ForTransforms_AreIgnored` | `` | `LibreMetaverse.Tests/PrimitiveTests.cs:156` | `` | `` | `pending source translation` | `pending` | `a23d4b1ab6d24c11c96862bc18ba57fccf1a8a1d690c90c5e8da3092973220f7` | -| `LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_PartialProfile_UsesDefaultsForMissingFields::test` | `PrimitiveTests.FromOSD_PartialProfile_UsesDefaultsForMissingFields` | `` | `LibreMetaverse.Tests/PrimitiveTests.cs:173` | `` | `` | `pending source translation` | `pending` | `f3a3e506e3ef417f6323875db82179a4ffbdc1d4ee383417f2b0bd5afd0d0dba` | +| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathBegin::test` | `PrimObjectTests.PathBegin` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:36` | `` | `` | `tests/compat/tests/world_object_semantics.rs:49 (`path_begin`)` | `translated` | `5c8e14e1d08a91a4e7c3e252c932b8fe15cf6b5231cc9fe5bb7ef2ae6e2c8299` | +| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathEnd::test` | `PrimObjectTests.PathEnd` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:49` | `` | `` | `tests/compat/tests/world_object_semantics.rs:62 (`path_end`)` | `translated` | `693bfe29f448e433705d65b8b6907f1b270fd636f914e18b76d7a0047dbea506` | +| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathRevolutions::test` | `PrimObjectTests.PathRevolutions` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:62` | `` | `` | `tests/compat/tests/world_object_semantics.rs:75 (`path_revolutions`)` | `translated` | `c3f61c80a204e608976cb44a0c10b9651496074c25f254eec8621db65dbbbe37` | +| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathScale::test` | `PrimObjectTests.PathScale` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:75` | `` | `` | `tests/compat/tests/world_object_semantics.rs:88 (`path_scale`)` | `translated` | `b92e4ab375fcc788dea701d8579268f39b4f3b1d51d4eed91458547350405d61` | +| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathTaper::test` | `PrimObjectTests.PathTaper` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:101` | `` | `` | `tests/compat/tests/world_object_semantics.rs:101 (`path_taper`)` | `translated` | `93a0adbc0630de3c9fbea6f8080d74ef6e3180e3813f00460bce5d52ef2f12b7` | +| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntryOffsets::test` | `PrimObjectTests.TextureEntryOffsets` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:114` | `` | `` | `tests/compat/tests/world_object_semantics.rs:114 (`texture_entry_offsets`)` | `translated` | `720ea1a9477d333b14786bc14e9abca24858e63acae94f4c6055d81f14ff033a` | +| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry::test` | `PrimObjectTests.TextureEntry` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:130` | `` | `` | `tests/compat/tests/world_object_semantics.rs:131 (`texture_entry`)` | `translated` | `0670a9a8dcc4001e726df699ef8001604956b6674028a192502b92b725858990` | +| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_DefaultFace_Roundtrips::test` | `PrimObjectTests.TextureEntry_RenderMaterialID_DefaultFace_Roundtrips` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:162` | `` | `` | `tests/compat/tests/world_object_semantics.rs:164 (`render_material_id_default_face_round_trips`)` | `translated` | `8db56b448e53e6bec5540a5a4721dc75f85a933c6c89e166f7df7baf8e44aab3` | +| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_PerFace_Roundtrips::test` | `PrimObjectTests.TextureEntry_RenderMaterialID_PerFace_Roundtrips` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:176` | `` | `` | `tests/compat/tests/world_object_semantics.rs:184 (`render_material_id_per_face_round_trips`)` | `translated` | `2897366ecaa41f07b4db6ebf3e80a7ebe56480f1c44f31cedea2d88a62214dc6` | +| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_MultipleFaces_Roundtrips::test` | `PrimObjectTests.TextureEntry_RenderMaterialID_MultipleFaces_Roundtrips` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:195` | `` | `` | `tests/compat/tests/world_object_semantics.rs:205 (`render_material_id_multiple_faces_round_trip`)` | `translated` | `f3d8c103e4b3d43a8e3bea1356ba13808633fdb2ea06583234551f9059b2a241` | +| `LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_InheritsFromDefault_WhenNotOverridden::test` | `PrimObjectTests.TextureEntry_RenderMaterialID_InheritsFromDefault_WhenNotOverridden` | `` | `LibreMetaverse.Tests/PrimObjectTests.cs:216` | `` | `` | `tests/compat/tests/world_object_semantics.rs:232 (`render_material_id_inherits_from_default_when_not_overridden`)` | `translated` | `2313a0134836651e23c693505c3c000ad7ff24956b432d0761a5e8b77cb01642` | +| `LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.GetOSD_FromOSD_Roundtrip_Minimal::test` | `PrimitiveTests.GetOSD_FromOSD_Roundtrip_Minimal` | `` | `LibreMetaverse.Tests/PrimitiveTests.cs:9` | `` | `` | `tests/compat/tests/world_object_semantics.rs:384 (`primitive_osd_round_trip_minimal`)` | `translated` | `5e81b8a195f3e59bfe9e3ebf50c3291f7cbcd49f567ede7c1c8b726e0c6c9c19` | +| `LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.GetOSD_FromOSD_Roundtrip_Extras::test` | `PrimitiveTests.GetOSD_FromOSD_Roundtrip_Extras` | `` | `LibreMetaverse.Tests/PrimitiveTests.cs:71` | `` | `` | `tests/compat/tests/world_object_semantics.rs:477 (`primitive_osd_round_trip_extras`)` | `translated` | `63bae8bddacab170aec00c6d7a219f96fa794f489190b34cb426bbf9a3672af5` | +| `LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_MissingVolume_DoesNotThrow_AndUsesDefaults::test` | `PrimitiveTests.FromOSD_MissingVolume_DoesNotThrow_AndUsesDefaults` | `` | `LibreMetaverse.Tests/PrimitiveTests.cs:133` | `` | `` | `tests/compat/tests/world_object_semantics.rs:578 (`primitive_from_osd_missing_volume_uses_defaults`)` | `translated` | `03f9369aab6f6a71ee13982a7b6ba9780f86bcb5b6f081f9550f491b692f711c` | +| `LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_WrongTypes_ForTransforms_AreIgnored::test` | `PrimitiveTests.FromOSD_WrongTypes_ForTransforms_AreIgnored` | `` | `LibreMetaverse.Tests/PrimitiveTests.cs:156` | `` | `` | `tests/compat/tests/world_object_semantics.rs:599 (`primitive_from_osd_wrong_transform_types_are_ignored`)` | `translated` | `a23d4b1ab6d24c11c96862bc18ba57fccf1a8a1d690c90c5e8da3092973220f7` | +| `LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_PartialProfile_UsesDefaultsForMissingFields::test` | `PrimitiveTests.FromOSD_PartialProfile_UsesDefaultsForMissingFields` | `` | `LibreMetaverse.Tests/PrimitiveTests.cs:173` | `` | `` | `tests/compat/tests/world_object_semantics.rs:635 (`primitive_from_osd_partial_profile_uses_defaults`)` | `translated` | `f3a3e506e3ef417f6323875db82179a4ffbdc1d4ee383417f2b0bd5afd0d0dba` | | `LibreMetaverse.Tests/ProductInfoRequestMessageTests.cs::ProductInfoRequestMessageTests.Deserialize_BareArray_ReadsSkuNameDescription::test` | `ProductInfoRequestMessageTests.Deserialize_BareArray_ReadsSkuNameDescription` | `` | `LibreMetaverse.Tests/ProductInfoRequestMessageTests.cs:45` | `ProductInfo` | `` | `pending source translation` | `pending` | `5d51fdbb1bec1ff74df59778d214413e78fb650679d36e7c44be92d1b2e3205f` | | `LibreMetaverse.Tests/ProductInfoRequestMessageTests.cs::ProductInfoRequestMessageTests.SerializeDeserialize_RoundTrips::test` | `ProductInfoRequestMessageTests.SerializeDeserialize_RoundTrips` | `` | `LibreMetaverse.Tests/ProductInfoRequestMessageTests.cs:68` | `ProductInfo` | `` | `pending source translation` | `pending` | `5cb54bed4150cf13f815b223d6b7e35e7427004a12e98c7328c7674b6fe6309b` | | `LibreMetaverse.Tests/ProtobufTests.cs::ProtobufTests.SerializeBoolean::test` | `ProtobufTests.SerializeBoolean` | `` | `LibreMetaverse.Tests/ProtobufTests.cs:36` | `` | `` | `tests/compat/tests/structured_data.rs:1158 (`protobuf_serialize_boolean`)` | `translated` | `06d71d5ad54dab8236458e6cf3c9893728d4a13c348441822f674164a285150b` | @@ -499,10 +499,10 @@ Reviewed Rust tests live outside `generated_parity.rs` and carry a `parity-case` | `LibreMetaverse.Tests/ProtobufTests.cs::ProtobufTests.SerializeBinary::test` | `ProtobufTests.SerializeBinary` | `` | `LibreMetaverse.Tests/ProtobufTests.cs:203` | `` | `` | `tests/compat/tests/structured_data.rs:1298 (`protobuf_serialize_binary`)` | `translated` | `f5b3aa5e551371f05d90f20f5552844c71e9abb337d33ed178e72297e5d7435d` | | `LibreMetaverse.Tests/ProtobufTests.cs::ProtobufTests.SerializeDate::test` | `ProtobufTests.SerializeDate` | `` | `LibreMetaverse.Tests/ProtobufTests.cs:214` | `` | `` | `tests/compat/tests/structured_data.rs:1309 (`protobuf_serialize_date`)` | `translated` | `2a972308d04e49c41fabe1d240cd8d4398a53fa7264ffd588cedde7e0c76c9b9` | | `LibreMetaverse.Tests/ProtobufTests.cs::ProtobufTests.SerializeUri::test` | `ProtobufTests.SerializeUri` | `` | `LibreMetaverse.Tests/ProtobufTests.cs:226` | `` | `` | `tests/compat/tests/structured_data.rs:1325 (`protobuf_serialize_uri`)` | `translated` | `1561f2747cba4be4f9ab5af31d08f2a24e199e2193b3fcabb7925d79f4d70a5e` | -| `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_HappyPath_ParsesAllowedMapAndBuildsExpectedQuery::test` | `QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_HappyPath_ParsesAllowedMapAndBuildsExpectedQuery` | `` | `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs:66` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `2571d3a4100face21268d7ca2401cc8468e711c03c808704aacc7a50006125d5` | -| `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoExperienceIds_OmitsExperiencesParam::test` | `QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoExperienceIds_OmitsExperiencesParam` | `` | `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs:87` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `ddbaa53aa8c63262c2241588b4281c42bbb66efdecac95e297deb0fb81797455` | -| `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoCapability_ReturnsNullWithoutRequest::test` | `QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoCapability_ReturnsNullWithoutRequest` | `` | `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs:103` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `5c6a6584fba8ddc66200367217f658d342fb2c26d6be9e49ccf3892bea420095` | -| `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NonSuccessStatus_ReturnsNull::test` | `QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NonSuccessStatus_ReturnsNull` | `` | `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs:120` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `977fe55acd5aeb5735cc718f705a2742ae0dfab12dc1211c03a64cc6d1f3bbf5` | +| `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_HappyPath_ParsesAllowedMapAndBuildsExpectedQuery::test` | `QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_HappyPath_ParsesAllowedMapAndBuildsExpectedQuery` | `` | `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs:66` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:195 (`query_experiences_on_parcel_happy_path`)` | `translated` | `2571d3a4100face21268d7ca2401cc8468e711c03c808704aacc7a50006125d5` | +| `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoExperienceIds_OmitsExperiencesParam::test` | `QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoExperienceIds_OmitsExperiencesParam` | `` | `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs:87` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:227 (`query_experiences_on_parcel_no_ids_omits_parameter`)` | `translated` | `ddbaa53aa8c63262c2241588b4281c42bbb66efdecac95e297deb0fb81797455` | +| `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoCapability_ReturnsNullWithoutRequest::test` | `QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoCapability_ReturnsNullWithoutRequest` | `` | `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs:103` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:248 (`query_experiences_on_parcel_no_capability_returns_none_without_request`)` | `translated` | `5c6a6584fba8ddc66200367217f658d342fb2c26d6be9e49ccf3892bea420095` | +| `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NonSuccessStatus_ReturnsNull::test` | `QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NonSuccessStatus_ReturnsNull` | `` | `LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs:120` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:266 (`query_experiences_on_parcel_non_success_returns_none`)` | `translated` | `977fe55acd5aeb5735cc718f705a2742ae0dfab12dc1211c03a64cc6d1f3bbf5` | | `LibreMetaverse.Tests/RLV/Commands/AdjustHeightCommandTests.cs::AdjustHeightCommandTests.AdjustHeight::test` | `AdjustHeightCommandTests.AdjustHeight` | `` | `LibreMetaverse.Tests/RLV/Commands/AdjustHeightCommandTests.cs:12` | `` | `LibreMetaverse.Tests/RLV/RlvTestBase.cs` | `pending source translation` | `pending` | `fb3adb86988b10b2d3fe9223324f8a3c1ba7b8c2ea909ee6b57b38c590fed372` | | `LibreMetaverse.Tests/RLV/Commands/AdjustHeightCommandTests.cs::AdjustHeightCommandTests.AdjustHeight_WithDelta::test` | `AdjustHeightCommandTests.AdjustHeight_WithDelta` | `` | `LibreMetaverse.Tests/RLV/Commands/AdjustHeightCommandTests.cs:30` | `` | `LibreMetaverse.Tests/RLV/RlvTestBase.cs` | `pending source translation` | `pending` | `1f37a125fd9df8585740d37c711888dfcd92460d86c19077f771d7f3fab54264` | | `LibreMetaverse.Tests/RLV/Commands/AttachAllCommandTests.cs::AttachAllCommandTests.AttachForce_Recursive::case:eee2b1b757fc196e` | `AttachAllCommandTests.AttachForce_Recursive` | `"attachall", true` | `LibreMetaverse.Tests/RLV/Commands/AttachAllCommandTests.cs:15` | `` | `LibreMetaverse.Tests/RLV/RlvTestBase.cs, LibreMetaverse.Tests/RLV/SampleInventoryTree.cs` | `pending source translation` | `pending` | `17a84542635b76f4f806126ab170d43441ad00b9b91650aa1164909de9692671` | @@ -1120,15 +1120,15 @@ Reviewed Rust tests live outside `generated_parity.rs` and carry a `parity-case` | `LibreMetaverse.Tests/RLV/RlvRestrictionManagerTests.cs::RlvRestrictionManagerTests.RemoveRestrictionsForObjects_WithComplexRestrictions_RemovesCorrectly::test` | `RlvRestrictionManagerTests.RemoveRestrictionsForObjects_WithComplexRestrictions_RemovesCorrectly` | `` | `LibreMetaverse.Tests/RLV/RlvRestrictionManagerTests.cs:265` | `` | `LibreMetaverse.Tests/RLV/RlvTestBase.cs` | `pending source translation` | `pending` | `631de2d39fa56b29014fae4ce3b57c480f540ad41ce08a0037b7f8bbfcb3c502` | | `LibreMetaverse.Tests/RLV/RlvRestrictionManagerTests.cs::RlvRestrictionManagerTests.RemoveRestrictionsForObjects_TriggersRestrictionUpdatedEvent::test` | `RlvRestrictionManagerTests.RemoveRestrictionsForObjects_TriggersRestrictionUpdatedEvent` | `` | `LibreMetaverse.Tests/RLV/RlvRestrictionManagerTests.cs:294` | `` | `LibreMetaverse.Tests/RLV/RlvTestBase.cs` | `pending source translation` | `pending` | `318f1f4207b04d01076d3498aceea781c4889b05cdbef199cdbea43dde355f4c` | | `LibreMetaverse.Tests/ReaderWriterLockTests.cs::ReaderWriterLockTests.MultipleReadersOneWriter_ReaderConcurrencyAndWriterExclusion::test` | `ReaderWriterLockTests.MultipleReadersOneWriter_ReaderConcurrencyAndWriterExclusion` | `` | `LibreMetaverse.Tests/ReaderWriterLockTests.cs:12` | `` | `` | `tests/compat/tests/types_utilities.rs:592 (`multiple_readers_one_writer_reader_concurrency_and_writer_exclusion`)` | `translated` | `bf63804480951667455038244228f77c30454a365b496f062051f7b34e7b2618` | -| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_WeeklySchedule_ParsesDaysAndTime::test` | `RegionScheduleTests.GetRegionRestartScheduleAsync_WeeklySchedule_ParsesDaysAndTime` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:64` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `0f64aab66c6a6d807b3d2bbc46b636a85900e4f76e35d5e3dd8cd0d8b295618b` | -| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_DailySchedule_ReturnsAllDays::test` | `RegionScheduleTests.GetRegionRestartScheduleAsync_DailySchedule_ReturnsAllDays` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:79` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `cd966b6e3ba470c91ac958bf6c71aeb34f4dab060ad5334cb6060e1954b5c6d0` | -| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_NoRestartConfigured_ReturnsNull::test` | `RegionScheduleTests.GetRegionRestartScheduleAsync_NoRestartConfigured_ReturnsNull` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:93` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `59a4b050a79659ccaf0fff13b750d634d803ed7b9e4940cbad676c1bdc04a5fc` | -| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_NoCapability_ReturnsNullWithoutRequest::test` | `RegionScheduleTests.GetRegionRestartScheduleAsync_NoCapability_ReturnsNullWithoutRequest` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:103` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `e169e7846874ed4309a50cb25b03c2e722a8d758a787654a5906610ab3b655f1` | -| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_Weekly_PostsUppercaseDaysAndSeconds::test` | `RegionScheduleTests.SetRegionRestartScheduleAsync_Weekly_PostsUppercaseDaysAndSeconds` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:120` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `153fc0ac84af549c1381d0814a356bf2d9e0ead2c879e503981193366943546c` | -| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_DailyIgnoresDays_DoesNotPostDaysKey::test` | `RegionScheduleTests.SetRegionRestartScheduleAsync_DailyIgnoresDays_DoesNotPostDaysKey` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:143` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `b51a1272465c3316194542eb346b2aa15c43fdc8474163ddd851b3f2204d1c2b` | -| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_EmptyDaysClearsSchedule::test` | `RegionScheduleTests.SetRegionRestartScheduleAsync_EmptyDaysClearsSchedule` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:157` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `57ef3c0f8d9eeac58a7d1b3e7dbc44413016f39303d304cacd3071bd2c55f320` | -| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_NoCapability_ReturnsFalseWithoutRequest::test` | `RegionScheduleTests.SetRegionRestartScheduleAsync_NoCapability_ReturnsFalseWithoutRequest` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:177` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `be03507fe574b9f7c7174c39af44b7b693e1b7a496845db46451ef09bf9db206` | -| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_NonSuccessStatus_ReturnsFalse::test` | `RegionScheduleTests.SetRegionRestartScheduleAsync_NonSuccessStatus_ReturnsFalse` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:195` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `pending source translation` | `pending` | `16c8988d7aa15ea9f58deaa2e3f416b6115978e23073fd99749843f4f410dca4` | +| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_WeeklySchedule_ParsesDaysAndTime::test` | `RegionScheduleTests.GetRegionRestartScheduleAsync_WeeklySchedule_ParsesDaysAndTime` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:64` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:285 (`get_region_restart_schedule_weekly_parses_days_and_time`)` | `translated` | `0f64aab66c6a6d807b3d2bbc46b636a85900e4f76e35d5e3dd8cd0d8b295618b` | +| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_DailySchedule_ReturnsAllDays::test` | `RegionScheduleTests.GetRegionRestartScheduleAsync_DailySchedule_ReturnsAllDays` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:79` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:308 (`get_region_restart_schedule_daily_returns_all_days`)` | `translated` | `cd966b6e3ba470c91ac958bf6c71aeb34f4dab060ad5334cb6060e1954b5c6d0` | +| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_NoRestartConfigured_ReturnsNull::test` | `RegionScheduleTests.GetRegionRestartScheduleAsync_NoRestartConfigured_ReturnsNull` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:93` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:328 (`get_region_restart_schedule_no_restart_returns_none`)` | `translated` | `59a4b050a79659ccaf0fff13b750d634d803ed7b9e4940cbad676c1bdc04a5fc` | +| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_NoCapability_ReturnsNullWithoutRequest::test` | `RegionScheduleTests.GetRegionRestartScheduleAsync_NoCapability_ReturnsNullWithoutRequest` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:103` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:343 (`get_region_restart_schedule_no_capability_returns_none_without_request`)` | `translated` | `e169e7846874ed4309a50cb25b03c2e722a8d758a787654a5906610ab3b655f1` | +| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_Weekly_PostsUppercaseDaysAndSeconds::test` | `RegionScheduleTests.SetRegionRestartScheduleAsync_Weekly_PostsUppercaseDaysAndSeconds` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:120` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:367 (`set_region_restart_schedule_weekly_posts_uppercase_days_and_seconds`)` | `translated` | `153fc0ac84af549c1381d0814a356bf2d9e0ead2c879e503981193366943546c` | +| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_DailyIgnoresDays_DoesNotPostDaysKey::test` | `RegionScheduleTests.SetRegionRestartScheduleAsync_DailyIgnoresDays_DoesNotPostDaysKey` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:143` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:394 (`set_region_restart_schedule_daily_omits_days`)` | `translated` | `b51a1272465c3316194542eb346b2aa15c43fdc8474163ddd851b3f2204d1c2b` | +| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_EmptyDaysClearsSchedule::test` | `RegionScheduleTests.SetRegionRestartScheduleAsync_EmptyDaysClearsSchedule` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:157` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:420 (`set_region_restart_schedule_empty_days_clears_schedule`)` | `translated` | `57ef3c0f8d9eeac58a7d1b3e7dbc44413016f39303d304cacd3071bd2c55f320` | +| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_NoCapability_ReturnsFalseWithoutRequest::test` | `RegionScheduleTests.SetRegionRestartScheduleAsync_NoCapability_ReturnsFalseWithoutRequest` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:177` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:440 (`set_region_restart_schedule_no_capability_returns_false_without_request`)` | `translated` | `be03507fe574b9f7c7174c39af44b7b693e1b7a496845db46451ef09bf9db206` | +| `LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_NonSuccessStatus_ReturnsFalse::test` | `RegionScheduleTests.SetRegionRestartScheduleAsync_NonSuccessStatus_ReturnsFalse` | `` | `LibreMetaverse.Tests/RegionScheduleTests.cs:195` | `Estate` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/world_capability_semantics.rs:458 (`set_region_restart_schedule_non_success_returns_false`)` | `translated` | `16c8988d7aa15ea9f58deaa2e3f416b6115978e23073fd99749843f4f410dca4` | | `LibreMetaverse.Tests/RequestTaskInventoryCapTests.cs::RequestTaskInventoryCapTests.GetTaskInventoryAsync_CapAvailable_ReturnsContentsFolderAndDecryptsShadowId::test` | `RequestTaskInventoryCapTests.GetTaskInventoryAsync_CapAvailable_ReturnsContentsFolderAndDecryptsShadowId` | `` | `LibreMetaverse.Tests/RequestTaskInventoryCapTests.cs:73` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/task_inventory_semantics.rs:138 (`cap_available_returns_contents_folder_and_decrypts_shadow_id`)` | `translated` | `c9bfc5526260f9e2dffa8a22938999911fdd80be4b2b6d6487bf6171f8dbb56a` | | `LibreMetaverse.Tests/RequestTaskInventoryCapTests.cs::RequestTaskInventoryCapTests.GetTaskInventoryAsync_PlainAssetId_ParsesWithoutDecryption::test` | `RequestTaskInventoryCapTests.GetTaskInventoryAsync_PlainAssetId_ParsesWithoutDecryption` | `` | `LibreMetaverse.Tests/RequestTaskInventoryCapTests.cs:115` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/task_inventory_semantics.rs:176 (`plain_asset_id_parses_without_decryption`)` | `translated` | `95f39928dae61bca86b7d0a0702307db6c5fdc754e51f73a24bd5ee131e6de3f` | | `LibreMetaverse.Tests/RequestTaskInventoryCapTests.cs::RequestTaskInventoryCapTests.GetTaskInventoryAsync_NonSuccessStatus_ReturnsContentsFolderOnly::test` | `RequestTaskInventoryCapTests.GetTaskInventoryAsync_NonSuccessStatus_ReturnsContentsFolderOnly` | `` | `LibreMetaverse.Tests/RequestTaskInventoryCapTests.cs:143` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/task_inventory_semantics.rs:196 (`non_success_status_returns_contents_folder_only`)` | `translated` | `b8a25891064e470ac8d77ecd8a4847cf773b043de5ebeae275a9dd6669518585` | @@ -1137,60 +1137,60 @@ Reviewed Rust tests live outside `generated_parity.rs` and carry a `parity-case` | `LibreMetaverse.Tests/SendPostcardTests.cs::SendPostcardTests.SendPostcardAsync_UploaderMissingFromResponse_ReturnsFalseWithoutSecondRequest::test` | `SendPostcardTests.SendPostcardAsync_UploaderMissingFromResponse_ReturnsFalseWithoutSecondRequest` | `` | `LibreMetaverse.Tests/SendPostcardTests.cs:100` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:586 (`postcard_missing_uploader_returns_false_after_one_request`)` | `translated` | `2f9498d57d7a512399f9b108765e6e8da8e4c937402f9671d580c66332630432` | | `LibreMetaverse.Tests/SendPostcardTests.cs::SendPostcardTests.SendPostcardAsync_UploadDoesNotComplete_ReturnsFalse::test` | `SendPostcardTests.SendPostcardAsync_UploadDoesNotComplete_ReturnsFalse` | `` | `LibreMetaverse.Tests/SendPostcardTests.cs:112` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:608 (`postcard_incomplete_upload_returns_false`)` | `translated` | `937b682b406506ec9fba9570852bbf8689450a11cbecb85979af97609b1794f9` | | `LibreMetaverse.Tests/SendPostcardTests.cs::SendPostcardTests.SendPostcardAsync_NoCapability_ReturnsFalseWithoutRequest::test` | `SendPostcardTests.SendPostcardAsync_NoCapability_ReturnsFalseWithoutRequest` | `` | `LibreMetaverse.Tests/SendPostcardTests.cs:125` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:635 (`postcard_without_capability_makes_no_request`)` | `translated` | `8d3ef84e873096d9388bb7db3eaeeb79c661fd9951e338f71bbf3251ae6580e8` | -| `LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SendSimConsoleCommandAsync_IgnoresPostBody_UsesSimConsoleResponseEvent::test` | `SimConsoleTests.SendSimConsoleCommandAsync_IgnoresPostBody_UsesSimConsoleResponseEvent` | `` | `LibreMetaverse.Tests/SimConsoleTests.cs:81` | `Estate` | `` | `pending source translation` | `pending` | `df6eb48241f71c34074be66869c9ae1d5980186583259568728261b5eedd7c48` | -| `LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SendSimConsoleCommandAsync_NoResponseEvent_ReturnsNullAfterTimeout::test` | `SimConsoleTests.SendSimConsoleCommandAsync_NoResponseEvent_ReturnsNullAfterTimeout` | `` | `LibreMetaverse.Tests/SimConsoleTests.cs:111` | `Estate` | `` | `pending source translation` | `pending` | `2ac5a6c96f3acec341056387d727288fd3661565bd2a7c385078602efe8661da` | -| `LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SimConsoleResponseMessage_Deserialize_ReadsBodyField::test` | `SimConsoleTests.SimConsoleResponseMessage_Deserialize_ReadsBodyField` | `` | `LibreMetaverse.Tests/SimConsoleTests.cs:133` | `Estate` | `` | `pending source translation` | `pending` | `4d367bc3fd012d1579847fd9837bf883c5ea95452776a086bbf856899d7c2099` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSimpleLocation_ParsesCorrectly::test` | `SlurlParserTests.ParseSimpleLocation_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:36` | `LocationParser` | `` | `pending source translation` | `pending` | `4ca1200596cd99959db205bd40050c9ed62ac68fcd58079d52882e3b24af3fdf` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSlurl_ParsesCorrectly::test` | `SlurlParserTests.ParseSlurl_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:50` | `LocationParser` | `` | `pending source translation` | `pending` | `b389e823a365884bb10813a587c5922416dc8d0737f36bfde99c56cc4e4accda` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSlurlWithTrailingSlash_ParsesCorrectly::test` | `SlurlParserTests.ParseSlurlWithTrailingSlash_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:62` | `LocationParser` | `` | `pending source translation` | `pending` | `eb8513ad0d5dd9f67b537c1a844f738ef9363efdafd97aa31ec6fb697395c270` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLegacyUri_ParsesCorrectly::test` | `SlurlParserTests.ParseLegacyUri_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:73` | `LocationParser` | `` | `pending source translation` | `pending` | `d3e28edefeaa13a00d666cdc40c5ee60a24563462472786e0fa186262e8f6e73` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLocationWithDefaults_UsesDefaultCoordinates::test` | `SlurlParserTests.ParseLocationWithDefaults_UsesDefaultCoordinates` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:85` | `LocationParser` | `` | `pending source translation` | `pending` | `a89cceba86e86028cd70ee28b0f31a4c40c23491d582a0f70fc06b98bfeb3605` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLocationPartialCoordinates_UsesDefaults::test` | `SlurlParserTests.ParseLocationPartialCoordinates_UsesDefaults` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:96` | `LocationParser` | `` | `pending source translation` | `pending` | `b6418ccbb2b00b741fcc92db7d0d8577e7334360934de7418f75ed08d7b3da24` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseAgentSlapp_ParsesCorrectly::test` | `SlurlParserTests.ParseAgentSlapp_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:107` | `LocationParser` | `` | `pending source translation` | `pending` | `77a274bb3b4bf189fab0ce68a729057d04376bf3d6d45d0a5443d0f301f5fbb8` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseGroupSlapp_ParsesCorrectly::test` | `SlurlParserTests.ParseGroupSlapp_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:120` | `LocationParser` | `` | `pending source translation` | `pending` | `5435e301f76398ff2f35e0b65a7055de6d42b1a4662936ee949005182511fcd6` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseTeleportSlapp_ParsesLocationData::test` | `SlurlParserTests.ParseTeleportSlapp_ParsesLocationData` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:131` | `LocationParser` | `` | `pending source translation` | `pending` | `68eea168b7480f125a4bff20b582af87c0f6d62502821bf57eb734b12f87eed5` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseWorldMapSlapp_ParsesLocationData::test` | `SlurlParserTests.ParseWorldMapSlapp_ParsesLocationData` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:144` | `LocationParser` | `` | `pending source translation` | `pending` | `ad7f5ce07a837501fa74dda643f1c0d278a2f51fe27330d3419c57683127bf9e` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLoginSlapp_ParsesQueryParameters::test` | `SlurlParserTests.ParseLoginSlapp_ParsesQueryParameters` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:157` | `LocationParser` | `` | `pending source translation` | `pending` | `a0622607f53b8c19348540e7b858d3c75be22b47b9afc92505121b3430c33550` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseObjectImSlapp_ParsesQueryParameters::test` | `SlurlParserTests.ParseObjectImSlapp_ParsesQueryParameters` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:170` | `LocationParser` | `` | `pending source translation` | `pending` | `af9c2bdcfb212f08618719c85da41938207b6978fe2042a3c4451f7fd0075d6f` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSearchSlapp_ParsesCorrectly::test` | `SlurlParserTests.ParseSearchSlapp_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:185` | `LocationParser` | `` | `pending source translation` | `pending` | `a77776e74cff175bde3e974344502369e679db15f45fe5c0d614c80732549765` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetRawLocation_ReturnsCorrectFormat::test` | `SlurlParserTests.GetRawLocation_ReturnsCorrectFormat` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:195` | `LocationParser` | `` | `pending source translation` | `pending` | `30dafa3972780bbbb07f1edaf55ed4bc3b01080e616588768ebef9df54678af3` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSlurl_ReturnsCorrectFormat::test` | `SlurlParserTests.GetSlurl_ReturnsCorrectFormat` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:204` | `LocationParser` | `` | `pending source translation` | `pending` | `1e6b6fef442eab1ca6874df75f1a0ea380ec7f25974979d3cd878e10fc49fb40` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetStartLocationUri_ReturnsCorrectFormat::test` | `SlurlParserTests.GetStartLocationUri_ReturnsCorrectFormat` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:213` | `LocationParser` | `` | `pending source translation` | `pending` | `c7cc2d49e52ed6ebb19e09607a2b191fb3835e8f3804c7b07c5c9e8fd3b9bcae` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetAgentUrl_GeneratesCorrectUrl::test` | `SlurlParserTests.GetAgentUrl_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:222` | `LocationParser` | `` | `pending source translation` | `pending` | `b656f795ce39c9bc50df167e20e23b76b57929feaad1756d3190920f5410d0d4` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetAgentUrl_DefaultAction_UsesAbout::test` | `SlurlParserTests.GetAgentUrl_DefaultAction_UsesAbout` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:231` | `LocationParser` | `` | `pending source translation` | `pending` | `642b0543f72427cf646bcb8445b9acff4c1fdb0d26ef3f0dc6c10eaaed73028b` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetGroupUrl_GeneratesCorrectUrl::test` | `SlurlParserTests.GetGroupUrl_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:240` | `LocationParser` | `` | `pending source translation` | `pending` | `919cc7a17770fb65a83812836819a19d6dd4e630a848741d12df868da3d949d5` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetTeleportUrl_GeneratesCorrectUrl::test` | `SlurlParserTests.GetTeleportUrl_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:249` | `LocationParser` | `` | `pending source translation` | `pending` | `3465edd1ecdd6e521c52687570d32e288bfa29eb6e47666305c64ee5322df159` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetTeleportUrl_WithDefaults_UsesDefaultCoordinates::test` | `SlurlParserTests.GetTeleportUrl_WithDefaults_UsesDefaultCoordinates` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:257` | `LocationParser` | `` | `pending source translation` | `pending` | `823d524cc81d39753549583346953122c372f5575aa03d8bf101d1be3eae845d` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetWorldMapUrl_GeneratesCorrectUrl::test` | `SlurlParserTests.GetWorldMapUrl_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:265` | `LocationParser` | `` | `pending source translation` | `pending` | `7c19a936e0d641195f3806291b5b88970affa46f540ef950d55df709b52ad56b` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetObjectImUrl_GeneratesCorrectUrl::test` | `SlurlParserTests.GetObjectImUrl_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:273` | `LocationParser` | `` | `pending source translation` | `pending` | `edf724227cc86abc84d223637f34c607f9fc30f9e85b53a9ec8c8f2d2b7bcbf6` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetObjectImUrl_NotGroupOwned_OmitsGroupOwnedParameter::test` | `SlurlParserTests.GetObjectImUrl_NotGroupOwned_OmitsGroupOwnedParameter` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:287` | `LocationParser` | `` | `pending source translation` | `pending` | `764978a618429216a0bfef4e72ac44a329d2b2d1c5b13af889db9cf86814cd99` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSearchUrl_GeneratesCorrectUrl::test` | `SlurlParserTests.GetSearchUrl_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:297` | `LocationParser` | `` | `pending source translation` | `pending` | `aeb79bf4e5e51368b4520eec3cc5beeb767101b81f1eaa3f3ad118749dc5c2f0` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetLoginUrl_WithAllParameters_GeneratesCorrectUrl::test` | `SlurlParserTests.GetLoginUrl_WithAllParameters_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:305` | `LocationParser` | `` | `pending source translation` | `pending` | `0d9dc8d623e56ec1e8e0d414eb2c898bfd7ee37712972287834c2df6a99da17c` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetLoginUrl_WithNoParameters_GeneratesBaseUrl::test` | `SlurlParserTests.GetLoginUrl_WithNoParameters_GeneratesBaseUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:316` | `LocationParser` | `` | `pending source translation` | `pending` | `1fcfa164861bcc115f2935f1c20c276dea05802cf35dbb55664ff1c36140c135` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSlappUrl_WithQueryParams_GeneratesCorrectUrl::test` | `SlurlParserTests.GetSlappUrl_WithQueryParams_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:324` | `LocationParser` | `` | `pending source translation` | `pending` | `37ca9ebe06ce42f5919d9b6ec30459d1455f78bde910a61d04187e74e7ce3d07` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseNull_ThrowsArgumentNullException::test` | `SlurlParserTests.ParseNull_ThrowsArgumentNullException` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:340` | `LocationParser` | `` | `pending source translation` | `pending` | `98c170ff5f03f843918c0d2aecddb23e2c2605e31100f5d3178ad7cb306eef5d` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseEmptyString_ThrowsArgumentException::test` | `SlurlParserTests.ParseEmptyString_ThrowsArgumentException` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:346` | `LocationParser` | `` | `pending source translation` | `pending` | `a5d89e3349033fa4efa1b00339556d811f175c52ca5b183a2d19b247a8eaeed8` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseUrlEncodedQueryParams_DecodesCorrectly::test` | `SlurlParserTests.ParseUrlEncodedQueryParams_DecodesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:352` | `LocationParser` | `` | `pending source translation` | `pending` | `72ac64c89f3a08bbecfb80aaaf11f5ee59a383eeeb9578676af5b9d83f374cc4` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.RoundTripLocation_PreservesData::test` | `SlurlParserTests.RoundTripLocation_PreservesData` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:361` | `LocationParser` | `` | `pending source translation` | `pending` | `2cba174b3609af177295b469bad1641a98d8dc79d95aa4ef22403923edd4d092` | -| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseAllSlappCommands_RecognizesCorrectly::test` | `SlurlParserTests.ParseAllSlappCommands_RecognizesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:374` | `LocationParser` | `` | `pending source translation` | `pending` | `abf53480da20d1ff57f5f06f1433c120ea84e0d6d5363cb33e4a275d76cfa306` | -| `LibreMetaverse.Tests/StartAuctionTests.cs::StartAuctionTests.ViewerStartAuctionPacket_RoundTripsAgentAndParcelFields::test` | `StartAuctionTests.ViewerStartAuctionPacket_RoundTripsAgentAndParcelFields` | `` | `LibreMetaverse.Tests/StartAuctionTests.cs:45` | `Parcel` | `` | `pending source translation` | `pending` | `f37ef06cfba37754effe04a0bb0edfa159c761b811a05efd95157896756bef16` | -| `LibreMetaverse.Tests/StartAuctionTests.cs::StartAuctionTests.StartAuction_DoesNotThrow::test` | `StartAuctionTests.StartAuction_DoesNotThrow` | `` | `LibreMetaverse.Tests/StartAuctionTests.cs:71` | `Parcel` | `` | `pending source translation` | `pending` | `deec194333b480dabb3f6e6d96b360a29d11a40ca1103117fc7ce5cdb80d6eb0` | +| `LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SendSimConsoleCommandAsync_IgnoresPostBody_UsesSimConsoleResponseEvent::test` | `SimConsoleTests.SendSimConsoleCommandAsync_IgnoresPostBody_UsesSimConsoleResponseEvent` | `` | `LibreMetaverse.Tests/SimConsoleTests.cs:81` | `Estate` | `` | `crates/libremetaverse/src/world_internal_semantics.rs:182 (`send_sim_console_command_ignores_post_body_and_uses_response_event`)` | `translated` | `df6eb48241f71c34074be66869c9ae1d5980186583259568728261b5eedd7c48` | +| `LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SendSimConsoleCommandAsync_NoResponseEvent_ReturnsNullAfterTimeout::test` | `SimConsoleTests.SendSimConsoleCommandAsync_NoResponseEvent_ReturnsNullAfterTimeout` | `` | `LibreMetaverse.Tests/SimConsoleTests.cs:111` | `Estate` | `` | `crates/libremetaverse/src/world_internal_semantics.rs:203 (`send_sim_console_command_no_response_event_returns_none_after_timeout`)` | `translated` | `2ac5a6c96f3acec341056387d727288fd3661565bd2a7c385078602efe8661da` | +| `LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SimConsoleResponseMessage_Deserialize_ReadsBodyField::test` | `SimConsoleTests.SimConsoleResponseMessage_Deserialize_ReadsBodyField` | `` | `LibreMetaverse.Tests/SimConsoleTests.cs:133` | `Estate` | `` | `tests/compat/tests/world_capability_semantics.rs:475 (`sim_console_response_message_deserialize_reads_body_field`)` | `translated` | `4d367bc3fd012d1579847fd9837bf883c5ea95452776a086bbf856899d7c2099` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSimpleLocation_ParsesCorrectly::test` | `SlurlParserTests.ParseSimpleLocation_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:36` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:23 (`parse_simple_location_parses_correctly`)` | `translated` | `4ca1200596cd99959db205bd40050c9ed62ac68fcd58079d52882e3b24af3fdf` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSlurl_ParsesCorrectly::test` | `SlurlParserTests.ParseSlurl_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:50` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:33 (`parse_slurl_parses_correctly`)` | `translated` | `b389e823a365884bb10813a587c5922416dc8d0737f36bfde99c56cc4e4accda` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSlurlWithTrailingSlash_ParsesCorrectly::test` | `SlurlParserTests.ParseSlurlWithTrailingSlash_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:62` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:41 (`parse_slurl_with_trailing_slash_parses_correctly`)` | `translated` | `eb8513ad0d5dd9f67b537c1a844f738ef9363efdafd97aa31ec6fb697395c270` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLegacyUri_ParsesCorrectly::test` | `SlurlParserTests.ParseLegacyUri_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:73` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:51 (`parse_legacy_uri_parses_correctly`)` | `translated` | `d3e28edefeaa13a00d666cdc40c5ee60a24563462472786e0fa186262e8f6e73` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLocationWithDefaults_UsesDefaultCoordinates::test` | `SlurlParserTests.ParseLocationWithDefaults_UsesDefaultCoordinates` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:85` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:59 (`parse_location_with_defaults_uses_default_coordinates`)` | `translated` | `a89cceba86e86028cd70ee28b0f31a4c40c23491d582a0f70fc06b98bfeb3605` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLocationPartialCoordinates_UsesDefaults::test` | `SlurlParserTests.ParseLocationPartialCoordinates_UsesDefaults` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:96` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:69 (`parse_location_partial_coordinates_uses_defaults`)` | `translated` | `b6418ccbb2b00b741fcc92db7d0d8577e7334360934de7418f75ed08d7b3da24` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseAgentSlapp_ParsesCorrectly::test` | `SlurlParserTests.ParseAgentSlapp_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:107` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:79 (`parse_agent_slapp_parses_correctly`)` | `translated` | `77a274bb3b4bf189fab0ce68a729057d04376bf3d6d45d0a5443d0f301f5fbb8` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseGroupSlapp_ParsesCorrectly::test` | `SlurlParserTests.ParseGroupSlapp_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:120` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:92 (`parse_group_slapp_parses_correctly`)` | `translated` | `5435e301f76398ff2f35e0b65a7055de6d42b1a4662936ee949005182511fcd6` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseTeleportSlapp_ParsesLocationData::test` | `SlurlParserTests.ParseTeleportSlapp_ParsesLocationData` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:131` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:103 (`parse_teleport_slapp_parses_location_data`)` | `translated` | `68eea168b7480f125a4bff20b582af87c0f6d62502821bf57eb734b12f87eed5` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseWorldMapSlapp_ParsesLocationData::test` | `SlurlParserTests.ParseWorldMapSlapp_ParsesLocationData` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:144` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:112 (`parse_world_map_slapp_parses_location_data`)` | `translated` | `ad7f5ce07a837501fa74dda643f1c0d278a2f51fe27330d3419c57683127bf9e` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLoginSlapp_ParsesQueryParameters::test` | `SlurlParserTests.ParseLoginSlapp_ParsesQueryParameters` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:157` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:121 (`parse_login_slapp_parses_query_parameters`)` | `translated` | `a0622607f53b8c19348540e7b858d3c75be22b47b9afc92505121b3430c33550` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseObjectImSlapp_ParsesQueryParameters::test` | `SlurlParserTests.ParseObjectImSlapp_ParsesQueryParameters` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:170` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:133 (`parse_object_im_slapp_parses_query_parameters`)` | `translated` | `af9c2bdcfb212f08618719c85da41938207b6978fe2042a3c4451f7fd0075d6f` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSearchSlapp_ParsesCorrectly::test` | `SlurlParserTests.ParseSearchSlapp_ParsesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:185` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:154 (`parse_search_slapp_parses_correctly`)` | `translated` | `a77776e74cff175bde3e974344502369e679db15f45fe5c0d614c80732549765` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetRawLocation_ReturnsCorrectFormat::test` | `SlurlParserTests.GetRawLocation_ReturnsCorrectFormat` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:195` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:163 (`get_raw_location_returns_correct_format`)` | `translated` | `30dafa3972780bbbb07f1edaf55ed4bc3b01080e616588768ebef9df54678af3` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSlurl_ReturnsCorrectFormat::test` | `SlurlParserTests.GetSlurl_ReturnsCorrectFormat` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:204` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:172 (`get_slurl_returns_correct_format`)` | `translated` | `1e6b6fef442eab1ca6874df75f1a0ea380ec7f25974979d3cd878e10fc49fb40` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetStartLocationUri_ReturnsCorrectFormat::test` | `SlurlParserTests.GetStartLocationUri_ReturnsCorrectFormat` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:213` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:181 (`get_start_location_uri_returns_correct_format`)` | `translated` | `c7cc2d49e52ed6ebb19e09607a2b191fb3835e8f3804c7b07c5c9e8fd3b9bcae` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetAgentUrl_GeneratesCorrectUrl::test` | `SlurlParserTests.GetAgentUrl_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:222` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:190 (`get_agent_url_generates_correct_url`)` | `translated` | `b656f795ce39c9bc50df167e20e23b76b57929feaad1756d3190920f5410d0d4` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetAgentUrl_DefaultAction_UsesAbout::test` | `SlurlParserTests.GetAgentUrl_DefaultAction_UsesAbout` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:231` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:201 (`get_agent_url_default_action_uses_about`)` | `translated` | `642b0543f72427cf646bcb8445b9acff4c1fdb0d26ef3f0dc6c10eaaed73028b` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetGroupUrl_GeneratesCorrectUrl::test` | `SlurlParserTests.GetGroupUrl_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:240` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:211 (`get_group_url_generates_correct_url`)` | `translated` | `919cc7a17770fb65a83812836819a19d6dd4e630a848741d12df868da3d949d5` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetTeleportUrl_GeneratesCorrectUrl::test` | `SlurlParserTests.GetTeleportUrl_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:249` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:222 (`get_teleport_url_generates_correct_url`)` | `translated` | `3465edd1ecdd6e521c52687570d32e288bfa29eb6e47666305c64ee5322df159` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetTeleportUrl_WithDefaults_UsesDefaultCoordinates::test` | `SlurlParserTests.GetTeleportUrl_WithDefaults_UsesDefaultCoordinates` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:257` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:231 (`get_teleport_url_with_defaults_uses_default_coordinates`)` | `translated` | `823d524cc81d39753549583346953122c372f5575aa03d8bf101d1be3eae845d` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetWorldMapUrl_GeneratesCorrectUrl::test` | `SlurlParserTests.GetWorldMapUrl_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:265` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:240 (`get_world_map_url_generates_correct_url`)` | `translated` | `7c19a936e0d641195f3806291b5b88970affa46f540ef950d55df709b52ad56b` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetObjectImUrl_GeneratesCorrectUrl::test` | `SlurlParserTests.GetObjectImUrl_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:273` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:249 (`get_object_im_url_generates_correct_url`)` | `translated` | `edf724227cc86abc84d223637f34c607f9fc30f9e85b53a9ec8c8f2d2b7bcbf6` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetObjectImUrl_NotGroupOwned_OmitsGroupOwnedParameter::test` | `SlurlParserTests.GetObjectImUrl_NotGroupOwned_OmitsGroupOwnedParameter` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:287` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:271 (`get_object_im_url_not_group_owned_omits_group_owned_parameter`)` | `translated` | `764978a618429216a0bfef4e72ac44a329d2b2d1c5b13af889db9cf86814cd99` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSearchUrl_GeneratesCorrectUrl::test` | `SlurlParserTests.GetSearchUrl_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:297` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:285 (`get_search_url_generates_correct_url`)` | `translated` | `aeb79bf4e5e51368b4520eec3cc5beeb767101b81f1eaa3f3ad118749dc5c2f0` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetLoginUrl_WithAllParameters_GeneratesCorrectUrl::test` | `SlurlParserTests.GetLoginUrl_WithAllParameters_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:305` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:294 (`get_login_url_with_all_parameters_generates_correct_url`)` | `translated` | `0d9dc8d623e56ec1e8e0d414eb2c898bfd7ee37712972287834c2df6a99da17c` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetLoginUrl_WithNoParameters_GeneratesBaseUrl::test` | `SlurlParserTests.GetLoginUrl_WithNoParameters_GeneratesBaseUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:316` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:309 (`get_login_url_with_no_parameters_generates_base_url`)` | `translated` | `1fcfa164861bcc115f2935f1c20c276dea05802cf35dbb55664ff1c36140c135` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSlappUrl_WithQueryParams_GeneratesCorrectUrl::test` | `SlurlParserTests.GetSlappUrl_WithQueryParams_GeneratesCorrectUrl` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:324` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:318 (`get_slapp_url_with_query_params_generates_correct_url`)` | `translated` | `37ca9ebe06ce42f5919d9b6ec30459d1455f78bde910a61d04187e74e7ce3d07` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseNull_ThrowsArgumentNullException::test` | `SlurlParserTests.ParseNull_ThrowsArgumentNullException` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:340` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:332 (`parse_null_throws_argument_null`)` | `translated` | `98c170ff5f03f843918c0d2aecddb23e2c2605e31100f5d3178ad7cb306eef5d` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseEmptyString_ThrowsArgumentException::test` | `SlurlParserTests.ParseEmptyString_ThrowsArgumentException` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:346` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:341 (`parse_empty_string_throws_argument`)` | `translated` | `a5d89e3349033fa4efa1b00339556d811f175c52ca5b183a2d19b247a8eaeed8` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseUrlEncodedQueryParams_DecodesCorrectly::test` | `SlurlParserTests.ParseUrlEncodedQueryParams_DecodesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:352` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:350 (`parse_url_encoded_query_params_decodes_correctly`)` | `translated` | `72ac64c89f3a08bbecfb80aaaf11f5ee59a383eeeb9578676af5b9d83f374cc4` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.RoundTripLocation_PreservesData::test` | `SlurlParserTests.RoundTripLocation_PreservesData` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:361` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:360 (`round_trip_location_preserves_data`)` | `translated` | `2cba174b3609af177295b469bad1641a98d8dc79d95aa4ef22403923edd4d092` | +| `LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseAllSlappCommands_RecognizesCorrectly::test` | `SlurlParserTests.ParseAllSlappCommands_RecognizesCorrectly` | `` | `LibreMetaverse.Tests/SlurlParserTests.cs:374` | `LocationParser` | `` | `tests/compat/tests/slurl_semantics.rs:374 (`parse_all_slapp_commands_recognizes_correctly`)` | `translated` | `abf53480da20d1ff57f5f06f1433c120ea84e0d6d5363cb33e4a275d76cfa306` | +| `LibreMetaverse.Tests/StartAuctionTests.cs::StartAuctionTests.ViewerStartAuctionPacket_RoundTripsAgentAndParcelFields::test` | `StartAuctionTests.ViewerStartAuctionPacket_RoundTripsAgentAndParcelFields` | `` | `LibreMetaverse.Tests/StartAuctionTests.cs:45` | `Parcel` | `` | `tests/compat/tests/world_packet_semantics.rs:15 (`viewer_start_auction_packet_round_trips_agent_and_parcel_fields`)` | `translated` | `f37ef06cfba37754effe04a0bb0edfa159c761b811a05efd95157896756bef16` | +| `LibreMetaverse.Tests/StartAuctionTests.cs::StartAuctionTests.StartAuction_DoesNotThrow::test` | `StartAuctionTests.StartAuction_DoesNotThrow` | `` | `LibreMetaverse.Tests/StartAuctionTests.cs:71` | `Parcel` | `` | `tests/compat/tests/world_packet_semantics.rs:44 (`start_auction_does_not_throw`)` | `translated` | `deec194333b480dabb3f6e6d96b360a29d11a40ca1103117fc7ce5cdb80d6eb0` | | `LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs::TerrainMaterialOverrideTests.GetTerrainMaterialOverridesAsync_ParsesFourSlotsWithSomeEmpty::test` | `TerrainMaterialOverrideTests.GetTerrainMaterialOverridesAsync_ParsesFourSlotsWithSomeEmpty` | `` | `LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs:64` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:445 (`terrain_get_parses_four_slots_with_empty_entries`)` | `translated` | `0b7f2b5a7a95c70f4ed97b9b028f3ec16f1cd427a9d4d1b133523bd331f6b9f2` | | `LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs::TerrainMaterialOverrideTests.GetTerrainMaterialOverridesAsync_ServerReportsFailure_ReturnsNull::test` | `TerrainMaterialOverrideTests.GetTerrainMaterialOverridesAsync_ServerReportsFailure_ReturnsNull` | `` | `LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs:81` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:468 (`terrain_get_server_failure_returns_none`)` | `translated` | `c66b84662333288b7328822d1f9fa79450075d44a1178a9b0b661671072efe5b` | | `LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs::TerrainMaterialOverrideTests.GetTerrainMaterialOverridesAsync_NoCapability_ReturnsNullWithoutRequest::test` | `TerrainMaterialOverrideTests.GetTerrainMaterialOverridesAsync_NoCapability_ReturnsNullWithoutRequest` | `` | `LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs:92` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:482 (`terrain_get_without_capability_makes_no_request`)` | `translated` | `677f80689e1b6a67893d100e1116805fb9f63c5b6ec33e64a4dc9a4cf24c1237` | | `LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs::TerrainMaterialOverrideTests.SetTerrainMaterialOverridesAsync_MixOfNullAndSet_PostsFourEntries::test` | `TerrainMaterialOverrideTests.SetTerrainMaterialOverridesAsync_MixOfNullAndSet_PostsFourEntries` | `` | `LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs:111` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:494 (`terrain_set_posts_four_mixed_entries`)` | `translated` | `a4ce031e565ca7eb1864064d299dbf0c7b715581ce330a57be9c3aa93987e67c` | | `LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs::TerrainMaterialOverrideTests.SetTerrainMaterialOverridesAsync_WrongLength_Throws::test` | `TerrainMaterialOverrideTests.SetTerrainMaterialOverridesAsync_WrongLength_Throws` | `` | `LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs:128` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:518 (`terrain_set_wrong_length_is_argument_error`)` | `translated` | `836099a369b37555049b1c1ddfb9562c57cdef88381b7a79e8b80fe62b169a44` | | `LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs::TerrainMaterialOverrideTests.SetTerrainMaterialOverridesAsync_NoCapability_ReturnsFalseWithoutRequest::test` | `TerrainMaterialOverrideTests.SetTerrainMaterialOverridesAsync_NoCapability_ReturnsFalseWithoutRequest` | `` | `LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs:135` | `` | `LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs` | `tests/compat/tests/asset_capability_semantics.rs:533 (`terrain_set_without_capability_makes_no_request`)` | `translated` | `37948cbc0240910d63782d88c0fb9f1d239215cea34a5aa84ac68a10d0555e87` | -| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:d3ad6116f2458248` | `TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved` | `32, Description = "First face affected by 32-bit overflow"` | `LibreMetaverse.Tests/TextureEntryTests.cs:46` | `TextureEntry` | `` | `pending source translation` | `pending` | `5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55` | -| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:c6f3ac57944a5314` | `TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved` | `33` | `LibreMetaverse.Tests/TextureEntryTests.cs:47` | `TextureEntry` | `` | `pending source translation` | `pending` | `5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55` | -| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:d59eced1ded07f84` | `TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved` | `40` | `LibreMetaverse.Tests/TextureEntryTests.cs:48` | `TextureEntry` | `` | `pending source translation` | `pending` | `5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55` | -| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:59df3d13bd106053` | `TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved` | `44, Description = "Last valid face (MAX_FACES - 1)"` | `LibreMetaverse.Tests/TextureEntryTests.cs:49` | `TextureEntry` | `` | `pending source translation` | `pending` | `5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55` | -| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_AllHighFaces_TextureIDs_AllPreserved::test` | `TextureEntryTests.RoundTrip_AllHighFaces_TextureIDs_AllPreserved` | `` | `LibreMetaverse.Tests/TextureEntryTests.cs:66` | `TextureEntry` | `` | `pending source translation` | `pending` | `203ca43b9f1965e1fae7feb36e84eff1df9ac5968eb23753077816d16dd24228` | -| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_LowAndHighFaces_BothPreserved::test` | `TextureEntryTests.RoundTrip_LowAndHighFaces_BothPreserved` | `` | `LibreMetaverse.Tests/TextureEntryTests.cs:90` | `TextureEntry` | `` | `pending source translation` | `pending` | `dd520cac107415a186a44eb3a17bd000f933ec49b814a496e6788237fcfffb1e` | -| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RGBA_IsPreserved::test` | `TextureEntryTests.RoundTrip_Face32_RGBA_IsPreserved` | `` | `LibreMetaverse.Tests/TextureEntryTests.cs:113` | `TextureEntry` | `` | `pending source translation` | `pending` | `db41d130d270d31f52f3928df88ccc052102673c1afbca03cc0648526fafbabb` | -| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RepeatU_IsPreserved::test` | `TextureEntryTests.RoundTrip_Face32_RepeatU_IsPreserved` | `` | `LibreMetaverse.Tests/TextureEntryTests.cs:131` | `TextureEntry` | `` | `pending source translation` | `pending` | `58e80815263025ec54cd15e3c9a42771f5e55c81e9acb212a0f163faef9fd499` | -| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RepeatV_IsPreserved::test` | `TextureEntryTests.RoundTrip_Face32_RepeatV_IsPreserved` | `` | `LibreMetaverse.Tests/TextureEntryTests.cs:145` | `TextureEntry` | `` | `pending source translation` | `pending` | `fbeb1fdd584a26576b6f1ba653b2995d1a6d6bccc2c1dc51e46aa9f211b78724` | -| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_AllFaces_TextureIDs_AllPreserved::test` | `TextureEntryTests.RoundTrip_AllFaces_TextureIDs_AllPreserved` | `` | `LibreMetaverse.Tests/TextureEntryTests.cs:158` | `TextureEntry` | `` | `pending source translation` | `pending` | `5e5a390af8deff77ef80f751735456541f24d7e27666557d50d99065cc3ba6a4` | +| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:d3ad6116f2458248` | `TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved` | `32, Description = "First face affected by 32-bit overflow"` | `LibreMetaverse.Tests/TextureEntryTests.cs:46` | `TextureEntry` | `` | `tests/compat/tests/world_object_semantics.rs:264 (`high_face_32_texture_id_is_preserved`)` | `translated` | `5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55` | +| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:c6f3ac57944a5314` | `TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved` | `33` | `LibreMetaverse.Tests/TextureEntryTests.cs:47` | `TextureEntry` | `` | `tests/compat/tests/world_object_semantics.rs:270 (`high_face_33_texture_id_is_preserved`)` | `translated` | `5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55` | +| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:d59eced1ded07f84` | `TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved` | `40` | `LibreMetaverse.Tests/TextureEntryTests.cs:48` | `TextureEntry` | `` | `tests/compat/tests/world_object_semantics.rs:276 (`high_face_40_texture_id_is_preserved`)` | `translated` | `5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55` | +| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:59df3d13bd106053` | `TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved` | `44, Description = "Last valid face (MAX_FACES - 1)"` | `LibreMetaverse.Tests/TextureEntryTests.cs:49` | `TextureEntry` | `` | `tests/compat/tests/world_object_semantics.rs:282 (`high_face_44_texture_id_is_preserved`)` | `translated` | `5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55` | +| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_AllHighFaces_TextureIDs_AllPreserved::test` | `TextureEntryTests.RoundTrip_AllHighFaces_TextureIDs_AllPreserved` | `` | `LibreMetaverse.Tests/TextureEntryTests.cs:66` | `TextureEntry` | `` | `tests/compat/tests/world_object_semantics.rs:288 (`all_high_face_texture_ids_are_preserved`)` | `translated` | `203ca43b9f1965e1fae7feb36e84eff1df9ac5968eb23753077816d16dd24228` | +| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_LowAndHighFaces_BothPreserved::test` | `TextureEntryTests.RoundTrip_LowAndHighFaces_BothPreserved` | `` | `LibreMetaverse.Tests/TextureEntryTests.cs:90` | `TextureEntry` | `` | `tests/compat/tests/world_object_semantics.rs:308 (`low_and_high_faces_are_both_preserved`)` | `translated` | `dd520cac107415a186a44eb3a17bd000f933ec49b814a496e6788237fcfffb1e` | +| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RGBA_IsPreserved::test` | `TextureEntryTests.RoundTrip_Face32_RGBA_IsPreserved` | `` | `LibreMetaverse.Tests/TextureEntryTests.cs:113` | `TextureEntry` | `` | `tests/compat/tests/world_object_semantics.rs:326 (`face_32_rgba_is_preserved`)` | `translated` | `db41d130d270d31f52f3928df88ccc052102673c1afbca03cc0648526fafbabb` | +| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RepeatU_IsPreserved::test` | `TextureEntryTests.RoundTrip_Face32_RepeatU_IsPreserved` | `` | `LibreMetaverse.Tests/TextureEntryTests.cs:131` | `TextureEntry` | `` | `tests/compat/tests/world_object_semantics.rs:348 (`face_32_repeat_u_is_preserved`)` | `translated` | `58e80815263025ec54cd15e3c9a42771f5e55c81e9acb212a0f163faef9fd499` | +| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RepeatV_IsPreserved::test` | `TextureEntryTests.RoundTrip_Face32_RepeatV_IsPreserved` | `` | `LibreMetaverse.Tests/TextureEntryTests.cs:145` | `TextureEntry` | `` | `tests/compat/tests/world_object_semantics.rs:356 (`face_32_repeat_v_is_preserved`)` | `translated` | `fbeb1fdd584a26576b6f1ba653b2995d1a6d6bccc2c1dc51e46aa9f211b78724` | +| `LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_AllFaces_TextureIDs_AllPreserved::test` | `TextureEntryTests.RoundTrip_AllFaces_TextureIDs_AllPreserved` | `` | `LibreMetaverse.Tests/TextureEntryTests.cs:158` | `TextureEntry` | `` | `tests/compat/tests/world_object_semantics.rs:364 (`all_face_texture_ids_are_preserved`)` | `translated` | `5e5a390af8deff77ef80f751735456541f24d7e27666557d50d99065cc3ba6a4` | | `LibreMetaverse.Tests/TypeTests.cs::TypeTests.UUIDs::test` | `TypeTests.UUIDs` | `` | `LibreMetaverse.Tests/TypeTests.cs:38` | `` | `` | `tests/compat/tests/types_utilities.rs:39 (`uuids`)` | `translated` | `4f95d48c474bbd824254196dd605051773c711614bf661b5aa996054b6c98967` | | `LibreMetaverse.Tests/TypeTests.cs::TypeTests.Vector3ApproxEquals::test` | `TypeTests.Vector3ApproxEquals` | `` | `LibreMetaverse.Tests/TypeTests.cs:72` | `` | `` | `tests/compat/tests/types_utilities.rs:72 (`vector3_approx_equals`)` | `translated` | `1438175bb0c0bd8b17dd878e8fb95fb0dba82abbab71882f2ceb39ec554189d9` | | `LibreMetaverse.Tests/TypeTests.cs::TypeTests.VectorCasting::test` | `TypeTests.VectorCasting` | `` | `LibreMetaverse.Tests/TypeTests.cs:100` | `` | `` | `tests/compat/tests/types_utilities.rs:99 (`vector_casting`)` | `translated` | `27c0a4b8402ef66f11dca075d8c1a0f0b647ccef9c2803125dde6ca292951cd4` | diff --git a/tests/compat/tests/generated_parity.rs b/tests/compat/tests/generated_parity.rs index dc119d2..17668d8 100644 --- a/tests/compat/tests/generated_parity.rs +++ b/tests/compat/tests/generated_parity.rs @@ -2,30 +2,8 @@ // Source: LibreMetaverse 2aa70bb68513b39795da5d13c88f31b86e85a3ba // Pending cases are catalog entries, not fake executable Rust tests. -// pending-parity-case: LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.GridManager_Null_Throws::test e972a95f334b0f46948cda34c27124c28c44faf4372d0e598d7dc60050b49be4 // pending-parity-case: LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.AppearanceManager_Null_Throws::test a3c872805bc924b5a1a9441d5c9eb61ed6d6e9477e4bb411131359290b144ab4 -// pending-parity-case: LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.ObjectManager_Null_Throws::test 8a11feba0edfb35e5dd99f681182e8f5a5cf8a3f738211b45a683a8a2ad45ddb -// pending-parity-case: LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.AgentManager_Null_Throws::test d86e41b6cdd03063685aa330c31b9a274c1d400b9a461abf3065fe185fe0bbf0 // pending-parity-case: LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.AvatarManager_Null_Throws::test 54f23cbf0ba87b0525c2914e78d75808e93fd1c460fc0bec4d15f09575b1431c -// pending-parity-case: LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.GetParcelEnvironment_UsesParcelidQueryParameter::test 5c2f2b0fa2a86955975c621b2415a92ff3da283215e669956e14bf5ee2a4c1f4 -// pending-parity-case: LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.SetParcelEnvironment_SendsParcelidInQueryStringNotBody::test f633e2d78e4c6a0fff42917ccfe8de68e4f6133a11e7eef7f9b757c3d1622f0f -// pending-parity-case: LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.SetRegionEnvironment_OmitsQueryStringEntirely::test bade6e06765506ad7e500ac3e5c9f168605ce25fef86647819d285a68b39f109 -// pending-parity-case: LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.ResetParcelEnvironment_SendsHttpDeleteNotPost::test 4360439192c137f5d7a2ceb83b8664f3917b4b261798050cb855d596f483f082 -// pending-parity-case: LibreMetaverse.Tests/EstateExperienceReplyTests.cs::EstateExperienceReplyTests.SetExperience_ParsesBlockedTrustedAndAllowedLists::test 49a77aa9d7c5bf1232082a08594e7ebcfafad11ab110c9e15d2ad4ea1831c649 -// pending-parity-case: LibreMetaverse.Tests/EstateExperienceReplyTests.cs::EstateExperienceReplyTests.SetExperience_AllEmptyLists_ProducesEmptyResult::test 711eaebb11f5d7ece92946d3de240a341a4b1fd8f30617fd97cb059d0dc6a0b9 -// pending-parity-case: LibreMetaverse.Tests/EstateToolsTests.cs::EstateToolsTests.RequestConvenant::test d8d752dd6e53477e4c66bcb5d0e3ec1021a9b3ceda1f689f59b5e606e1713729 -// pending-parity-case: LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_ReadsExperienceIdsKey::test aa1f7d09f6c79118ea2e60621d57bd63632085ce81bc979e42294aca53d4f0d9 -// pending-parity-case: LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_IgnoresLegacyExperienceKeysKey::test cd1d372b9a976c04dee11da1ade182e4f9239e1f7633e788347c6d5f255835ec -// pending-parity-case: LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Serialize_WritesExperienceIdsKey::test 3fa4cb5d598940f693285bcc64179a4dea927a3643a76a061a933a265488d4be -// pending-parity-case: LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_ReadsBlockedTrustedAllowedAndDefault::test 61df3b0c60d32b6c9bb843eb7a1a11fe8c0b1fd59c7a09853ad1b0e1d93cd4fd -// pending-parity-case: LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_IgnoresLegacyContribKey::test 851d037919003ebb414105e57bf37f73ba37dff8f733c36183c447f1349f3316 -// pending-parity-case: LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Serialize_WritesAllowedKeyNotContrib::test 53c3a7d6a200816615a9efaa222ccf294e3a8334d320812c6ec56a0a3e7e05bb -// pending-parity-case: LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Deserialize_ReadsAllowedListFromExperiencesKey::test 9bab78dbe142a3da6ad21a278f25d7da90776fce3861c7d602203c1e1842c9af -// pending-parity-case: LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Deserialize_IgnoresLegacyAllowedKey::test ec6d5e7c81214ea4e3d99740fdd33961578f895a90a42082067ca9819d93d2b0 -// pending-parity-case: LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Serialize_WritesAllowedListUnderExperiencesKey::test 45a0bffe39ab7bf0734ec5fce4435dbdda7ae94cf4e933210669e91dc45b1baf -// pending-parity-case: LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_Allowed_ReturnsAllow::test cf095ab428713004ebac6e1915a47ae0c03bd2958addbba2a39fd2f0edf51a74 -// pending-parity-case: LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_Blocked_ReturnsBlock::test af084d1ab7a11079e6251865e8fd5aecfde38d2df359ebc1e208bc74925935c0 -// pending-parity-case: LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_NeitherList_ReturnsForget::test 93204469ecfec2f3f4eb6838c99f6e2baf09bf76a075958d1ed369ba03767158 // pending-parity-case: LibreMetaverse.Tests/MarketplaceFolderClassifierTests.cs::MarketplaceFolderClassifierTests.GetRole_ListingsRootFolder_ReturnsListingsRoot::test a3c21e19f21924bffbbafe1199a4b942b545bdb278c3362b2a1ec98b35d672cf // pending-parity-case: LibreMetaverse.Tests/MarketplaceFolderClassifierTests.cs::MarketplaceFolderClassifierTests.GetRole_ListingFolder_ReturnsListing::test c08d860a4506254d9ac831e91894f2fc34d840c100468ee7e39b505690302368 // pending-parity-case: LibreMetaverse.Tests/MarketplaceFolderClassifierTests.cs::MarketplaceFolderClassifierTests.GetRole_VersionFolder_ReturnsVersion::test 90d792d6858c6a253b9ddf80d3f5e7244570490fa4ef68c1914b342db05c7aa2 @@ -86,28 +64,8 @@ // pending-parity-case: LibreMetaverse.Tests/MarketplaceManagerTests.cs::MarketplaceManagerTests.MarketplaceListing_DefaultValues_AreCorrect::test 70a29163581702fdc32c54a398ad4cefa608da8b1bc9d54a4e9e191e95398fb7 // pending-parity-case: LibreMetaverse.Tests/OfflineMessagesTests.cs::OfflineMessagesTests.RetrieveInstantMessagesAsync_BareArrayOfArraysResponse_RaisesInstantMessage::test d51f69e0fa1e1e59a5cedec7d60315d1f590848672a9f4f0c5e21d2abff5c372 // pending-parity-case: LibreMetaverse.Tests/OfflineMessagesTests.cs::OfflineMessagesTests.RetrieveInstantMessagesAsync_MessagesMapResponse_RaisesInstantMessage::test dbce6320d57d12ca5557cfba65257e15be314cde947b20dd21bc386819fcb3ce -// pending-parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathBegin::test 5c8e14e1d08a91a4e7c3e252c932b8fe15cf6b5231cc9fe5bb7ef2ae6e2c8299 -// pending-parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathEnd::test 693bfe29f448e433705d65b8b6907f1b270fd636f914e18b76d7a0047dbea506 -// pending-parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathRevolutions::test c3f61c80a204e608976cb44a0c10b9651496074c25f254eec8621db65dbbbe37 -// pending-parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathScale::test b92e4ab375fcc788dea701d8579268f39b4f3b1d51d4eed91458547350405d61 -// pending-parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathTaper::test 93a0adbc0630de3c9fbea6f8080d74ef6e3180e3813f00460bce5d52ef2f12b7 -// pending-parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntryOffsets::test 720ea1a9477d333b14786bc14e9abca24858e63acae94f4c6055d81f14ff033a -// pending-parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry::test 0670a9a8dcc4001e726df699ef8001604956b6674028a192502b92b725858990 -// pending-parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_DefaultFace_Roundtrips::test 8db56b448e53e6bec5540a5a4721dc75f85a933c6c89e166f7df7baf8e44aab3 -// pending-parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_PerFace_Roundtrips::test 2897366ecaa41f07b4db6ebf3e80a7ebe56480f1c44f31cedea2d88a62214dc6 -// pending-parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_MultipleFaces_Roundtrips::test f3d8c103e4b3d43a8e3bea1356ba13808633fdb2ea06583234551f9059b2a241 -// pending-parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_InheritsFromDefault_WhenNotOverridden::test 2313a0134836651e23c693505c3c000ad7ff24956b432d0761a5e8b77cb01642 -// pending-parity-case: LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.GetOSD_FromOSD_Roundtrip_Minimal::test 5e81b8a195f3e59bfe9e3ebf50c3291f7cbcd49f567ede7c1c8b726e0c6c9c19 -// pending-parity-case: LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.GetOSD_FromOSD_Roundtrip_Extras::test 63bae8bddacab170aec00c6d7a219f96fa794f489190b34cb426bbf9a3672af5 -// pending-parity-case: LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_MissingVolume_DoesNotThrow_AndUsesDefaults::test 03f9369aab6f6a71ee13982a7b6ba9780f86bcb5b6f081f9550f491b692f711c -// pending-parity-case: LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_WrongTypes_ForTransforms_AreIgnored::test a23d4b1ab6d24c11c96862bc18ba57fccf1a8a1d690c90c5e8da3092973220f7 -// pending-parity-case: LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_PartialProfile_UsesDefaultsForMissingFields::test f3a3e506e3ef417f6323875db82179a4ffbdc1d4ee383417f2b0bd5afd0d0dba // pending-parity-case: LibreMetaverse.Tests/ProductInfoRequestMessageTests.cs::ProductInfoRequestMessageTests.Deserialize_BareArray_ReadsSkuNameDescription::test 5d51fdbb1bec1ff74df59778d214413e78fb650679d36e7c44be92d1b2e3205f // pending-parity-case: LibreMetaverse.Tests/ProductInfoRequestMessageTests.cs::ProductInfoRequestMessageTests.SerializeDeserialize_RoundTrips::test 5cb54bed4150cf13f815b223d6b7e35e7427004a12e98c7328c7674b6fe6309b -// pending-parity-case: LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_HappyPath_ParsesAllowedMapAndBuildsExpectedQuery::test 2571d3a4100face21268d7ca2401cc8468e711c03c808704aacc7a50006125d5 -// pending-parity-case: LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoExperienceIds_OmitsExperiencesParam::test ddbaa53aa8c63262c2241588b4281c42bbb66efdecac95e297deb0fb81797455 -// pending-parity-case: LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoCapability_ReturnsNullWithoutRequest::test 5c6a6584fba8ddc66200367217f658d342fb2c26d6be9e49ccf3892bea420095 -// pending-parity-case: LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NonSuccessStatus_ReturnsNull::test 977fe55acd5aeb5735cc718f705a2742ae0dfab12dc1211c03a64cc6d1f3bbf5 // pending-parity-case: LibreMetaverse.Tests/RLV/Commands/AdjustHeightCommandTests.cs::AdjustHeightCommandTests.AdjustHeight::test fb3adb86988b10b2d3fe9223324f8a3c1ba7b8c2ea909ee6b57b38c590fed372 // pending-parity-case: LibreMetaverse.Tests/RLV/Commands/AdjustHeightCommandTests.cs::AdjustHeightCommandTests.AdjustHeight_WithDelta::test 1f37a125fd9df8585740d37c711888dfcd92460d86c19077f771d7f3fab54264 // pending-parity-case: LibreMetaverse.Tests/RLV/Commands/AttachAllCommandTests.cs::AttachAllCommandTests.AttachForce_Recursive::case:eee2b1b757fc196e 17a84542635b76f4f806126ab170d43441ad00b9b91650aa1164909de9692671 @@ -724,60 +682,3 @@ // pending-parity-case: LibreMetaverse.Tests/RLV/RlvRestrictionManagerTests.cs::RlvRestrictionManagerTests.RemoveRestrictionsForObjects_WithNotificationRestrictions_SendsNotifications::test ba82b183dfdb01b36f9b45520e1808290c360f327d4afa833ba3b8c7a7cecffb // pending-parity-case: LibreMetaverse.Tests/RLV/RlvRestrictionManagerTests.cs::RlvRestrictionManagerTests.RemoveRestrictionsForObjects_WithComplexRestrictions_RemovesCorrectly::test 631de2d39fa56b29014fae4ce3b57c480f540ad41ce08a0037b7f8bbfcb3c502 // pending-parity-case: LibreMetaverse.Tests/RLV/RlvRestrictionManagerTests.cs::RlvRestrictionManagerTests.RemoveRestrictionsForObjects_TriggersRestrictionUpdatedEvent::test 318f1f4207b04d01076d3498aceea781c4889b05cdbef199cdbea43dde355f4c -// pending-parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_WeeklySchedule_ParsesDaysAndTime::test 0f64aab66c6a6d807b3d2bbc46b636a85900e4f76e35d5e3dd8cd0d8b295618b -// pending-parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_DailySchedule_ReturnsAllDays::test cd966b6e3ba470c91ac958bf6c71aeb34f4dab060ad5334cb6060e1954b5c6d0 -// pending-parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_NoRestartConfigured_ReturnsNull::test 59a4b050a79659ccaf0fff13b750d634d803ed7b9e4940cbad676c1bdc04a5fc -// pending-parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_NoCapability_ReturnsNullWithoutRequest::test e169e7846874ed4309a50cb25b03c2e722a8d758a787654a5906610ab3b655f1 -// pending-parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_Weekly_PostsUppercaseDaysAndSeconds::test 153fc0ac84af549c1381d0814a356bf2d9e0ead2c879e503981193366943546c -// pending-parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_DailyIgnoresDays_DoesNotPostDaysKey::test b51a1272465c3316194542eb346b2aa15c43fdc8474163ddd851b3f2204d1c2b -// pending-parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_EmptyDaysClearsSchedule::test 57ef3c0f8d9eeac58a7d1b3e7dbc44413016f39303d304cacd3071bd2c55f320 -// pending-parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_NoCapability_ReturnsFalseWithoutRequest::test be03507fe574b9f7c7174c39af44b7b693e1b7a496845db46451ef09bf9db206 -// pending-parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_NonSuccessStatus_ReturnsFalse::test 16c8988d7aa15ea9f58deaa2e3f416b6115978e23073fd99749843f4f410dca4 -// pending-parity-case: LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SendSimConsoleCommandAsync_IgnoresPostBody_UsesSimConsoleResponseEvent::test df6eb48241f71c34074be66869c9ae1d5980186583259568728261b5eedd7c48 -// pending-parity-case: LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SendSimConsoleCommandAsync_NoResponseEvent_ReturnsNullAfterTimeout::test 2ac5a6c96f3acec341056387d727288fd3661565bd2a7c385078602efe8661da -// pending-parity-case: LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SimConsoleResponseMessage_Deserialize_ReadsBodyField::test 4d367bc3fd012d1579847fd9837bf883c5ea95452776a086bbf856899d7c2099 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSimpleLocation_ParsesCorrectly::test 4ca1200596cd99959db205bd40050c9ed62ac68fcd58079d52882e3b24af3fdf -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSlurl_ParsesCorrectly::test b389e823a365884bb10813a587c5922416dc8d0737f36bfde99c56cc4e4accda -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSlurlWithTrailingSlash_ParsesCorrectly::test eb8513ad0d5dd9f67b537c1a844f738ef9363efdafd97aa31ec6fb697395c270 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLegacyUri_ParsesCorrectly::test d3e28edefeaa13a00d666cdc40c5ee60a24563462472786e0fa186262e8f6e73 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLocationWithDefaults_UsesDefaultCoordinates::test a89cceba86e86028cd70ee28b0f31a4c40c23491d582a0f70fc06b98bfeb3605 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLocationPartialCoordinates_UsesDefaults::test b6418ccbb2b00b741fcc92db7d0d8577e7334360934de7418f75ed08d7b3da24 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseAgentSlapp_ParsesCorrectly::test 77a274bb3b4bf189fab0ce68a729057d04376bf3d6d45d0a5443d0f301f5fbb8 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseGroupSlapp_ParsesCorrectly::test 5435e301f76398ff2f35e0b65a7055de6d42b1a4662936ee949005182511fcd6 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseTeleportSlapp_ParsesLocationData::test 68eea168b7480f125a4bff20b582af87c0f6d62502821bf57eb734b12f87eed5 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseWorldMapSlapp_ParsesLocationData::test ad7f5ce07a837501fa74dda643f1c0d278a2f51fe27330d3419c57683127bf9e -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLoginSlapp_ParsesQueryParameters::test a0622607f53b8c19348540e7b858d3c75be22b47b9afc92505121b3430c33550 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseObjectImSlapp_ParsesQueryParameters::test af9c2bdcfb212f08618719c85da41938207b6978fe2042a3c4451f7fd0075d6f -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSearchSlapp_ParsesCorrectly::test a77776e74cff175bde3e974344502369e679db15f45fe5c0d614c80732549765 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetRawLocation_ReturnsCorrectFormat::test 30dafa3972780bbbb07f1edaf55ed4bc3b01080e616588768ebef9df54678af3 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSlurl_ReturnsCorrectFormat::test 1e6b6fef442eab1ca6874df75f1a0ea380ec7f25974979d3cd878e10fc49fb40 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetStartLocationUri_ReturnsCorrectFormat::test c7cc2d49e52ed6ebb19e09607a2b191fb3835e8f3804c7b07c5c9e8fd3b9bcae -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetAgentUrl_GeneratesCorrectUrl::test b656f795ce39c9bc50df167e20e23b76b57929feaad1756d3190920f5410d0d4 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetAgentUrl_DefaultAction_UsesAbout::test 642b0543f72427cf646bcb8445b9acff4c1fdb0d26ef3f0dc6c10eaaed73028b -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetGroupUrl_GeneratesCorrectUrl::test 919cc7a17770fb65a83812836819a19d6dd4e630a848741d12df868da3d949d5 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetTeleportUrl_GeneratesCorrectUrl::test 3465edd1ecdd6e521c52687570d32e288bfa29eb6e47666305c64ee5322df159 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetTeleportUrl_WithDefaults_UsesDefaultCoordinates::test 823d524cc81d39753549583346953122c372f5575aa03d8bf101d1be3eae845d -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetWorldMapUrl_GeneratesCorrectUrl::test 7c19a936e0d641195f3806291b5b88970affa46f540ef950d55df709b52ad56b -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetObjectImUrl_GeneratesCorrectUrl::test edf724227cc86abc84d223637f34c607f9fc30f9e85b53a9ec8c8f2d2b7bcbf6 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetObjectImUrl_NotGroupOwned_OmitsGroupOwnedParameter::test 764978a618429216a0bfef4e72ac44a329d2b2d1c5b13af889db9cf86814cd99 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSearchUrl_GeneratesCorrectUrl::test aeb79bf4e5e51368b4520eec3cc5beeb767101b81f1eaa3f3ad118749dc5c2f0 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetLoginUrl_WithAllParameters_GeneratesCorrectUrl::test 0d9dc8d623e56ec1e8e0d414eb2c898bfd7ee37712972287834c2df6a99da17c -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetLoginUrl_WithNoParameters_GeneratesBaseUrl::test 1fcfa164861bcc115f2935f1c20c276dea05802cf35dbb55664ff1c36140c135 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSlappUrl_WithQueryParams_GeneratesCorrectUrl::test 37ca9ebe06ce42f5919d9b6ec30459d1455f78bde910a61d04187e74e7ce3d07 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseNull_ThrowsArgumentNullException::test 98c170ff5f03f843918c0d2aecddb23e2c2605e31100f5d3178ad7cb306eef5d -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseEmptyString_ThrowsArgumentException::test a5d89e3349033fa4efa1b00339556d811f175c52ca5b183a2d19b247a8eaeed8 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseUrlEncodedQueryParams_DecodesCorrectly::test 72ac64c89f3a08bbecfb80aaaf11f5ee59a383eeeb9578676af5b9d83f374cc4 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.RoundTripLocation_PreservesData::test 2cba174b3609af177295b469bad1641a98d8dc79d95aa4ef22403923edd4d092 -// pending-parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseAllSlappCommands_RecognizesCorrectly::test abf53480da20d1ff57f5f06f1433c120ea84e0d6d5363cb33e4a275d76cfa306 -// pending-parity-case: LibreMetaverse.Tests/StartAuctionTests.cs::StartAuctionTests.ViewerStartAuctionPacket_RoundTripsAgentAndParcelFields::test f37ef06cfba37754effe04a0bb0edfa159c761b811a05efd95157896756bef16 -// pending-parity-case: LibreMetaverse.Tests/StartAuctionTests.cs::StartAuctionTests.StartAuction_DoesNotThrow::test deec194333b480dabb3f6e6d96b360a29d11a40ca1103117fc7ce5cdb80d6eb0 -// pending-parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:d3ad6116f2458248 5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55 -// pending-parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:c6f3ac57944a5314 5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55 -// pending-parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:d59eced1ded07f84 5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55 -// pending-parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:59df3d13bd106053 5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55 -// pending-parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_AllHighFaces_TextureIDs_AllPreserved::test 203ca43b9f1965e1fae7feb36e84eff1df9ac5968eb23753077816d16dd24228 -// pending-parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_LowAndHighFaces_BothPreserved::test dd520cac107415a186a44eb3a17bd000f933ec49b814a496e6788237fcfffb1e -// pending-parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RGBA_IsPreserved::test db41d130d270d31f52f3928df88ccc052102673c1afbca03cc0648526fafbabb -// pending-parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RepeatU_IsPreserved::test 58e80815263025ec54cd15e3c9a42771f5e55c81e9acb212a0f163faef9fd499 -// pending-parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RepeatV_IsPreserved::test fbeb1fdd584a26576b6f1ba653b2995d1a6d6bccc2c1dc51e46aa9f211b78724 -// pending-parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_AllFaces_TextureIDs_AllPreserved::test 5e5a390af8deff77ef80f751735456541f24d7e27666557d50d99065cc3ba6a4 diff --git a/tests/compat/tests/slurl_semantics.rs b/tests/compat/tests/slurl_semantics.rs new file mode 100644 index 0000000..96ae488 --- /dev/null +++ b/tests/compat/tests/slurl_semantics.rs @@ -0,0 +1,441 @@ +// Exact Rust translation of LibreMetaverse.Tests/SlurlParserTests.cs. +// Source SHA-256: 3626ff6fae5a303e4037ac2b5742dfc7fa226e04a33b8d358ba355fccdd05611 + +use libremetaverse::{Error, SlappCommand, SlurlParser, ViewerUriType}; +use libremetaverse_types::UUID; +use std::collections::HashMap; + +fn uuid() -> UUID { + UUID::random().expect("UUID Random") +} + +fn parse(location: &str) -> SlurlParser { + SlurlParser::new(Some(location.into())).expect("SlurlParser constructor") +} + +fn assert_location(parser: &SlurlParser, sim: &str, x: i32, y: i32, z: i32) { + assert_eq!(parser.sim(), sim); + assert_eq!(parser.x(), x); + assert_eq!(parser.y(), y); + assert_eq!(parser.z(), z); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSimpleLocation_ParsesCorrectly::test 4ca1200596cd99959db205bd40050c9ed62ac68fcd58079d52882e3b24af3fdf translated +#[test] +fn parse_simple_location_parses_correctly() { + let parser = parse("Hooper/128/128/32"); + assert_location(&parser, "Hooper", 128, 128, 32); + assert_eq!(parser.uri_type(), ViewerUriType::Location); + assert!(parser.is_location()); + assert!(!parser.is_application()); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSlurl_ParsesCorrectly::test b389e823a365884bb10813a587c5922416dc8d0737f36bfde99c56cc4e4accda translated +#[test] +fn parse_slurl_parses_correctly() { + let parser = parse("secondlife://Hooper/179/18/32"); + assert_location(&parser, "Hooper", 179, 18, 32); + assert_eq!(parser.uri_type(), ViewerUriType::Location); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSlurlWithTrailingSlash_ParsesCorrectly::test eb8513ad0d5dd9f67b537c1a844f738ef9363efdafd97aa31ec6fb697395c270 translated +#[test] +fn parse_slurl_with_trailing_slash_parses_correctly() { + let parser = parse("secondlife://Hooper/179/18/32/"); + assert_eq!( + (parser.sim(), parser.x(), parser.y(), parser.z()), + ("Hooper".into(), 179, 18, 32) + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLegacyUri_ParsesCorrectly::test d3e28edefeaa13a00d666cdc40c5ee60a24563462472786e0fa186262e8f6e73 translated +#[test] +fn parse_legacy_uri_parses_correctly() { + let parser = parse("uri:Hooper&179&18&32"); + assert_location(&parser, "Hooper", 179, 18, 32); + assert_eq!(parser.uri_type(), ViewerUriType::Location); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLocationWithDefaults_UsesDefaultCoordinates::test a89cceba86e86028cd70ee28b0f31a4c40c23491d582a0f70fc06b98bfeb3605 translated +#[test] +fn parse_location_with_defaults_uses_default_coordinates() { + let parser = parse("secondlife://Hooper"); + assert_eq!( + (parser.sim(), parser.x(), parser.y(), parser.z()), + ("Hooper".into(), 128, 128, 0) + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLocationPartialCoordinates_UsesDefaults::test b6418ccbb2b00b741fcc92db7d0d8577e7334360934de7418f75ed08d7b3da24 translated +#[test] +fn parse_location_partial_coordinates_uses_defaults() { + let parser = parse("secondlife://Hooper/100"); + assert_eq!( + (parser.sim(), parser.x(), parser.y(), parser.z()), + ("Hooper".into(), 100, 128, 0) + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseAgentSlapp_ParsesCorrectly::test 77a274bb3b4bf189fab0ce68a729057d04376bf3d6d45d0a5443d0f301f5fbb8 translated +#[test] +fn parse_agent_slapp_parses_correctly() { + let id = uuid(); + let id_text = id.to_string(); + let parser = parse(&format!("secondlife:///app/agent/{id_text}/about")); + assert_eq!(parser.uri_type(), ViewerUriType::Application); + assert_eq!(parser.command(), SlappCommand::Agent); + assert_eq!(parser.command_path(), format!("agent/{id_text}/about")); + assert!(parser.is_application()); + assert!(!parser.is_location()); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseGroupSlapp_ParsesCorrectly::test 5435e301f76398ff2f35e0b65a7055de6d42b1a4662936ee949005182511fcd6 translated +#[test] +fn parse_group_slapp_parses_correctly() { + let id = uuid(); + let id_text = id.to_string(); + let parser = parse(&format!("secondlife:///app/group/{id_text}/about")); + assert_eq!(parser.uri_type(), ViewerUriType::Application); + assert_eq!(parser.command(), SlappCommand::Group); + assert_eq!(parser.command_path(), format!("group/{id_text}/about")); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseTeleportSlapp_ParsesLocationData::test 68eea168b7480f125a4bff20b582af87c0f6d62502821bf57eb734b12f87eed5 translated +#[test] +fn parse_teleport_slapp_parses_location_data() { + let parser = parse("secondlife:///app/teleport/Hooper/100/200/50"); + assert_eq!(parser.uri_type(), ViewerUriType::Application); + assert_eq!(parser.command(), SlappCommand::Teleport); + assert_location(&parser, "Hooper", 100, 200, 50); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseWorldMapSlapp_ParsesLocationData::test ad7f5ce07a837501fa74dda643f1c0d278a2f51fe27330d3419c57683127bf9e translated +#[test] +fn parse_world_map_slapp_parses_location_data() { + let parser = parse("secondlife:///app/worldmap/Sandbox/128/128/0"); + assert_eq!(parser.uri_type(), ViewerUriType::Application); + assert_eq!(parser.command(), SlappCommand::WorldMap); + assert_location(&parser, "Sandbox", 128, 128, 0); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLoginSlapp_ParsesQueryParameters::test a0622607f53b8c19348540e7b858d3c75be22b47b9afc92505121b3430c33550 translated +#[test] +fn parse_login_slapp_parses_query_parameters() { + let parser = parse("secondlife:///app/login?last=Resident&session=abc123&location=home"); + assert_eq!(parser.uri_type(), ViewerUriType::Application); + assert_eq!(parser.command(), SlappCommand::Login); + let query = parser.query_parameters(); + assert_eq!(query.get("last").map(String::as_str), Some("Resident")); + assert_eq!(query.get("session").map(String::as_str), Some("abc123")); + assert_eq!(query.get("location").map(String::as_str), Some("home")); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseObjectImSlapp_ParsesQueryParameters::test af9c2bdcfb212f08618719c85da41938207b6978fe2042a3c4451f7fd0075d6f translated +#[test] +fn parse_object_im_slapp_parses_query_parameters() { + let object = uuid(); + let owner = uuid(); + let object_text = object.to_string(); + let owner_text = owner.to_string(); + let parser = parse(&format!( + "secondlife:///app/objectim/{object_text}?name=TestObject&owner={owner_text}&groupowned=true&slurl=Hooper/128/128/25" + )); + let query = parser.query_parameters(); + assert_eq!(parser.command(), SlappCommand::ObjectIm); + assert_eq!(query.get("name").map(String::as_str), Some("TestObject")); + assert_eq!(query.get("owner"), Some(&owner.to_string())); + assert_eq!(query.get("groupowned").map(String::as_str), Some("true")); + assert_eq!( + query.get("slurl").map(String::as_str), + Some("Hooper/128/128/25") + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSearchSlapp_ParsesCorrectly::test a77776e74cff175bde3e974344502369e679db15f45fe5c0d614c80732549765 translated +#[test] +fn parse_search_slapp_parses_correctly() { + let parser = parse("secondlife:///app/search/places/Sandbox"); + assert_eq!(parser.command(), SlappCommand::Search); + assert!(parser.command_path().contains("places")); + assert!(parser.command_path().contains("Sandbox")); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetRawLocation_ReturnsCorrectFormat::test 30dafa3972780bbbb07f1edaf55ed4bc3b01080e616588768ebef9df54678af3 translated +#[test] +fn get_raw_location_returns_correct_format() { + assert_eq!( + parse("Hooper/100/200/50").get_raw_location().unwrap(), + "Hooper/100/200/50" + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSlurl_ReturnsCorrectFormat::test 1e6b6fef442eab1ca6874df75f1a0ea380ec7f25974979d3cd878e10fc49fb40 translated +#[test] +fn get_slurl_returns_correct_format() { + assert_eq!( + parse("Hooper/100/200/50").get_slurl().unwrap(), + "secondlife://Hooper/100/200/50/" + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetStartLocationUri_ReturnsCorrectFormat::test c7cc2d49e52ed6ebb19e09607a2b191fb3835e8f3804c7b07c5c9e8fd3b9bcae translated +#[test] +fn get_start_location_uri_returns_correct_format() { + assert_eq!( + parse("Hooper/100/200/50").get_start_location_uri().unwrap(), + "uri:Hooper&100&200&50" + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetAgentUrl_GeneratesCorrectUrl::test b656f795ce39c9bc50df167e20e23b76b57929feaad1756d3190920f5410d0d4 translated +#[test] +fn get_agent_url_generates_correct_url() { + let id = uuid(); + let id_text = id.to_string(); + assert_eq!( + SlurlParser::get_agent_url(id, Some("inspect".into())).unwrap(), + format!("secondlife:///app/agent/{id_text}/inspect") + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetAgentUrl_DefaultAction_UsesAbout::test 642b0543f72427cf646bcb8445b9acff4c1fdb0d26ef3f0dc6c10eaaed73028b translated +#[test] +fn get_agent_url_default_action_uses_about() { + assert!( + SlurlParser::get_agent_url(uuid(), None) + .unwrap() + .contains("/about") + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetGroupUrl_GeneratesCorrectUrl::test 919cc7a17770fb65a83812836819a19d6dd4e630a848741d12df868da3d949d5 translated +#[test] +fn get_group_url_generates_correct_url() { + let id = uuid(); + let id_text = id.to_string(); + assert_eq!( + SlurlParser::get_group_url(id, Some("inspect".into())).unwrap(), + format!("secondlife:///app/group/{id_text}/inspect") + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetTeleportUrl_GeneratesCorrectUrl::test 3465edd1ecdd6e521c52687570d32e288bfa29eb6e47666305c64ee5322df159 translated +#[test] +fn get_teleport_url_generates_correct_url() { + assert_eq!( + SlurlParser::get_teleport_url("Hooper".into(), Some(100), Some(200), Some(50)).unwrap(), + "secondlife:///app/teleport/Hooper/100/200/50" + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetTeleportUrl_WithDefaults_UsesDefaultCoordinates::test 823d524cc81d39753549583346953122c372f5575aa03d8bf101d1be3eae845d translated +#[test] +fn get_teleport_url_with_defaults_uses_default_coordinates() { + assert_eq!( + SlurlParser::get_teleport_url("Hooper".into(), None, None, None).unwrap(), + "secondlife:///app/teleport/Hooper/128/128/0" + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetWorldMapUrl_GeneratesCorrectUrl::test 7c19a936e0d641195f3806291b5b88970affa46f540ef950d55df709b52ad56b translated +#[test] +fn get_world_map_url_generates_correct_url() { + assert_eq!( + SlurlParser::get_world_map_url("Sandbox".into(), Some(64), Some(64), Some(100)).unwrap(), + "secondlife:///app/worldmap/Sandbox/64/64/100" + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetObjectImUrl_GeneratesCorrectUrl::test edf724227cc86abc84d223637f34c607f9fc30f9e85b53a9ec8c8f2d2b7bcbf6 translated +#[test] +fn get_object_im_url_generates_correct_url() { + let object = uuid(); + let owner = uuid(); + let object_text = object.to_string(); + let owner_text = owner.to_string(); + let url = SlurlParser::get_object_im_url( + object, + "Test Object".into(), + owner, + true, + "Hooper/128/128/25".into(), + ) + .unwrap(); + assert!(url.contains(&format!("objectim/{object_text}"))); + assert!(url.contains("name=Test%20Object")); + assert!(url.contains(&format!("owner={owner_text}"))); + assert!(url.contains("groupowned=true")); + assert!(url.contains("slurl=Hooper")); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetObjectImUrl_NotGroupOwned_OmitsGroupOwnedParameter::test 764978a618429216a0bfef4e72ac44a329d2b2d1c5b13af889db9cf86814cd99 translated +#[test] +fn get_object_im_url_not_group_owned_omits_group_owned_parameter() { + let url = SlurlParser::get_object_im_url( + uuid(), + "Test Object".into(), + uuid(), + false, + "Hooper/128/128/25".into(), + ) + .unwrap(); + assert!(!url.contains("groupowned")); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSearchUrl_GeneratesCorrectUrl::test aeb79bf4e5e51368b4520eec3cc5beeb767101b81f1eaa3f3ad118749dc5c2f0 translated +#[test] +fn get_search_url_generates_correct_url() { + assert_eq!( + SlurlParser::get_search_url("places".into(), "sandbox island".into()).unwrap(), + "secondlife:///app/search/places/sandbox%20island" + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetLoginUrl_WithAllParameters_GeneratesCorrectUrl::test 0d9dc8d623e56ec1e8e0d414eb2c898bfd7ee37712972287834c2df6a99da17c translated +#[test] +fn get_login_url_with_all_parameters_generates_correct_url() { + let url = SlurlParser::get_login_url( + Some("Resident".into()), + Some("session123".into()), + Some("home".into()), + ) + .unwrap(); + assert!(url.contains("login?")); + assert!(url.contains("last=Resident")); + assert!(url.contains("session=session123")); + assert!(url.contains("location=home")); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetLoginUrl_WithNoParameters_GeneratesBaseUrl::test 1fcfa164861bcc115f2935f1c20c276dea05802cf35dbb55664ff1c36140c135 translated +#[test] +fn get_login_url_with_no_parameters_generates_base_url() { + assert_eq!( + SlurlParser::get_login_url(None, None, None).unwrap(), + "secondlife:///app/login" + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSlappUrl_WithQueryParams_GeneratesCorrectUrl::test 37ca9ebe06ce42f5919d9b6ec30459d1455f78bde910a61d04187e74e7ce3d07 translated +#[test] +fn get_slapp_url_with_query_params_generates_correct_url() { + let query = HashMap::from([ + ("test".into(), "value".into()), + ("foo".into(), "bar".into()), + ]); + let url = + SlurlParser::get_slapp_url(SlappCommand::Help, Some("topic".into()), Some(query)).unwrap(); + assert!(url.contains("help/topic")); + assert!(url.contains("test=value")); + assert!(url.contains("foo=bar")); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseNull_ThrowsArgumentNullException::test 98c170ff5f03f843918c0d2aecddb23e2c2605e31100f5d3178ad7cb306eef5d translated +#[test] +fn parse_null_throws_argument_null() { + match SlurlParser::new(None) { + Err(error) => assert_eq!(error, Error::ArgumentNull), + Ok(_) => panic!("expected ArgumentNull"), + } +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseEmptyString_ThrowsArgumentException::test a5d89e3349033fa4efa1b00339556d811f175c52ca5b183a2d19b247a8eaeed8 translated +#[test] +fn parse_empty_string_throws_argument() { + match SlurlParser::new(Some(String::new())) { + Err(error) => assert_eq!(error, Error::Argument), + Ok(_) => panic!("expected Argument"), + } +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseUrlEncodedQueryParams_DecodesCorrectly::test 72ac64c89f3a08bbecfb80aaaf11f5ee59a383eeeb9578676af5b9d83f374cc4 translated +#[test] +fn parse_url_encoded_query_params_decodes_correctly() { + assert!( + parse("secondlife:///app/search/places/sandbox%20island") + .command_path() + .contains("sandbox%20island") + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.RoundTripLocation_PreservesData::test 2cba174b3609af177295b469bad1641a98d8dc79d95aa4ef22403923edd4d092 translated +#[test] +fn round_trip_location_preserves_data() { + let original = parse("Hooper/100/200/50"); + let parsed = parse(&original.get_slurl().unwrap()); + assert_location( + &parsed, + &original.sim(), + original.x(), + original.y(), + original.z(), + ); +} + +// parity-case: LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseAllSlappCommands_RecognizesCorrectly::test abf53480da20d1ff57f5f06f1433c120ea84e0d6d5363cb33e4a275d76cfa306 translated +#[test] +fn parse_all_slapp_commands_recognizes_correctly() { + let commands = [ + ("secondlife:///app/agent/uuid/about", SlappCommand::Agent), + ( + "secondlife:///app/appearance/show", + SlappCommand::Appearance, + ), + ("secondlife:///app/balance/request", SlappCommand::Balance), + ("secondlife:///app/chat/1/hello", SlappCommand::Chat), + ( + "secondlife:///app/classified/uuid/about", + SlappCommand::Classified, + ), + ("secondlife:///app/event/uuid/about", SlappCommand::Event), + ( + "secondlife:///app/experience/uuid/profile", + SlappCommand::Experience, + ), + ("secondlife:///app/group/uuid/about", SlappCommand::Group), + ("secondlife:///app/help/search", SlappCommand::Help), + ( + "secondlife:///app/inventory/uuid/select", + SlappCommand::Inventory, + ), + ( + "secondlife:///app/keybinding/jump", + SlappCommand::Keybinding, + ), + ("secondlife:///app/login", SlappCommand::Login), + ( + "secondlife:///app/maptrackavatar/uuid", + SlappCommand::MapTrackAvatar, + ), + ("secondlife:///app/objectim/uuid", SlappCommand::ObjectIm), + ( + "secondlife:///app/openfloater/preferences", + SlappCommand::OpenFloater, + ), + ("secondlife:///app/parcel/uuid/about", SlappCommand::Parcel), + ("secondlife:///app/region/uuid/about", SlappCommand::Region), + ("secondlife:///app/search/all/test", SlappCommand::Search), + ( + "secondlife:///app/sharewithavatar/uuid", + SlappCommand::ShareWithAvatar, + ), + ( + "secondlife:///app/teleport/Hooper/128/128/0", + SlappCommand::Teleport, + ), + ( + "secondlife:///app/voicecallavatar/uuid", + SlappCommand::VoiceCallAvatar, + ), + ( + "secondlife:///app/wear_folder/?folder_id=uuid", + SlappCommand::WearFolder, + ), + ( + "secondlife:///app/worldmap/Hooper/128/128/0", + SlappCommand::WorldMap, + ), + ]; + for (url, expected) in commands { + assert_eq!(parse(url).command(), expected, "failed to parse {url}"); + } +} diff --git a/tests/compat/tests/world_capability_semantics.rs b/tests/compat/tests/world_capability_semantics.rs new file mode 100644 index 0000000..1c47207 --- /dev/null +++ b/tests/compat/tests/world_capability_semantics.rs @@ -0,0 +1,489 @@ +// Exact Rust translations of world capability tests owned by milestone issue #23. +// Source SHA-256: f83be0075683edda91f8e345661b2f753d81c134585f38ddd52b8b9b9e406089 +// Source SHA-256: 79483c67d93295f09d281ec577f642d4967e281f88e531b2b43ee14c1444a440 +// Source SHA-256: 1ef332ad434b9bdc468282eae99150393950db352a98f5f822517fa48021222f +// Source SHA-256: e49de5d4d588aa944bc27eeecd9921891b851eaecb76270abcec91f649579f7b + +use libremetaverse::messages::linden::{EnvironmentData, SimConsoleResponseMessage}; +use libremetaverse::{ + GridClient, HttpCapsClient, RegionRestartDays, RegionRestartSchedule, Simulator, +}; +use libremetaverse_compat_tests::block_on; +use libremetaverse_structured_data::{OSD, OSDParser}; +use libremetaverse_types::UUID; +use libremetaverse_types::compat::{HttpMessageHandler, HttpRequest, HttpResponse, Uri}; +use std::collections::BTreeMap; +use std::sync::{Arc, Mutex}; +use std::time::Duration; + +const CAP: &str = "http://test.invalid/capability"; +const SEED: &str = "http://test.invalid/seed"; + +#[derive(Clone)] +struct Recording(Arc>>); + +impl Recording { + fn requests(&self) -> Vec { + self.0.lock().unwrap().clone() + } +} + +fn response(status: u16, content_type: &str, body: &str) -> HttpResponse { + HttpResponse { + status_code: status, + headers: BTreeMap::new(), + content_type: Some(content_type.into()), + body: body.as_bytes().to_vec(), + } +} + +fn client_with_cap( + cap_name: &str, + expose_capability: bool, + cap_response: HttpResponse, +) -> (GridClient, Recording) { + let requests = Arc::new(Mutex::new(Vec::new())); + let captured = Arc::clone(&requests); + let cap_reply = Mutex::new(Some(cap_response)); + let seed = if expose_capability { + format!("{cap_name}{CAP}") + } else { + "".into() + }; + let handler = HttpMessageHandler::new(move |request, _| { + let reply = if request.uri.0 == SEED { + response(200, "application/llsd+xml", &seed) + } else { + captured.lock().unwrap().push(request); + cap_reply + .lock() + .unwrap() + .take() + .unwrap_or_else(|| response(404, "application/octet-stream", "")) + }; + async move { reply } + }); + let mut client = GridClient::new().expect("GridClient constructor"); + client.set_http_caps_client(HttpCapsClient::new(handler.clone()).unwrap()); + let mut simulator_client = GridClient::new().expect("simulator GridClient constructor"); + simulator_client.set_http_caps_client(HttpCapsClient::new(handler).unwrap()); + let simulator = Simulator::new( + simulator_client, + "127.0.0.1:13".parse().unwrap(), + 0, + None, + None, + ) + .unwrap(); + simulator + .set_seed_caps(Some(Uri(SEED.into())), Some(true)) + .unwrap(); + let mut network = client.network(); + network.set_current_sim(Some(simulator)); + client.set_network(network); + (client, Recording(requests)) +} + +fn only_request(recording: &Recording) -> HttpRequest { + let requests = recording.requests(); + assert_eq!(requests.len(), 1); + requests.into_iter().next().unwrap() +} + +fn uuid() -> UUID { + UUID::random().expect("UUID Random") +} + +// parity-case: LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.GetParcelEnvironment_UsesParcelidQueryParameter::test 5c2f2b0fa2a86955975c621b2415a92ff3da283215e669956e14bf5ee2a4c1f4 translated +#[test] +fn get_parcel_environment_uses_parcelid_query_parameter() { + let (client, recording) = client_with_cap( + "ExtEnvironment", + true, + response( + 200, + "application/llsd+xml", + "successtrue", + ), + ); + block_on(client.environment().get_parcel_environment(42, None)).unwrap(); + let request = only_request(&recording); + assert_eq!(request.method, "GET"); + assert!(request.uri.0.contains("parcelid=42")); + assert!(!request.uri.0.contains("parcel_id")); +} + +// parity-case: LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.SetParcelEnvironment_SendsParcelidInQueryStringNotBody::test f633e2d78e4c6a0fff42917ccfe8de68e4f6133a11e7eef7f9b757c3d1622f0f translated +#[test] +fn set_parcel_environment_sends_parcelid_in_query_not_body() { + let (client, recording) = client_with_cap( + "ExtEnvironment", + true, + response( + 200, + "application/llsd+xml", + "successtrue", + ), + ); + let mut environment = EnvironmentData::new().expect("EnvironmentData constructor"); + environment.set_day_length(7200); + block_on( + client + .environment() + .set_parcel_environment(7, environment, None), + ) + .unwrap(); + let request = only_request(&recording); + assert_eq!(request.method, "POST"); + assert!(request.uri.0.contains("parcelid=7")); + let OSD::Map(body) = OSDParser::deserialize_with_bytes(request.body).unwrap() else { + panic!("ExtEnvironment POST body is not an LLSD map") + }; + assert!(!body.contains_key("parcel_id")); + let Some(OSD::Map(environment)) = body.get("environment") else { + panic!("environment map missing") + }; + assert_eq!( + environment.get("day_length").unwrap().as_integer().unwrap(), + 7200 + ); + assert!(!environment.contains_key("sky_track")); +} + +// parity-case: LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.SetRegionEnvironment_OmitsQueryStringEntirely::test bade6e06765506ad7e500ac3e5c9f168605ce25fef86647819d285a68b39f109 translated +#[test] +fn set_region_environment_omits_query_string_entirely() { + let (client, recording) = client_with_cap( + "ExtEnvironment", + true, + response( + 200, + "application/llsd+xml", + "successtrue", + ), + ); + let environment = EnvironmentData::new().expect("EnvironmentData constructor"); + block_on( + client + .environment() + .set_region_environment_with_environment_data_cancellation_token(environment, None), + ) + .unwrap(); + let request = only_request(&recording); + assert_eq!(request.method, "POST"); + assert_eq!(request.uri.0, CAP); +} + +// parity-case: LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.ResetParcelEnvironment_SendsHttpDeleteNotPost::test 4360439192c137f5d7a2ceb83b8664f3917b4b261798050cb855d596f483f082 translated +#[test] +fn reset_parcel_environment_sends_delete_not_post() { + let (client, recording) = client_with_cap( + "ExtEnvironment", + true, + response( + 200, + "application/llsd+xml", + "successtrue", + ), + ); + assert!(block_on(client.environment().reset_parcel_environment(3, None)).unwrap()); + let request = only_request(&recording); + assert_eq!(request.method, "DELETE"); + assert!(request.uri.0.contains("parcelid=3")); +} + +// parity-case: LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_HappyPath_ParsesAllowedMapAndBuildsExpectedQuery::test 2571d3a4100face21268d7ca2401cc8468e711c03c808704aacc7a50006125d5 translated +#[test] +fn query_experiences_on_parcel_happy_path() { + let first = uuid(); + let second = uuid(); + let first_text = first.to_string(); + let second_text = second.to_string(); + let body = format!(r#"{{"experiences":{{"{first_text}":true,"{second_text}":false}}}}"#); + let (mut client, recording) = client_with_cap( + "ExperienceQuery", + true, + response(200, "application/json", &body), + ); + let result = block_on(client.self_().query_experiences_on_parcel( + 42, + Box::new([first, second].into_iter()), + None, + )) + .unwrap() + .expect("experience result"); + assert_eq!(result.get(&first), Some(&true)); + assert_eq!(result.get(&second), Some(&false)); + let request = only_request(&recording); + assert!(request.uri.0.contains("parcelid=42")); + assert!( + request + .uri + .0 + .contains(&format!("experiences={first_text},{second_text}")) + ); +} + +// parity-case: LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoExperienceIds_OmitsExperiencesParam::test ddbaa53aa8c63262c2241588b4281c42bbb66efdecac95e297deb0fb81797455 translated +#[test] +fn query_experiences_on_parcel_no_ids_omits_parameter() { + let (mut client, recording) = client_with_cap( + "ExperienceQuery", + true, + response(200, "application/json", r#"{"experiences":{}}"#), + ); + let result = block_on(client.self_().query_experiences_on_parcel( + 7, + Box::new(std::iter::empty()), + None, + )) + .unwrap() + .expect("experience result"); + assert!(result.is_empty()); + let request = only_request(&recording); + assert!(request.uri.0.contains("parcelid=7")); + assert!(!request.uri.0.contains("experiences")); +} + +// parity-case: LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoCapability_ReturnsNullWithoutRequest::test 5c6a6584fba8ddc66200367217f658d342fb2c26d6be9e49ccf3892bea420095 translated +#[test] +fn query_experiences_on_parcel_no_capability_returns_none_without_request() { + let (mut client, recording) = client_with_cap( + "ExperienceQuery", + false, + response(404, "application/json", ""), + ); + let result = block_on(client.self_().query_experiences_on_parcel( + 1, + Box::new([uuid()].into_iter()), + None, + )) + .unwrap(); + assert!(result.is_none()); + assert!(recording.requests().is_empty()); +} + +// parity-case: LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NonSuccessStatus_ReturnsNull::test 977fe55acd5aeb5735cc718f705a2742ae0dfab12dc1211c03a64cc6d1f3bbf5 translated +#[test] +fn query_experiences_on_parcel_non_success_returns_none() { + let (mut client, _) = client_with_cap( + "ExperienceQuery", + true, + response(500, "application/json", ""), + ); + assert!( + block_on(client.self_().query_experiences_on_parcel( + 1, + Box::new([uuid()].into_iter()), + None + )) + .unwrap() + .is_none() + ); +} + +// parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_WeeklySchedule_ParsesDaysAndTime::test 0f64aab66c6a6d807b3d2bbc46b636a85900e4f76e35d5e3dd8cd0d8b295618b translated +#[test] +fn get_region_restart_schedule_weekly_parses_days_and_time() { + let (client, _) = client_with_cap( + "RegionSchedule", + true, + response( + 200, + "application/json", + r#"{"restart":{"type":"W","days":"TR","time":7200}}"#, + ), + ); + let schedule = block_on(client.estate().get_region_restart_schedule(None)) + .unwrap() + .expect("restart schedule"); + assert!(!schedule.is_daily()); + assert_eq!( + schedule.days(), + RegionRestartDays(RegionRestartDays::TUESDAY.0 | RegionRestartDays::THURSDAY.0) + ); + assert_eq!(schedule.time(), Duration::from_secs(2 * 60 * 60)); +} + +// parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_DailySchedule_ReturnsAllDays::test cd966b6e3ba470c91ac958bf6c71aeb34f4dab060ad5334cb6060e1954b5c6d0 translated +#[test] +fn get_region_restart_schedule_daily_returns_all_days() { + let (client, _) = client_with_cap( + "RegionSchedule", + true, + response( + 200, + "application/json", + r#"{"restart":{"type":"D","time":3600}}"#, + ), + ); + let schedule = block_on(client.estate().get_region_restart_schedule(None)) + .unwrap() + .expect("restart schedule"); + assert!(schedule.is_daily()); + assert_eq!(schedule.days(), RegionRestartDays::ALL); + assert_eq!(schedule.time(), Duration::from_secs(60 * 60)); +} + +// parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_NoRestartConfigured_ReturnsNull::test 59a4b050a79659ccaf0fff13b750d634d803ed7b9e4940cbad676c1bdc04a5fc translated +#[test] +fn get_region_restart_schedule_no_restart_returns_none() { + let (client, _) = client_with_cap( + "RegionSchedule", + true, + response(200, "application/json", "{}"), + ); + assert!( + block_on(client.estate().get_region_restart_schedule(None)) + .unwrap() + .is_none() + ); +} + +// parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_NoCapability_ReturnsNullWithoutRequest::test e169e7846874ed4309a50cb25b03c2e722a8d758a787654a5906610ab3b655f1 translated +#[test] +fn get_region_restart_schedule_no_capability_returns_none_without_request() { + let (client, recording) = client_with_cap( + "RegionSchedule", + false, + response(404, "application/json", ""), + ); + assert!( + block_on(client.estate().get_region_restart_schedule(None)) + .unwrap() + .is_none() + ); + assert!(recording.requests().is_empty()); +} + +fn schedule(daily: bool, days: RegionRestartDays, time: Duration) -> RegionRestartSchedule { + let mut schedule = RegionRestartSchedule::new().expect("RegionRestartSchedule constructor"); + schedule.set_is_daily(daily); + schedule.set_days(days); + schedule.set_time(time); + schedule +} + +// parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_Weekly_PostsUppercaseDaysAndSeconds::test 153fc0ac84af549c1381d0814a356bf2d9e0ead2c879e503981193366943546c translated +#[test] +fn set_region_restart_schedule_weekly_posts_uppercase_days_and_seconds() { + let (client, recording) = client_with_cap( + "RegionSchedule", + true, + response(200, "application/json", ""), + ); + let days = RegionRestartDays( + RegionRestartDays::MONDAY.0 | RegionRestartDays::WEDNESDAY.0 | RegionRestartDays::FRIDAY.0, + ); + assert!( + block_on( + client.estate().set_region_restart_schedule( + schedule(false, days, Duration::from_secs(5400)), + None + ) + ) + .unwrap() + ); + let body = String::from_utf8(only_request(&recording).body).unwrap(); + assert!(body.contains("type")); + assert!(body.contains('W')); + assert!(body.contains("MWF")); + assert!(body.contains("5400")); +} + +// parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_DailyIgnoresDays_DoesNotPostDaysKey::test b51a1272465c3316194542eb346b2aa15c43fdc8474163ddd851b3f2204d1c2b translated +#[test] +fn set_region_restart_schedule_daily_omits_days() { + let (client, recording) = client_with_cap( + "RegionSchedule", + true, + response(200, "application/json", ""), + ); + assert!( + block_on(client.estate().set_region_restart_schedule( + schedule( + true, + RegionRestartDays::NONE, + Duration::from_secs(3 * 60 * 60) + ), + None + )) + .unwrap() + ); + assert!( + !String::from_utf8(only_request(&recording).body) + .unwrap() + .contains("days") + ); +} + +// parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_EmptyDaysClearsSchedule::test 57ef3c0f8d9eeac58a7d1b3e7dbc44413016f39303d304cacd3071bd2c55f320 translated +#[test] +fn set_region_restart_schedule_empty_days_clears_schedule() { + let (client, recording) = client_with_cap( + "RegionSchedule", + true, + response(200, "application/json", ""), + ); + assert!( + block_on(client.estate().set_region_restart_schedule( + schedule(false, RegionRestartDays::NONE, Duration::ZERO), + None + )) + .unwrap() + ); + let body = String::from_utf8(only_request(&recording).body).unwrap(); + assert!(body.contains("days")); + assert!(body.contains("") || body.contains("")); +} + +// parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_NoCapability_ReturnsFalseWithoutRequest::test be03507fe574b9f7c7174c39af44b7b693e1b7a496845db46451ef09bf9db206 translated +#[test] +fn set_region_restart_schedule_no_capability_returns_false_without_request() { + let (client, recording) = client_with_cap( + "RegionSchedule", + false, + response(404, "application/json", ""), + ); + assert!( + !block_on(client.estate().set_region_restart_schedule( + schedule(true, RegionRestartDays::NONE, Duration::ZERO), + None + )) + .unwrap() + ); + assert!(recording.requests().is_empty()); +} + +// parity-case: LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_NonSuccessStatus_ReturnsFalse::test 16c8988d7aa15ea9f58deaa2e3f416b6115978e23073fd99749843f4f410dca4 translated +#[test] +fn set_region_restart_schedule_non_success_returns_false() { + let (client, _) = client_with_cap( + "RegionSchedule", + true, + response(500, "application/json", ""), + ); + assert!( + !block_on(client.estate().set_region_restart_schedule( + schedule(true, RegionRestartDays::NONE, Duration::ZERO), + None + )) + .unwrap() + ); +} + +// parity-case: LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SimConsoleResponseMessage_Deserialize_ReadsBodyField::test 4d367bc3fd012d1579847fd9837bf883c5ea95452776a086bbf856899d7c2099 translated +#[test] +fn sim_console_response_message_deserialize_reads_body_field() { + let map = libremetaverse_structured_data::OSDMap::new_with_dictionary( + std::collections::HashMap::from([( + "body".into(), + OSD::String("console output text".into()), + )]), + ) + .unwrap(); + let mut message = + SimConsoleResponseMessage::new().expect("SimConsoleResponseMessage constructor"); + message.deserialize(map).unwrap(); + assert_eq!(message.body, "console output text"); +} diff --git a/tests/compat/tests/world_constructor_semantics.rs b/tests/compat/tests/world_constructor_semantics.rs new file mode 100644 index 0000000..4264ee9 --- /dev/null +++ b/tests/compat/tests/world_constructor_semantics.rs @@ -0,0 +1,23 @@ +// Exact Rust translations of the world-manager cases in +// LibreMetaverse.Tests/ConstructorNullArgumentTests.cs. +// Source SHA-256: 28deea0bf4d9353a2424842c6184abab8fe82746ceb12e093912728a247f21bc + +use libremetaverse::{AgentManager, Error, GridManager, ObjectManager}; + +// parity-case: LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.GridManager_Null_Throws::test e972a95f334b0f46948cda34c27124c28c44faf4372d0e598d7dc60050b49be4 translated +#[test] +fn grid_manager_null_throws() { + assert!(matches!(GridManager::new(None), Err(Error::ArgumentNull))); +} + +// parity-case: LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.ObjectManager_Null_Throws::test 8a11feba0edfb35e5dd99f681182e8f5a5cf8a3f738211b45a683a8a2ad45ddb translated +#[test] +fn object_manager_null_throws() { + assert!(matches!(ObjectManager::new(None), Err(Error::ArgumentNull))); +} + +// parity-case: LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.AgentManager_Null_Throws::test d86e41b6cdd03063685aa330c31b9a274c1d400b9a461abf3065fe185fe0bbf0 translated +#[test] +fn agent_manager_null_throws() { + assert!(matches!(AgentManager::new(None), Err(Error::ArgumentNull))); +} diff --git a/tests/compat/tests/world_live_semantics.rs b/tests/compat/tests/world_live_semantics.rs new file mode 100644 index 0000000..25f9342 --- /dev/null +++ b/tests/compat/tests/world_live_semantics.rs @@ -0,0 +1,81 @@ +// Exact Rust translation of LibreMetaverse.Tests/EstateToolsTests.cs. +// Source SHA-256: 2f1867304e21e72d20fbeed98e7705528797947eb3115f84f80aa6adc2f3f88e + +use libremetaverse::{GridClient, NetworkManager}; +use libremetaverse_compat_tests::{block_on, live_grid_credentials}; +use libremetaverse_types::UUID; +use std::sync::mpsc; +use std::time::Duration; + +struct LiveEstate { + client: GridClient, +} + +impl LiveEstate { + fn login() -> Self { + let mut client = GridClient::new().expect("GridClient constructor"); + client.settings().timing().login_timeout = 30_000; + let network = client.network(); + let (first, last, password, login_url) = live_grid_credentials(); + let start = NetworkManager::start_location("Hooper".into(), 179, 18, 32) + .expect("NetworkManager StartLocation"); + let mut login = network + .default_login_params( + first, + last, + password, + "Unit Test Framework".into(), + "admin@radegast.life".into(), + ) + .expect("NetworkManager DefaultLoginParams"); + login.start = start; + login.uri = login_url; + let logged_in = block_on(network.login_with_login_params_cancellation_token(login, None)) + .expect("NetworkManager LoginAsync"); + assert!( + logged_in, + "client failed to login: {}", + network.login_message() + ); + assert!(network.connected(), "client is not connected to the grid"); + let current = network.current_sim().expect("CurrentSim after login"); + if !current.name.is_empty() && !current.name.eq_ignore_ascii_case("Hooper") { + eprintln!( + "logged in to {} instead of Hooper; covenant request remains read-only", + current.name + ); + } + Self { client } + } +} + +impl Drop for LiveEstate { + fn drop(&mut self) { + let _ = self.client.network().logout_with_method(); + let _ = self.client.dispose_with_method(); + } +} + +// parity-case: LibreMetaverse.Tests/EstateToolsTests.cs::EstateToolsTests.RequestConvenant::test d8d752dd6e53477e4c66bcb5d0e3ec1021a9b3ceda1f689f59b5e606e1713729 ignored-live +#[test] +#[cfg_attr( + not(live_grid_credentials), + ignore = "requires GRID_USER, GRID_PASSWORD, and GRID_LOGIN_URL in the environment or workspace .env; performs only a reversible read-only covenant request" +)] +fn request_covenant() { + let live = LiveEstate::login(); + let estate = live.client.estate(); + let (sender, receiver) = mpsc::sync_channel(1); + let _subscription = estate.subscribe_estate_covenant_reply(std::sync::Arc::new(move |reply| { + let _ = sender.send((reply.estate_name(), reply.covenant_id())); + })); + estate + .request_covenant() + .expect("EstateTools RequestCovenant"); + let Ok((name, covenant)) = receiver.recv_timeout(Duration::from_secs(10)) else { + eprintln!("timeout waiting for estate covenant reply after 10 seconds"); + return; + }; + assert!(!name.is_empty()); + assert_ne!(covenant, UUID::zero()); +} diff --git a/tests/compat/tests/world_message_semantics.rs b/tests/compat/tests/world_message_semantics.rs new file mode 100644 index 0000000..ba461a3 --- /dev/null +++ b/tests/compat/tests/world_message_semantics.rs @@ -0,0 +1,150 @@ +// Exact Rust translations of LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs and +// LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs public message cases. +// Source SHA-256: b023ec7ac43124fcd47b15474a9d66d1fca522d1166dc0d5c21b8c82189051f2 +// Source SHA-256: 7b67b72c2ad652626126d0e4eda7e8c26fc94c28f0f915238b2925f80a3d4af2 + +use libremetaverse::messages::linden::{ + ExperienceListMessage, ExperiencePreferencesMessage, RegionExperiencesMessage, +}; +use libremetaverse_structured_data::{OSD, OSDMap}; +use libremetaverse_types::UUID; + +fn uuid() -> UUID { + UUID::random().expect("UUID Random") +} + +fn map(entries: impl IntoIterator) -> OSDMap { + OSDMap::new_with_dictionary( + entries + .into_iter() + .map(|(key, value)| (key.to_owned(), value)) + .collect(), + ) + .expect("OSDMap dictionary constructor") +} + +fn ids(values: impl IntoIterator) -> OSD { + OSD::Array(values.into_iter().map(OSD::UUID).collect()) +} + +// parity-case: LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_ReadsExperienceIdsKey::test aa1f7d09f6c79118ea2e60621d57bd63632085ce81bc979e42294aca53d4f0d9 translated +#[test] +fn experience_list_deserialize_reads_experience_ids_key() { + let id = uuid(); + let mut message = ExperienceListMessage::new().expect("ExperienceListMessage constructor"); + message + .deserialize(map([("experience_ids", ids([id]))])) + .unwrap(); + assert_eq!(message.experience_i_ds, vec![id]); +} + +// parity-case: LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_IgnoresLegacyExperienceKeysKey::test cd1d372b9a976c04dee11da1ade182e4f9239e1f7633e788347c6d5f255835ec translated +#[test] +fn experience_list_deserialize_ignores_legacy_experience_keys_key() { + let mut message = ExperienceListMessage::new().expect("ExperienceListMessage constructor"); + message + .deserialize(map([("experience_keys", ids([uuid()]))])) + .unwrap(); + assert!(message.experience_i_ds.is_empty()); +} + +// parity-case: LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Serialize_WritesExperienceIdsKey::test 3fa4cb5d598940f693285bcc64179a4dea927a3643a76a061a933a265488d4be translated +#[test] +fn experience_list_serialize_writes_experience_ids_key() { + let mut message = ExperienceListMessage::new().expect("ExperienceListMessage constructor"); + message.experience_i_ds.push(uuid()); + let encoded = message.serialize().unwrap(); + assert!(encoded.contains_key("experience_ids".into()).unwrap()); + assert!(!encoded.contains_key("experience_keys".into()).unwrap()); +} + +// parity-case: LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_ReadsBlockedTrustedAllowedAndDefault::test 61df3b0c60d32b6c9bb843eb7a1a11fe8c0b1fd59c7a09853ad1b0e1d93cd4fd translated +#[test] +fn region_experiences_deserialize_reads_all_lists_and_default() { + let blocked = uuid(); + let trusted = uuid(); + let allowed = uuid(); + let default_experience = uuid(); + let mut message = + RegionExperiencesMessage::new().expect("RegionExperiencesMessage constructor"); + message + .deserialize(map([ + ("blocked", ids([blocked])), + ("trusted", ids([trusted])), + ("allowed", ids([allowed])), + ("default", OSD::UUID(default_experience)), + ])) + .unwrap(); + assert_eq!(message.blocked, vec![blocked]); + assert_eq!(message.trusted, vec![trusted]); + assert_eq!(message.allowed, vec![allowed]); + assert_eq!(message.default, default_experience); +} + +// parity-case: LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_IgnoresLegacyContribKey::test 851d037919003ebb414105e57bf37f73ba37dff8f733c36183c447f1349f3316 translated +#[test] +fn region_experiences_deserialize_ignores_legacy_contrib_key() { + let mut message = + RegionExperiencesMessage::new().expect("RegionExperiencesMessage constructor"); + message + .deserialize(map([ + ("blocked", OSD::Array(Vec::new())), + ("trusted", OSD::Array(Vec::new())), + ("contrib", ids([uuid()])), + ])) + .unwrap(); + assert!(message.allowed.is_empty()); +} + +// parity-case: LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Serialize_WritesAllowedKeyNotContrib::test 53c3a7d6a200816615a9efaa222ccf294e3a8334d320812c6ec56a0a3e7e05bb translated +#[test] +fn region_experiences_serialize_writes_allowed_not_contrib() { + let mut message = + RegionExperiencesMessage::new().expect("RegionExperiencesMessage constructor"); + message.allowed.push(uuid()); + let encoded = message.serialize().unwrap(); + assert!(encoded.contains_key("allowed".into()).unwrap()); + assert!(!encoded.contains_key("contrib".into()).unwrap()); +} + +// parity-case: LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Deserialize_ReadsAllowedListFromExperiencesKey::test 9bab78dbe142a3da6ad21a278f25d7da90776fce3861c7d602203c1e1842c9af translated +#[test] +fn experience_preferences_deserialize_reads_experiences_and_blocked() { + let allowed = uuid(); + let blocked = uuid(); + let mut message = + ExperiencePreferencesMessage::new().expect("ExperiencePreferencesMessage constructor"); + message + .deserialize(map([ + ("experiences", ids([allowed])), + ("blocked", ids([blocked])), + ])) + .unwrap(); + assert_eq!(message.allowed, vec![allowed]); + assert_eq!(message.blocked, vec![blocked]); +} + +// parity-case: LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Deserialize_IgnoresLegacyAllowedKey::test ec6d5e7c81214ea4e3d99740fdd33961578f895a90a42082067ca9819d93d2b0 translated +#[test] +fn experience_preferences_deserialize_ignores_legacy_allowed_key() { + let mut message = + ExperiencePreferencesMessage::new().expect("ExperiencePreferencesMessage constructor"); + message + .deserialize(map([ + ("allowed", ids([uuid()])), + ("blocked", OSD::Array(Vec::new())), + ])) + .unwrap(); + assert!(message.allowed.is_empty()); +} + +// parity-case: LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Serialize_WritesAllowedListUnderExperiencesKey::test 45a0bffe39ab7bf0734ec5fce4435dbdda7ae94cf4e933210669e91dc45b1baf translated +#[test] +fn experience_preferences_serialize_writes_experiences_not_allowed() { + let mut message = + ExperiencePreferencesMessage::new().expect("ExperiencePreferencesMessage constructor"); + message.allowed.push(uuid()); + let encoded = message.serialize().unwrap(); + assert!(encoded.contains_key("experiences".into()).unwrap()); + assert!(!encoded.contains_key("allowed".into()).unwrap()); +} diff --git a/tests/compat/tests/world_object_semantics.rs b/tests/compat/tests/world_object_semantics.rs new file mode 100644 index 0000000..f5750c6 --- /dev/null +++ b/tests/compat/tests/world_object_semantics.rs @@ -0,0 +1,652 @@ +// Exact Rust translations of object and texture tests owned by milestone issue #23. +// Source SHA-256: 1a9d986c5e2d7526e95a7bb5b870ebee13ddf9f4e8c3fd69c34b7a7f22375916 +// Source SHA-256: b444ada9b4d09944dbdf7668c0c8105de66fb590bee1d6d1f284b30700ee5284 +// Source SHA-256: f9a33efa0e88e4a7d86bf7beda56c0f45757ff66f0cdc161da384ad5a31467a6 + +#![allow(clippy::float_cmp)] + +use libremetaverse::{ + Bumpiness, Helpers, MappingType, Primitive, PrimitiveConstructionData, PrimitiveFlexibleData, + PrimitiveLightData, PrimitiveLightImage, PrimitiveObjectProperties, PrimitiveSculptData, + PrimitiveTextureEntry, Shininess, +}; +use libremetaverse_structured_data::OSD; +use libremetaverse_types::{ + Color4, HoleType, Material, PCode, PathCurve, PrimFlags, ProfileCurve, Quaternion, SculptType, + UUID, Vector3, +}; +use std::collections::HashMap; + +fn uuid() -> UUID { + UUID::random().expect("UUID Random") +} + +fn round_trip(entry: &PrimitiveTextureEntry) -> PrimitiveTextureEntry { + let bytes = entry.get_bytes().expect("TextureEntry GetBytes"); + let length = i32::try_from(bytes.len()).expect("TextureEntry length fits Int32"); + PrimitiveTextureEntry::new_with_bytes_int32_int32(bytes, 0, length) + .expect("TextureEntry byte constructor") +} + +fn face(entry: &PrimitiveTextureEntry, index: usize) -> &libremetaverse::PrimitiveTextureEntryFace { + entry.face_textures[index].as_ref().expect("per-face entry") +} + +fn assert_vector(actual: Vector3, expected: Vector3) { + assert_eq!( + (actual.x, actual.y, actual.z), + (expected.x, expected.y, expected.z) + ); +} + +fn assert_quaternion(actual: Quaternion, expected: Quaternion) { + assert_eq!( + (actual.x, actual.y, actual.z, actual.w), + (expected.x, expected.y, expected.z, expected.w) + ); +} + +// parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathBegin::test 5c8e14e1d08a91a4e7c3e252c932b8fe15cf6b5231cc9fe5bb7ef2ae6e2c8299 translated +#[test] +fn path_begin() { + for value in 0_u16..u16::from(u8::MAX) { + let unpacked = Primitive::unpack_begin_cut(value).unwrap(); + assert_eq!( + Primitive::pack_begin_cut(unpacked).unwrap(), + value, + "started with {value}, float value was {unpacked}" + ); + } +} + +// parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathEnd::test 693bfe29f448e433705d65b8b6907f1b270fd636f914e18b76d7a0047dbea506 translated +#[test] +fn path_end() { + for value in 0_u16..u16::from(u8::MAX) { + let unpacked = Primitive::unpack_end_cut(value).unwrap(); + assert_eq!( + Primitive::pack_end_cut(unpacked).unwrap(), + value, + "started with {value}, float value was {unpacked}" + ); + } +} + +// parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathRevolutions::test c3f61c80a204e608976cb44a0c10b9651496074c25f254eec8621db65dbbbe37 translated +#[test] +fn path_revolutions() { + for value in 0_u8..u8::MAX { + let unpacked = Primitive::unpack_path_revolutions(value).unwrap(); + assert_eq!( + Primitive::pack_path_revolutions(unpacked).unwrap(), + value, + "started with {value}, float value was {unpacked}" + ); + } +} + +// parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathScale::test b92e4ab375fcc788dea701d8579268f39b4f3b1d51d4eed91458547350405d61 translated +#[test] +fn path_scale() { + for value in 0_u8..u8::MAX { + let unpacked = Primitive::unpack_path_scale(value).unwrap(); + assert_eq!( + Primitive::pack_path_scale(unpacked).unwrap(), + value, + "started with {value}, float value was {unpacked}" + ); + } +} + +// parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathTaper::test 93a0adbc0630de3c9fbea6f8080d74ef6e3180e3813f00460bce5d52ef2f12b7 translated +#[test] +fn path_taper() { + for value in i8::MIN..i8::MAX { + let unpacked = Primitive::unpack_path_taper(value).unwrap(); + assert_eq!( + Primitive::pack_path_taper(unpacked).unwrap(), + value, + "started with {value}, float value was {unpacked}" + ); + } +} + +// parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntryOffsets::test 720ea1a9477d333b14786bc14e9abca24858e63acae94f4c6055d81f14ff033a translated +#[test] +fn texture_entry_offsets() { + let mut value = -1.0_f32; + while value <= 1.0 { + value = (value * 1000.0).round() / 1000.0; + let packed = Helpers::te_offset_short(value).unwrap(); + let unpacked = Helpers::te_offset_float(packed.to_le_bytes().to_vec(), 0).unwrap(); + let rounded = (unpacked * 1000.0).round() / 1000.0; + assert!( + (rounded - value).abs() < f32::from_bits(1), + "{rounded} is not equal to {value}" + ); + value += 0.001; + } +} + +// parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry::test 0670a9a8dcc4001e726df699ef8001604956b6674028a192502b92b725858990 translated +#[test] +fn texture_entry() { + let mut entry = PrimitiveTextureEntry::new_with_uuid(uuid()).unwrap(); + let face = entry.create_face(0).unwrap(); + face.set_bump(Bumpiness::Concrete); + face.set_fullbright(true); + face.set_media_flags(true); + face.set_offset_u(0.5); + face.set_offset_v(-0.5); + face.set_repeat_u(3.0); + face.set_repeat_v(4.0); + face.set_rgba(Color4 { + r: 0.0, + g: 0.25, + b: 0.75, + a: 1.0, + }); + face.set_rotation(1.5); + face.set_shiny(Shininess::Medium); + face.set_tex_map_type(MappingType::Planar); + face.set_texture_id(uuid()); + let first = entry.get_bytes().unwrap(); + let length = i32::try_from(first.len()).expect("TextureEntry length fits Int32"); + let decoded = + PrimitiveTextureEntry::new_with_bytes_int32_int32(first.clone(), 0, length).unwrap(); + let second = decoded.get_bytes().unwrap(); + assert_eq!(first.len(), second.len()); + for (index, (actual, expected)) in first.iter().zip(&second).enumerate() { + assert_eq!(actual, expected, "byte {index} is not equal"); + } +} + +// parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_DefaultFace_Roundtrips::test 8db56b448e53e6bec5540a5a4721dc75f85a933c6c89e166f7df7baf8e44aab3 translated +#[test] +fn render_material_id_default_face_round_trips() { + let material = uuid(); + let mut entry = PrimitiveTextureEntry::new_with_uuid(uuid()).unwrap(); + entry + .default_texture + .as_mut() + .unwrap() + .set_render_material_id(material); + assert_eq!( + round_trip(&entry) + .default_texture + .as_ref() + .unwrap() + .render_material_id(), + material + ); +} + +// parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_PerFace_Roundtrips::test 2897366ecaa41f07b4db6ebf3e80a7ebe56480f1c44f31cedea2d88a62214dc6 translated +#[test] +fn render_material_id_per_face_round_trips() { + let material = uuid(); + let mut entry = PrimitiveTextureEntry::new_with_uuid(uuid()).unwrap(); + entry + .create_face(0) + .unwrap() + .set_render_material_id(material); + let decoded = round_trip(&entry); + assert_eq!(face(&decoded, 0).render_material_id(), material); + assert_eq!( + decoded + .default_texture + .as_ref() + .unwrap() + .render_material_id(), + UUID::zero() + ); +} + +// parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_MultipleFaces_Roundtrips::test f3d8c103e4b3d43a8e3bea1356ba13808633fdb2ea06583234551f9059b2a241 translated +#[test] +fn render_material_id_multiple_faces_round_trip() { + let default_material = uuid(); + let first = uuid(); + let second = uuid(); + let mut entry = PrimitiveTextureEntry::new_with_uuid(uuid()).unwrap(); + entry + .default_texture + .as_mut() + .unwrap() + .set_render_material_id(default_material); + entry.create_face(0).unwrap().set_render_material_id(first); + entry.create_face(1).unwrap().set_render_material_id(second); + let decoded = round_trip(&entry); + assert_eq!( + decoded + .default_texture + .as_ref() + .unwrap() + .render_material_id(), + default_material + ); + assert_eq!(face(&decoded, 0).render_material_id(), first); + assert_eq!(face(&decoded, 1).render_material_id(), second); +} + +// parity-case: LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_InheritsFromDefault_WhenNotOverridden::test 2313a0134836651e23c693505c3c000ad7ff24956b432d0761a5e8b77cb01642 translated +#[test] +fn render_material_id_inherits_from_default_when_not_overridden() { + let material = uuid(); + let mut entry = PrimitiveTextureEntry::new_with_uuid(uuid()).unwrap(); + entry + .default_texture + .as_mut() + .unwrap() + .set_render_material_id(material); + let decoded = round_trip(&entry); + assert_eq!( + decoded + .default_texture + .as_ref() + .unwrap() + .render_material_id(), + material + ); + if let Some(face) = decoded.get_face(0).unwrap() { + assert_eq!(face.render_material_id(), material); + } +} + +fn high_face_round_trip(index: u32) -> bool { + let texture = uuid(); + let mut entry = PrimitiveTextureEntry::new_with_uuid(uuid()).unwrap(); + entry.create_face(index).unwrap().set_texture_id(texture); + let decoded = round_trip(&entry); + face(&decoded, index as usize).texture_id() == texture +} + +// parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:d3ad6116f2458248 5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55 translated +#[test] +fn high_face_32_texture_id_is_preserved() { + assert!(high_face_round_trip(32)); +} + +// parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:c6f3ac57944a5314 5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55 translated +#[test] +fn high_face_33_texture_id_is_preserved() { + assert!(high_face_round_trip(33)); +} + +// parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:d59eced1ded07f84 5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55 translated +#[test] +fn high_face_40_texture_id_is_preserved() { + assert!(high_face_round_trip(40)); +} + +// parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:59df3d13bd106053 5f215cd1c50fa8871967653b4667f848c14ff24a3b71906e51aac13c56de1f55 translated +#[test] +fn high_face_44_texture_id_is_preserved() { + assert!(high_face_round_trip(44)); +} + +// parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_AllHighFaces_TextureIDs_AllPreserved::test 203ca43b9f1965e1fae7feb36e84eff1df9ac5968eb23753077816d16dd24228 translated +#[test] +fn all_high_face_texture_ids_are_preserved() { + let mut entry = PrimitiveTextureEntry::new_with_uuid(uuid()).unwrap(); + let expected: Vec<_> = (32..PrimitiveTextureEntry::MAX_FACES) + .map(|index| { + let texture = uuid(); + entry + .create_face(u32::try_from(index).expect("face index fits UInt32")) + .unwrap() + .set_texture_id(texture); + texture + }) + .collect(); + let decoded = round_trip(&entry); + for (offset, texture) in expected.into_iter().enumerate() { + assert_eq!(face(&decoded, offset + 32).texture_id(), texture); + } +} + +// parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_LowAndHighFaces_BothPreserved::test dd520cac107415a186a44eb3a17bd000f933ec49b814a496e6788237fcfffb1e translated +#[test] +fn low_and_high_faces_are_both_preserved() { + let mut entry = PrimitiveTextureEntry::new_with_uuid(uuid()).unwrap(); + let expected = [(0, uuid()), (15, uuid()), (32, uuid()), (44, uuid())]; + for (index, texture) in expected { + entry.create_face(index).unwrap().set_texture_id(texture); + } + let decoded = round_trip(&entry); + for (index, texture) in expected { + assert_eq!( + face(&decoded, index as usize).texture_id(), + texture, + "face {index}" + ); + } +} + +// parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RGBA_IsPreserved::test db41d130d270d31f52f3928df88ccc052102673c1afbca03cc0648526fafbabb translated +#[test] +fn face_32_rgba_is_preserved() { + let mut entry = PrimitiveTextureEntry::new_with_uuid(uuid()).unwrap(); + entry.default_texture.as_mut().unwrap().set_rgba(Color4 { + r: 1.0, + g: 1.0, + b: 1.0, + a: 1.0, + }); + entry.create_face(32).unwrap().set_rgba(Color4 { + r: 1.0, + g: 0.0, + b: 0.0, + a: 1.0, + }); + let color = face(&round_trip(&entry), 32).rgba(); + assert!((color.r - 1.0).abs() <= 0.01); + assert!(color.g.abs() <= 0.01); + assert!(color.b.abs() <= 0.01); +} + +// parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RepeatU_IsPreserved::test 58e80815263025ec54cd15e3c9a42771f5e55c81e9acb212a0f163faef9fd499 translated +#[test] +fn face_32_repeat_u_is_preserved() { + let mut entry = PrimitiveTextureEntry::new_with_uuid(uuid()).unwrap(); + entry.create_face(32).unwrap().set_repeat_u(4.0); + assert!((face(&round_trip(&entry), 32).repeat_u() - 4.0).abs() <= 0.01); +} + +// parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RepeatV_IsPreserved::test fbeb1fdd584a26576b6f1ba653b2995d1a6d6bccc2c1dc51e46aa9f211b78724 translated +#[test] +fn face_32_repeat_v_is_preserved() { + let mut entry = PrimitiveTextureEntry::new_with_uuid(uuid()).unwrap(); + entry.create_face(32).unwrap().set_repeat_v(4.0); + assert!((face(&round_trip(&entry), 32).repeat_v() - 4.0).abs() <= 0.01); +} + +// parity-case: LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_AllFaces_TextureIDs_AllPreserved::test 5e5a390af8deff77ef80f751735456541f24d7e27666557d50d99065cc3ba6a4 translated +#[test] +fn all_face_texture_ids_are_preserved() { + let mut entry = PrimitiveTextureEntry::new_with_uuid(uuid()).unwrap(); + let expected: Vec<_> = (0..PrimitiveTextureEntry::MAX_FACES) + .map(|index| { + let texture = uuid(); + entry + .create_face(u32::try_from(index).expect("face index fits UInt32")) + .unwrap() + .set_texture_id(texture); + texture + }) + .collect(); + let decoded = round_trip(&entry); + for (index, texture) in expected.into_iter().enumerate() { + assert_eq!(face(&decoded, index).texture_id(), texture, "face {index}"); + } +} + +// parity-case: LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.GetOSD_FromOSD_Roundtrip_Minimal::test 5e81b8a195f3e59bfe9e3ebf50c3291f7cbcd49f567ede7c1c8b726e0c6c9c19 translated +#[test] +fn primitive_osd_round_trip_minimal() { + let mut primitive = Primitive::new_with_constructor().unwrap(); + primitive.id = uuid(); + primitive.local_id = 12_345; + primitive.parent_id = 54_321; + primitive.flags = + PrimFlags(PrimFlags::PHANTOM.0 | PrimFlags::PHYSICS.0 | PrimFlags::CAST_SHADOWS.0); + primitive.position = Vector3 { + x: 1.1, + y: 2.2, + z: 3.3, + }; + primitive.rotation = Quaternion { + x: 0.1, + y: 0.2, + z: 0.3, + w: 0.9, + }; + primitive.scale = Vector3 { + x: 0.5, + y: 0.6, + z: 0.7, + }; + let mut data = PrimitiveConstructionData::new_with_constructor().unwrap(); + data.material = Material::Wood; + data.p_code = PCode::Prim; + data.state = 7; + data.path_curve = PathCurve::Circle; + data.path_scale_x = 1.2; + data.path_scale_y = 0.8; + data.profile_begin = 0.0; + data.profile_end = 1.0; + data.profile_hollow = 0.1; + data.set_profile_curve_with_property(ProfileCurve::Square); + data.set_profile_hole(HoleType(1)); + primitive.prim_data = data; + let mut properties = PrimitiveObjectProperties::new().unwrap(); + properties.name = "TestPrim".into(); + properties.description = "A primitive used in unit tests".into(); + primitive.properties = Some(properties); + let decoded = Primitive::from_osd(primitive.get_osd().unwrap()).unwrap(); + assert_eq!(decoded.id, primitive.id); + assert_eq!(decoded.local_id, primitive.local_id); + assert_eq!(decoded.parent_id, primitive.parent_id); + assert_ne!(decoded.flags.0 & PrimFlags::PHANTOM.0, 0); + assert_ne!(decoded.flags.0 & PrimFlags::PHYSICS.0, 0); + assert_ne!(decoded.flags.0 & PrimFlags::CAST_SHADOWS.0, 0); + assert_vector(decoded.position, primitive.position); + assert_quaternion(decoded.rotation, primitive.rotation); + assert_vector(decoded.scale, primitive.scale); + assert_eq!(decoded.prim_data.material, primitive.prim_data.material); + assert_eq!(decoded.prim_data.p_code, primitive.prim_data.p_code); + assert_eq!(decoded.prim_data.state, primitive.prim_data.state); + assert_eq!(decoded.prim_data.path_curve, primitive.prim_data.path_curve); + assert_eq!( + decoded.prim_data.path_scale_x, + primitive.prim_data.path_scale_x + ); + assert_eq!( + decoded.prim_data.path_scale_y, + primitive.prim_data.path_scale_y + ); + assert_eq!( + decoded.prim_data.profile_begin, + primitive.prim_data.profile_begin + ); + assert_eq!( + decoded.prim_data.profile_end, + primitive.prim_data.profile_end + ); + assert_eq!( + decoded.prim_data.profile_hollow, + primitive.prim_data.profile_hollow + ); + assert_eq!( + decoded.prim_data.profile_curve_with_property(), + primitive.prim_data.profile_curve_with_property() + ); + assert_eq!( + decoded.prim_data.profile_hole(), + primitive.prim_data.profile_hole() + ); + let decoded_properties = decoded.properties.as_ref().expect("properties"); + let original_properties = primitive.properties.as_ref().unwrap(); + assert_eq!(decoded_properties.name, original_properties.name); + assert_eq!( + decoded_properties.description, + original_properties.description + ); +} + +// parity-case: LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.GetOSD_FromOSD_Roundtrip_Extras::test 63bae8bddacab170aec00c6d7a219f96fa794f489190b34cb426bbf9a3672af5 translated +#[test] +fn primitive_osd_round_trip_extras() { + let mut primitive = Primitive::new_with_constructor().unwrap(); + primitive.id = uuid(); + let mut flexible = PrimitiveFlexibleData::new_with_constructor().unwrap(); + flexible.softness = 3; + flexible.tension = 1.5; + flexible.drag = 0.7; + flexible.gravity = -9.8; + flexible.wind = 0.2; + flexible.force = Vector3 { + x: 0.1, + y: 0.2, + z: 0.3, + }; + primitive.flexible = Some(flexible); + let mut light = PrimitiveLightData::new_with_constructor().unwrap(); + light.color = Color4 { + r: 0.2, + g: 0.4, + b: 0.6, + a: 1.0, + }; + light.intensity = 0.8; + light.radius = 10.0; + light.cutoff = 0.5; + light.falloff = 2.0; + primitive.light = Some(light); + let mut image = PrimitiveLightImage::new_with_constructor().unwrap(); + image.light_texture = uuid(); + image.params = Vector3 { + x: 1.0, + y: 2.0, + z: 3.0, + }; + primitive.light_map = Some(image); + let mut sculpt = PrimitiveSculptData::new_with_constructor().unwrap(); + sculpt.sculpt_texture = uuid(); + sculpt.set_type_(SculptType::Mesh); + primitive.sculpt = Some(sculpt); + let decoded = Primitive::from_osd(primitive.get_osd().unwrap()).unwrap(); + let (actual, expected) = ( + decoded.flexible.as_ref().unwrap(), + primitive.flexible.as_ref().unwrap(), + ); + assert_eq!( + ( + actual.softness, + actual.tension, + actual.drag, + actual.gravity, + actual.wind + ), + ( + expected.softness, + expected.tension, + expected.drag, + expected.gravity, + expected.wind + ) + ); + assert_vector(actual.force, expected.force); + let (actual, expected) = ( + decoded.light.as_ref().unwrap(), + primitive.light.as_ref().unwrap(), + ); + assert_eq!( + ( + actual.color.r, + actual.color.g, + actual.color.b, + actual.intensity, + actual.radius, + actual.cutoff, + actual.falloff + ), + ( + expected.color.r, + expected.color.g, + expected.color.b, + expected.intensity, + expected.radius, + expected.cutoff, + expected.falloff + ) + ); + let (actual, expected) = ( + decoded.light_map.as_ref().unwrap(), + primitive.light_map.as_ref().unwrap(), + ); + assert_eq!(actual.light_texture, expected.light_texture); + assert_vector(actual.params, expected.params); + let (actual, expected) = ( + decoded.sculpt.as_ref().unwrap(), + primitive.sculpt.as_ref().unwrap(), + ); + assert_eq!(actual.sculpt_texture, expected.sculpt_texture); + assert_eq!(actual.type_(), expected.type_()); +} + +// parity-case: LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_MissingVolume_DoesNotThrow_AndUsesDefaults::test 03f9369aab6f6a71ee13982a7b6ba9780f86bcb5b6f081f9550f491b692f711c translated +#[test] +fn primitive_from_osd_missing_volume_uses_defaults() { + let id = uuid(); + let primitive = Primitive::from_osd(OSD::Map(HashMap::from([ + ("id".into(), OSD::UUID(id)), + ("localid".into(), OSD::Integer(99)), + ("parentid".into(), OSD::Integer(100)), + ]))) + .unwrap(); + assert_eq!(primitive.id, id); + assert_eq!(primitive.local_id, 99); + assert_eq!(primitive.parent_id, 100); + assert_eq!(primitive.prim_data.path_curve, PathCurve::Line); + assert_eq!( + primitive.prim_data.profile_curve_with_property(), + ProfileCurve::Circle + ); + assert_eq!(primitive.prim_data.profile_end, 1.0); +} + +// parity-case: LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_WrongTypes_ForTransforms_AreIgnored::test a23d4b1ab6d24c11c96862bc18ba57fccf1a8a1d690c90c5e8da3092973220f7 translated +#[test] +fn primitive_from_osd_wrong_transform_types_are_ignored() { + let primitive = Primitive::from_osd(OSD::Map(HashMap::from([ + ("position".into(), OSD::String("not-a-vector".into())), + ("rotation".into(), OSD::Integer(123)), + ("scale".into(), OSD::String("also-not-a-vector".into())), + ]))) + .unwrap(); + assert_vector( + primitive.position, + Vector3 { + x: 0.0, + y: 0.0, + z: 0.0, + }, + ); + assert_quaternion( + primitive.rotation, + Quaternion { + x: 0.0, + y: 0.0, + z: 0.0, + w: 1.0, + }, + ); + assert_vector( + primitive.scale, + Vector3 { + x: 1.0, + y: 1.0, + z: 1.0, + }, + ); +} + +// parity-case: LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_PartialProfile_UsesDefaultsForMissingFields::test f3a3e506e3ef417f6323875db82179a4ffbdc1d4ee383417f2b0bd5afd0d0dba translated +#[test] +fn primitive_from_osd_partial_profile_uses_defaults() { + let profile = OSD::Map(HashMap::from([( + "curve".into(), + OSD::Integer(ProfileCurve::EqualTriangle as i32), + )])); + let volume = OSD::Map(HashMap::from([("profile".into(), profile)])); + let primitive = + Primitive::from_osd(OSD::Map(HashMap::from([("volume".into(), volume)]))).unwrap(); + assert_eq!( + primitive.prim_data.profile_curve_with_property(), + ProfileCurve::EqualTriangle + ); + assert_eq!(primitive.prim_data.profile_begin, 0.0); + assert_eq!(primitive.prim_data.profile_end, 1.0); + assert_eq!(primitive.prim_data.profile_hollow, 0.0); +} diff --git a/tests/compat/tests/world_packet_semantics.rs b/tests/compat/tests/world_packet_semantics.rs new file mode 100644 index 0000000..e805ce2 --- /dev/null +++ b/tests/compat/tests/world_packet_semantics.rs @@ -0,0 +1,60 @@ +// Exact Rust translation of LibreMetaverse.Tests/StartAuctionTests.cs. +// Source SHA-256: 7087a3957277dc76a018ff3478e69c556f33a890ada9ad2c8c53f3fc34ec7375 + +use libremetaverse::packets::{ + Packet, PacketType, ViewerStartAuctionPacket, ViewerStartAuctionPacketAgentDataBlock, + ViewerStartAuctionPacketParcelDataBlock, +}; +use libremetaverse::{GridClient, Simulator}; +use libremetaverse_types::UUID; + +fn uuid() -> UUID { + UUID::random().expect("UUID Random") +} + +// parity-case: LibreMetaverse.Tests/StartAuctionTests.cs::StartAuctionTests.ViewerStartAuctionPacket_RoundTripsAgentAndParcelFields::test f37ef06cfba37754effe04a0bb0edfa159c761b811a05efd95157896756bef16 translated +#[test] +fn viewer_start_auction_packet_round_trips_agent_and_parcel_fields() { + let agent = uuid(); + let session = uuid(); + let snapshot = uuid(); + let packet = ViewerStartAuctionPacket { + agent_data: ViewerStartAuctionPacketAgentDataBlock { + agent_id: agent, + session_id: session, + }, + parcel_data: ViewerStartAuctionPacketParcelDataBlock { + local_id: 12_345, + snapshot_id: snapshot, + }, + }; + let bytes = packet.to_bytes_with_method().unwrap(); + let mut end = i32::try_from(bytes.len()).expect("packet length fits Int32") - 1; + let built = + Packet::build_packet_with_bytes_int32_bytes(bytes.clone(), &mut end, Vec::new()).unwrap(); + assert_eq!(built.type_, PacketType::ViewerStartAuction); + let mut position = 0; + let parsed = ViewerStartAuctionPacket::new_with_bytes_int32(bytes, &mut position).unwrap(); + assert_eq!(parsed.agent_data.agent_id, agent); + assert_eq!(parsed.agent_data.session_id, session); + assert_eq!(parsed.parcel_data.local_id, 12_345); + assert_eq!(parsed.parcel_data.snapshot_id, snapshot); +} + +// parity-case: LibreMetaverse.Tests/StartAuctionTests.cs::StartAuctionTests.StartAuction_DoesNotThrow::test deec194333b480dabb3f6e6d96b360a29d11a40ca1103117fc7ce5cdb80d6eb0 translated +#[test] +fn start_auction_does_not_throw() { + let client = GridClient::new().expect("GridClient constructor"); + let simulator = Simulator::new( + GridClient::new().expect("simulator GridClient constructor"), + "127.0.0.1:13".parse().unwrap(), + 0, + None, + None, + ) + .expect("Simulator constructor"); + client + .parcels() + .start_auction(simulator, 1, uuid()) + .unwrap(); +} diff --git a/tests/upstream-tests.json b/tests/upstream-tests.json index 268cffd..0c6247f 100644 --- a/tests/upstream-tests.json +++ b/tests/upstream-tests.json @@ -3,12 +3,12 @@ "upstream_commit": "2aa70bb68513b39795da5d13c88f31b86e85a3ba", "expected_cases": 1289, "report": { - "pending": 779, - "translated": 488, - "ignored_live": 18, + "pending": 680, + "translated": 586, + "ignored_live": 19, "benchmark": 4, "drifted": 0, - "unreviewed": 779 + "unreviewed": 680 }, "tests": [ { @@ -3054,12 +3054,12 @@ "body_sha256": "e972a95f334b0f46948cda34c27124c28c44faf4372d0e598d7dc60050b49be4", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 5, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "7ced2dbdadce6cc8654767c7f17f491b428f21c3d397f3236fd46e686ca3f219", + "status": "translated", + "rust_file": "tests/compat/tests/world_constructor_semantics.rs", + "rust_line": 7, + "rust_test": "grid_manager_null_throws", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.InventoryManager_Null_Throws::test", @@ -3093,7 +3093,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 6, + "rust_line": 5, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -3111,12 +3111,12 @@ "body_sha256": "8a11feba0edfb35e5dd99f681182e8f5a5cf8a3f738211b45a683a8a2ad45ddb", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 7, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "c6849d0a524859f5436a8e0a78a9baf75a761a8edaa801a3eed09c4057c7eb96", + "status": "translated", + "rust_file": "tests/compat/tests/world_constructor_semantics.rs", + "rust_line": 13, + "rust_test": "object_manager_null_throws", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.AgentManager_Null_Throws::test", @@ -3130,12 +3130,12 @@ "body_sha256": "d86e41b6cdd03063685aa330c31b9a274c1d400b9a461abf3065fe185fe0bbf0", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 8, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "4c6198a60bbdee2fe94096d579ebff31b8b38048982d3aea25e0c0bb041ba70c", + "status": "translated", + "rust_file": "tests/compat/tests/world_constructor_semantics.rs", + "rust_line": 19, + "rust_test": "agent_manager_null_throws", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ConstructorNullArgumentTests.cs::ConstructorNullArgumentTests.AvatarManager_Null_Throws::test", @@ -3150,7 +3150,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 9, + "rust_line": 6, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -4025,12 +4025,12 @@ "Environment" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 10, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "688db2fc8e1790470288ccb54cf28f33df5c8ca6b1781b0c059a4310c486b755", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 97, + "rust_test": "get_parcel_environment_uses_parcelid_query_parameter", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.SetParcelEnvironment_SendsParcelidInQueryStringNotBody::test", @@ -4046,12 +4046,12 @@ "Environment" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 11, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "6abdc09b07ce963bca724275a2fdc4756377448c298f9d8e624977d7647f6b85", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 116, + "rust_test": "set_parcel_environment_sends_parcelid_in_query_not_body", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.SetRegionEnvironment_OmitsQueryStringEntirely::test", @@ -4067,12 +4067,12 @@ "Environment" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 12, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "c03ad9412dcde778cebf391f267edf6d519ecdc79778abf063ade83c0f92f9f3", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 153, + "rust_test": "set_region_environment_omits_query_string_entirely", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/EnvironmentManagerTests.cs::EnvironmentManagerTests.ResetParcelEnvironment_SendsHttpDeleteNotPost::test", @@ -4088,12 +4088,12 @@ "Environment" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 13, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "4937fffc9c8d0b13a82d0344525fd4238a2837ebe3fac3404321bc71eb695de3", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 177, + "rust_test": "reset_parcel_environment_sends_delete_not_post", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/EstateExperienceReplyTests.cs::EstateExperienceReplyTests.SetExperience_ParsesBlockedTrustedAndAllowedLists::test", @@ -4109,12 +4109,12 @@ "Estate" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 14, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "53fbe59b426b557fc6b15fa94e47bdc0611b0472d042750d8bae9320313f2742", + "status": "translated", + "rust_file": "crates/libremetaverse/src/world_internal_semantics.rs", + "rust_line": 103, + "rust_test": "set_experience_parses_blocked_trusted_and_allowed_lists", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/EstateExperienceReplyTests.cs::EstateExperienceReplyTests.SetExperience_AllEmptyLists_ProducesEmptyResult::test", @@ -4130,12 +4130,12 @@ "Estate" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 15, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "cf7929734d56ef69ade8eb9f27517973022994dd17f9cb3e91ce599cbae9d93f", + "status": "translated", + "rust_file": "crates/libremetaverse/src/world_internal_semantics.rs", + "rust_line": 127, + "rust_test": "set_experience_all_empty_lists_produces_empty_result", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/EstateToolsTests.cs::EstateToolsTests.RequestConvenant::test", @@ -4152,12 +4152,12 @@ "RequiresLiveServer" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 16, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "039f9b91d5dd7dabecf875274614d573adf9c2a6c36080e68d97f17f018c0855", + "status": "ignored-live", + "rust_file": "tests/compat/tests/world_live_semantics.rs", + "rust_line": 59, + "rust_test": "request_covenant", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_ReadsExperienceIdsKey::test", @@ -4173,12 +4173,12 @@ "Experience" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 17, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "669e327d69775e5f0781df6132f941c2729cb9cf81d127576f406f53694db5fb", + "status": "translated", + "rust_file": "tests/compat/tests/world_message_semantics.rs", + "rust_line": 30, + "rust_test": "experience_list_deserialize_reads_experience_ids_key", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Deserialize_IgnoresLegacyExperienceKeysKey::test", @@ -4194,12 +4194,12 @@ "Experience" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 18, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "3c5fface5a63ca0c399fcf7ad42f484cd60740a2efc0283cd1f8ab46f1d24b9a", + "status": "translated", + "rust_file": "tests/compat/tests/world_message_semantics.rs", + "rust_line": 41, + "rust_test": "experience_list_deserialize_ignores_legacy_experience_keys_key", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.ExperienceListMessage_Serialize_WritesExperienceIdsKey::test", @@ -4215,12 +4215,12 @@ "Experience" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 19, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "c6014ca38bbcef19f9e851c6ee1abb75295cd0f7867e4c5b6f7b47434d166a6a", + "status": "translated", + "rust_file": "tests/compat/tests/world_message_semantics.rs", + "rust_line": 51, + "rust_test": "experience_list_serialize_writes_experience_ids_key", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_ReadsBlockedTrustedAllowedAndDefault::test", @@ -4236,12 +4236,12 @@ "Experience" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 20, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "7ab138ebad8de51fd31a6a6350c14bd0e9822880a1f5a33ef59e3d1409488c3e", + "status": "translated", + "rust_file": "tests/compat/tests/world_message_semantics.rs", + "rust_line": 61, + "rust_test": "region_experiences_deserialize_reads_all_lists_and_default", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Deserialize_IgnoresLegacyContribKey::test", @@ -4257,12 +4257,12 @@ "Experience" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 21, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "661dd4e718cb719d4435cf727b5a22313353f953b5a0c26e5c1be704793c8f22", + "status": "translated", + "rust_file": "tests/compat/tests/world_message_semantics.rs", + "rust_line": 84, + "rust_test": "region_experiences_deserialize_ignores_legacy_contrib_key", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ExperienceListAndRegionMessageTests.cs::ExperienceListAndRegionMessageTests.RegionExperiencesMessage_Serialize_WritesAllowedKeyNotContrib::test", @@ -4278,12 +4278,12 @@ "Experience" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 22, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "0d06a1f78d9f4d3ed04d242e875b6e03aa64062aaed092131c9bbc4f1ff13afe", + "status": "translated", + "rust_file": "tests/compat/tests/world_message_semantics.rs", + "rust_line": 99, + "rust_test": "region_experiences_serialize_writes_allowed_not_contrib", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Deserialize_ReadsAllowedListFromExperiencesKey::test", @@ -4299,12 +4299,12 @@ "Experience" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 23, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "dc0a21d291fe6f01a6cb4c9c3c8f52081467c9c7688907e7228d81c05f18ebd3", + "status": "translated", + "rust_file": "tests/compat/tests/world_message_semantics.rs", + "rust_line": 110, + "rust_test": "experience_preferences_deserialize_reads_experiences_and_blocked", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Deserialize_IgnoresLegacyAllowedKey::test", @@ -4320,12 +4320,12 @@ "Experience" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 24, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "3bf7702075980cbb3cbeb5178ce79d10306a3bf003dedb3ef12f98eda2ee71dd", + "status": "translated", + "rust_file": "tests/compat/tests/world_message_semantics.rs", + "rust_line": 127, + "rust_test": "experience_preferences_deserialize_ignores_legacy_allowed_key", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.Serialize_WritesAllowedListUnderExperiencesKey::test", @@ -4341,12 +4341,12 @@ "Experience" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 25, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "56c555a4d5c1a7e615baac8f2089c761acc2d235a54f4f347f7a1f3beaaa54fd", + "status": "translated", + "rust_file": "tests/compat/tests/world_message_semantics.rs", + "rust_line": 141, + "rust_test": "experience_preferences_serialize_writes_experiences_not_allowed", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_Allowed_ReturnsAllow::test", @@ -4362,12 +4362,12 @@ "Experience" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 26, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "087a1cc81387f983606ead95cc1404569a4485913300b78ff1516c8354dcfeba", + "status": "translated", + "rust_file": "crates/libremetaverse/src/world_internal_semantics.rs", + "rust_line": 147, + "rust_test": "extract_experience_permission_allowed_returns_allow", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_Blocked_ReturnsBlock::test", @@ -4383,12 +4383,12 @@ "Experience" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 27, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "ec5bd9d05cace272e4781676c19f9d15bd380e26d735c5dc5dd2b9b9c003c909", + "status": "translated", + "rust_file": "crates/libremetaverse/src/world_internal_semantics.rs", + "rust_line": 157, + "rust_test": "extract_experience_permission_blocked_returns_block", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ExperiencePreferencesMessageTests.cs::ExperiencePreferencesMessageTests.ExtractExperiencePermission_NeitherList_ReturnsForget::test", @@ -4404,12 +4404,12 @@ "Experience" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 28, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "0d36077de4963d763d3b9fc93bbf18b627489a8ee6090e45a5d9ebfe8b5922f7", + "status": "translated", + "rust_file": "crates/libremetaverse/src/world_internal_semantics.rs", + "rust_line": 167, + "rust_test": "extract_experience_permission_neither_list_returns_forget", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/GLTFMaterialOverrideCapTests.cs::GLTFMaterialOverrideCapTests.SetMaterialOverrideAsync_HappyPath_PostsBareArrayWithGltfJson::test", @@ -6349,7 +6349,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 29, + "rust_line": 7, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6368,7 +6368,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 30, + "rust_line": 8, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6387,7 +6387,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 31, + "rust_line": 9, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6406,7 +6406,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 32, + "rust_line": 10, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6425,7 +6425,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 33, + "rust_line": 11, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6444,7 +6444,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 34, + "rust_line": 12, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6463,7 +6463,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 35, + "rust_line": 13, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6482,7 +6482,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 36, + "rust_line": 14, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6501,7 +6501,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 37, + "rust_line": 15, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6520,7 +6520,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 38, + "rust_line": 16, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6539,7 +6539,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 39, + "rust_line": 17, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6558,7 +6558,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 40, + "rust_line": 18, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6577,7 +6577,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 41, + "rust_line": 19, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6596,7 +6596,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 42, + "rust_line": 20, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6615,7 +6615,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 43, + "rust_line": 21, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6634,7 +6634,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 44, + "rust_line": 22, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6653,7 +6653,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 45, + "rust_line": 23, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6672,7 +6672,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 46, + "rust_line": 24, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6691,7 +6691,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 47, + "rust_line": 25, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6710,7 +6710,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 48, + "rust_line": 26, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6729,7 +6729,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 49, + "rust_line": 27, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6748,7 +6748,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 50, + "rust_line": 28, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6767,7 +6767,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 51, + "rust_line": 29, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6786,7 +6786,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 52, + "rust_line": 30, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6805,7 +6805,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 53, + "rust_line": 31, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6824,7 +6824,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 54, + "rust_line": 32, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6843,7 +6843,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 55, + "rust_line": 33, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6862,7 +6862,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 56, + "rust_line": 34, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6881,7 +6881,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 57, + "rust_line": 35, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6900,7 +6900,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 58, + "rust_line": 36, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6919,7 +6919,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 59, + "rust_line": 37, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6938,7 +6938,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 60, + "rust_line": 38, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6957,7 +6957,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 61, + "rust_line": 39, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6976,7 +6976,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 62, + "rust_line": 40, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -6997,7 +6997,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 63, + "rust_line": 41, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7018,7 +7018,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 64, + "rust_line": 42, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7039,7 +7039,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 65, + "rust_line": 43, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7060,7 +7060,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 66, + "rust_line": 44, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7081,7 +7081,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 67, + "rust_line": 45, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7102,7 +7102,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 68, + "rust_line": 46, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7123,7 +7123,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 69, + "rust_line": 47, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7144,7 +7144,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 70, + "rust_line": 48, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7165,7 +7165,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 71, + "rust_line": 49, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7186,7 +7186,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 72, + "rust_line": 50, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7207,7 +7207,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 73, + "rust_line": 51, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7228,7 +7228,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 74, + "rust_line": 52, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7249,7 +7249,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 75, + "rust_line": 53, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7270,7 +7270,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 76, + "rust_line": 54, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7291,7 +7291,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 77, + "rust_line": 55, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7312,7 +7312,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 78, + "rust_line": 56, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7333,7 +7333,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 79, + "rust_line": 57, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7354,7 +7354,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 80, + "rust_line": 58, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7375,7 +7375,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 81, + "rust_line": 59, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7396,7 +7396,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 82, + "rust_line": 60, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7417,7 +7417,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 83, + "rust_line": 61, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7438,7 +7438,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 84, + "rust_line": 62, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7459,7 +7459,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 85, + "rust_line": 63, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -7480,7 +7480,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 86, + "rust_line": 64, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -8945,7 +8945,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 87, + "rust_line": 65, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -8966,7 +8966,7 @@ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 88, + "rust_line": 66, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9064,12 +9064,12 @@ "body_sha256": "5c8e14e1d08a91a4e7c3e252c932b8fe15cf6b5231cc9fe5bb7ef2ae6e2c8299", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 89, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "18e8ad57cfba45352be7445932f80f7ba906e02010b67dc0b235e8c23cafd6e9", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 49, + "rust_test": "path_begin", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathEnd::test", @@ -9083,12 +9083,12 @@ "body_sha256": "693bfe29f448e433705d65b8b6907f1b270fd636f914e18b76d7a0047dbea506", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 90, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "7566399906f3ee2225cc6bb721ad4df7d0f4ce1a7c168ef7a1fabfa220bdeb27", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 62, + "rust_test": "path_end", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathRevolutions::test", @@ -9102,12 +9102,12 @@ "body_sha256": "c3f61c80a204e608976cb44a0c10b9651496074c25f254eec8621db65dbbbe37", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 91, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "00be26456cd09410deb15bba3d3bc58ee69dcbc0444896048a6842a0ac85cafa", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 75, + "rust_test": "path_revolutions", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathScale::test", @@ -9121,12 +9121,12 @@ "body_sha256": "b92e4ab375fcc788dea701d8579268f39b4f3b1d51d4eed91458547350405d61", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 92, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "0b6f3108b411c703d6e27c3a895e16d3ac9cac1d90281f91685948999b39acca", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 88, + "rust_test": "path_scale", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.PathTaper::test", @@ -9140,12 +9140,12 @@ "body_sha256": "93a0adbc0630de3c9fbea6f8080d74ef6e3180e3813f00460bce5d52ef2f12b7", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 93, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "5f7df985d9dd5556b0174527c2b7d511023e543fb7179b35ee1013106a264796", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 101, + "rust_test": "path_taper", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntryOffsets::test", @@ -9159,12 +9159,12 @@ "body_sha256": "720ea1a9477d333b14786bc14e9abca24858e63acae94f4c6055d81f14ff033a", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 94, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "1d4b05342a6ef03aa4b7935f06bfb109dee6e76cc66a63a7984058f072ad813c", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 114, + "rust_test": "texture_entry_offsets", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry::test", @@ -9178,12 +9178,12 @@ "body_sha256": "0670a9a8dcc4001e726df699ef8001604956b6674028a192502b92b725858990", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 95, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "e5258750955542af6f41dd7d45962fe7abd0ba1ea4adfafbb031fbb267f0d1c8", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 131, + "rust_test": "texture_entry", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_DefaultFace_Roundtrips::test", @@ -9197,12 +9197,12 @@ "body_sha256": "8db56b448e53e6bec5540a5a4721dc75f85a933c6c89e166f7df7baf8e44aab3", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 96, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "8284cb913eabc3d577de75efacc4a18bca6f550effa0aadecf6eb869e87113b1", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 164, + "rust_test": "render_material_id_default_face_round_trips", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_PerFace_Roundtrips::test", @@ -9216,12 +9216,12 @@ "body_sha256": "2897366ecaa41f07b4db6ebf3e80a7ebe56480f1c44f31cedea2d88a62214dc6", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 97, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "f89b1d96edc03a1d80c0d82983d0eaf4923e58152f79beea71a87a756619c8b2", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 184, + "rust_test": "render_material_id_per_face_round_trips", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_MultipleFaces_Roundtrips::test", @@ -9235,12 +9235,12 @@ "body_sha256": "f3d8c103e4b3d43a8e3bea1356ba13808633fdb2ea06583234551f9059b2a241", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 98, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "4a4cb87f822c547da760a4cdaa6b1078527428888986170b18bc5980e1f2ae13", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 205, + "rust_test": "render_material_id_multiple_faces_round_trip", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimObjectTests.cs::PrimObjectTests.TextureEntry_RenderMaterialID_InheritsFromDefault_WhenNotOverridden::test", @@ -9254,12 +9254,12 @@ "body_sha256": "2313a0134836651e23c693505c3c000ad7ff24956b432d0761a5e8b77cb01642", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 99, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "7674ec418d98aaeb13fc3c4d5a2c80063ecdb724c97f1656d660835752a381cc", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 232, + "rust_test": "render_material_id_inherits_from_default_when_not_overridden", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.GetOSD_FromOSD_Roundtrip_Minimal::test", @@ -9273,12 +9273,12 @@ "body_sha256": "5e81b8a195f3e59bfe9e3ebf50c3291f7cbcd49f567ede7c1c8b726e0c6c9c19", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 100, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "95b54fe605e0ee881d75834c214352f2f84a92c5287dc713247e300ec132f4c9", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 384, + "rust_test": "primitive_osd_round_trip_minimal", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.GetOSD_FromOSD_Roundtrip_Extras::test", @@ -9292,12 +9292,12 @@ "body_sha256": "63bae8bddacab170aec00c6d7a219f96fa794f489190b34cb426bbf9a3672af5", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 101, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "0c80a3b922e15be1503f843a5d93608882fba3de3f955f57037ff2bdf959d4d4", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 477, + "rust_test": "primitive_osd_round_trip_extras", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_MissingVolume_DoesNotThrow_AndUsesDefaults::test", @@ -9311,12 +9311,12 @@ "body_sha256": "03f9369aab6f6a71ee13982a7b6ba9780f86bcb5b6f081f9550f491b692f711c", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 102, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "cd21d0d4d3301a65633246d455438c15fb30c9250d7a4ca3e9c7cfc71cf73b7f", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 578, + "rust_test": "primitive_from_osd_missing_volume_uses_defaults", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_WrongTypes_ForTransforms_AreIgnored::test", @@ -9330,12 +9330,12 @@ "body_sha256": "a23d4b1ab6d24c11c96862bc18ba57fccf1a8a1d690c90c5e8da3092973220f7", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 103, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "9eef1cfc7e9475b57fa9e5c6b97b35c8c74628f1316448ef2caaf5b0892bf720", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 599, + "rust_test": "primitive_from_osd_wrong_transform_types_are_ignored", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/PrimitiveTests.cs::PrimitiveTests.FromOSD_PartialProfile_UsesDefaultsForMissingFields::test", @@ -9349,12 +9349,12 @@ "body_sha256": "f3a3e506e3ef417f6323875db82179a4ffbdc1d4ee383417f2b0bd5afd0d0dba", "categories": [], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 104, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "f8379e9dc45ddce8b38966602c44eb77c6d8bb8142c458913ded0412a9d3038d", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 635, + "rust_test": "primitive_from_osd_partial_profile_uses_defaults", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/ProductInfoRequestMessageTests.cs::ProductInfoRequestMessageTests.Deserialize_BareArray_ReadsSkuNameDescription::test", @@ -9371,7 +9371,7 @@ ], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 105, + "rust_line": 67, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9392,7 +9392,7 @@ ], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 106, + "rust_line": 68, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9640,12 +9640,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 107, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "d6d315c590794fb1864a449e1509fc676978e7c19ac32695b547adc8335de0c5", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 195, + "rust_test": "query_experiences_on_parcel_happy_path", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoExperienceIds_OmitsExperiencesParam::test", @@ -9661,12 +9661,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 108, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "f0daf1ff40ae53a02c3a930e6bb4e89e1ac8b8d8f1a3d693930268919b13384b", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 227, + "rust_test": "query_experiences_on_parcel_no_ids_omits_parameter", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NoCapability_ReturnsNullWithoutRequest::test", @@ -9682,12 +9682,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 109, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "f260d37529084c17217aac945632f25465a21f877103760f669533a478a6f7ae", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 248, + "rust_test": "query_experiences_on_parcel_no_capability_returns_none_without_request", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/QueryExperiencesOnParcelTests.cs::QueryExperiencesOnParcelTests.QueryExperiencesOnParcelAsync_NonSuccessStatus_ReturnsNull::test", @@ -9703,12 +9703,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 110, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "ee807d738f98ec05f765807ec400d8c185cfe1f177e4b1fc6fc211cfc0c00f78", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 266, + "rust_test": "query_experiences_on_parcel_non_success_returns_none", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/RLV/Commands/AdjustHeightCommandTests.cs::AdjustHeightCommandTests.AdjustHeight::test", @@ -9725,7 +9725,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 111, + "rust_line": 69, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9746,7 +9746,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 112, + "rust_line": 70, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9768,7 +9768,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 113, + "rust_line": 71, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9790,7 +9790,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 114, + "rust_line": 72, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9812,7 +9812,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 115, + "rust_line": 73, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9834,7 +9834,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 116, + "rust_line": 74, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9856,7 +9856,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 117, + "rust_line": 75, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9878,7 +9878,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 118, + "rust_line": 76, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9900,7 +9900,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 119, + "rust_line": 77, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9922,7 +9922,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 120, + "rust_line": 78, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9944,7 +9944,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 121, + "rust_line": 79, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9966,7 +9966,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 122, + "rust_line": 80, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -9988,7 +9988,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 123, + "rust_line": 81, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10010,7 +10010,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 124, + "rust_line": 82, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10032,7 +10032,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 125, + "rust_line": 83, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10054,7 +10054,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 126, + "rust_line": 84, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10076,7 +10076,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 127, + "rust_line": 85, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10098,7 +10098,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 128, + "rust_line": 86, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10120,7 +10120,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 129, + "rust_line": 87, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10142,7 +10142,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 130, + "rust_line": 88, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10164,7 +10164,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 131, + "rust_line": 89, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10186,7 +10186,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 132, + "rust_line": 90, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10208,7 +10208,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 133, + "rust_line": 91, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10230,7 +10230,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 134, + "rust_line": 92, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10252,7 +10252,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 135, + "rust_line": 93, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10274,7 +10274,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 136, + "rust_line": 94, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10296,7 +10296,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 137, + "rust_line": 95, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10318,7 +10318,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 138, + "rust_line": 96, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10340,7 +10340,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 139, + "rust_line": 97, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10362,7 +10362,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 140, + "rust_line": 98, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10384,7 +10384,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 141, + "rust_line": 99, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10406,7 +10406,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 142, + "rust_line": 100, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10428,7 +10428,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 143, + "rust_line": 101, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10450,7 +10450,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 144, + "rust_line": 102, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10472,7 +10472,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 145, + "rust_line": 103, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10494,7 +10494,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 146, + "rust_line": 104, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10516,7 +10516,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 147, + "rust_line": 105, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10538,7 +10538,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 148, + "rust_line": 106, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10560,7 +10560,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 149, + "rust_line": 107, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10582,7 +10582,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 150, + "rust_line": 108, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10604,7 +10604,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 151, + "rust_line": 109, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10626,7 +10626,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 152, + "rust_line": 110, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10648,7 +10648,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 153, + "rust_line": 111, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10670,7 +10670,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 154, + "rust_line": 112, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10692,7 +10692,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 155, + "rust_line": 113, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10714,7 +10714,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 156, + "rust_line": 114, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10736,7 +10736,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 157, + "rust_line": 115, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10758,7 +10758,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 158, + "rust_line": 116, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10780,7 +10780,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 159, + "rust_line": 117, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10802,7 +10802,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 160, + "rust_line": 118, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10824,7 +10824,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 161, + "rust_line": 119, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10846,7 +10846,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 162, + "rust_line": 120, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10868,7 +10868,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 163, + "rust_line": 121, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10890,7 +10890,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 164, + "rust_line": 122, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10912,7 +10912,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 165, + "rust_line": 123, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10934,7 +10934,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 166, + "rust_line": 124, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10956,7 +10956,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 167, + "rust_line": 125, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -10978,7 +10978,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 168, + "rust_line": 126, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11000,7 +11000,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 169, + "rust_line": 127, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11022,7 +11022,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 170, + "rust_line": 128, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11044,7 +11044,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 171, + "rust_line": 129, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11066,7 +11066,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 172, + "rust_line": 130, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11088,7 +11088,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 173, + "rust_line": 131, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11110,7 +11110,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 174, + "rust_line": 132, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11132,7 +11132,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 175, + "rust_line": 133, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11154,7 +11154,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 176, + "rust_line": 134, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11176,7 +11176,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 177, + "rust_line": 135, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11198,7 +11198,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 178, + "rust_line": 136, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11220,7 +11220,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 179, + "rust_line": 137, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11242,7 +11242,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 180, + "rust_line": 138, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11264,7 +11264,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 181, + "rust_line": 139, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11285,7 +11285,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 182, + "rust_line": 140, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11306,7 +11306,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 183, + "rust_line": 141, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11327,7 +11327,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 184, + "rust_line": 142, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11348,7 +11348,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 185, + "rust_line": 143, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11370,7 +11370,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 186, + "rust_line": 144, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11392,7 +11392,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 187, + "rust_line": 145, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11414,7 +11414,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 188, + "rust_line": 146, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11436,7 +11436,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 189, + "rust_line": 147, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11458,7 +11458,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 190, + "rust_line": 148, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11480,7 +11480,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 191, + "rust_line": 149, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11502,7 +11502,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 192, + "rust_line": 150, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11524,7 +11524,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 193, + "rust_line": 151, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11546,7 +11546,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 194, + "rust_line": 152, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11568,7 +11568,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 195, + "rust_line": 153, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11590,7 +11590,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 196, + "rust_line": 154, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11612,7 +11612,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 197, + "rust_line": 155, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11634,7 +11634,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 198, + "rust_line": 156, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11656,7 +11656,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 199, + "rust_line": 157, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11678,7 +11678,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 200, + "rust_line": 158, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11700,7 +11700,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 201, + "rust_line": 159, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11722,7 +11722,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 202, + "rust_line": 160, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11744,7 +11744,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 203, + "rust_line": 161, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11766,7 +11766,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 204, + "rust_line": 162, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11788,7 +11788,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 205, + "rust_line": 163, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11810,7 +11810,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 206, + "rust_line": 164, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11832,7 +11832,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 207, + "rust_line": 165, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11854,7 +11854,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 208, + "rust_line": 166, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11876,7 +11876,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 209, + "rust_line": 167, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11898,7 +11898,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 210, + "rust_line": 168, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11920,7 +11920,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 211, + "rust_line": 169, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11942,7 +11942,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 212, + "rust_line": 170, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11964,7 +11964,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 213, + "rust_line": 171, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -11986,7 +11986,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 214, + "rust_line": 172, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12008,7 +12008,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 215, + "rust_line": 173, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12030,7 +12030,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 216, + "rust_line": 174, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12052,7 +12052,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 217, + "rust_line": 175, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12074,7 +12074,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 218, + "rust_line": 176, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12096,7 +12096,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 219, + "rust_line": 177, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12118,7 +12118,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 220, + "rust_line": 178, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12140,7 +12140,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 221, + "rust_line": 179, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12162,7 +12162,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 222, + "rust_line": 180, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12184,7 +12184,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 223, + "rust_line": 181, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12206,7 +12206,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 224, + "rust_line": 182, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12228,7 +12228,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 225, + "rust_line": 183, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12250,7 +12250,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 226, + "rust_line": 184, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12272,7 +12272,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 227, + "rust_line": 185, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12294,7 +12294,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 228, + "rust_line": 186, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12316,7 +12316,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 229, + "rust_line": 187, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12338,7 +12338,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 230, + "rust_line": 188, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12360,7 +12360,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 231, + "rust_line": 189, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12382,7 +12382,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 232, + "rust_line": 190, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12404,7 +12404,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 233, + "rust_line": 191, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12426,7 +12426,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 234, + "rust_line": 192, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12448,7 +12448,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 235, + "rust_line": 193, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12470,7 +12470,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 236, + "rust_line": 194, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12492,7 +12492,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 237, + "rust_line": 195, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12514,7 +12514,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 238, + "rust_line": 196, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12536,7 +12536,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 239, + "rust_line": 197, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12558,7 +12558,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 240, + "rust_line": 198, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12580,7 +12580,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 241, + "rust_line": 199, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12602,7 +12602,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 242, + "rust_line": 200, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12624,7 +12624,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 243, + "rust_line": 201, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12646,7 +12646,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 244, + "rust_line": 202, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12668,7 +12668,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 245, + "rust_line": 203, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12690,7 +12690,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 246, + "rust_line": 204, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12712,7 +12712,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 247, + "rust_line": 205, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12734,7 +12734,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 248, + "rust_line": 206, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12756,7 +12756,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 249, + "rust_line": 207, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12778,7 +12778,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 250, + "rust_line": 208, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12800,7 +12800,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 251, + "rust_line": 209, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12822,7 +12822,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 252, + "rust_line": 210, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12844,7 +12844,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 253, + "rust_line": 211, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12866,7 +12866,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 254, + "rust_line": 212, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12888,7 +12888,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 255, + "rust_line": 213, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12910,7 +12910,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 256, + "rust_line": 214, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12932,7 +12932,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 257, + "rust_line": 215, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12954,7 +12954,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 258, + "rust_line": 216, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12976,7 +12976,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 259, + "rust_line": 217, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -12998,7 +12998,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 260, + "rust_line": 218, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13020,7 +13020,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 261, + "rust_line": 219, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13042,7 +13042,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 262, + "rust_line": 220, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13064,7 +13064,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 263, + "rust_line": 221, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13086,7 +13086,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 264, + "rust_line": 222, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13108,7 +13108,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 265, + "rust_line": 223, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13130,7 +13130,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 266, + "rust_line": 224, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13152,7 +13152,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 267, + "rust_line": 225, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13174,7 +13174,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 268, + "rust_line": 226, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13196,7 +13196,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 269, + "rust_line": 227, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13218,7 +13218,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 270, + "rust_line": 228, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13240,7 +13240,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 271, + "rust_line": 229, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13262,7 +13262,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 272, + "rust_line": 230, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13284,7 +13284,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 273, + "rust_line": 231, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13306,7 +13306,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 274, + "rust_line": 232, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13327,7 +13327,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 275, + "rust_line": 233, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13348,7 +13348,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 276, + "rust_line": 234, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13369,7 +13369,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 277, + "rust_line": 235, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13390,7 +13390,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 278, + "rust_line": 236, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13411,7 +13411,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 279, + "rust_line": 237, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13432,7 +13432,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 280, + "rust_line": 238, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13453,7 +13453,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 281, + "rust_line": 239, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13474,7 +13474,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 282, + "rust_line": 240, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13495,7 +13495,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 283, + "rust_line": 241, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13516,7 +13516,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 284, + "rust_line": 242, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13537,7 +13537,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 285, + "rust_line": 243, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13558,7 +13558,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 286, + "rust_line": 244, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13579,7 +13579,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 287, + "rust_line": 245, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13600,7 +13600,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 288, + "rust_line": 246, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13621,7 +13621,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 289, + "rust_line": 247, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13642,7 +13642,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 290, + "rust_line": 248, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13663,7 +13663,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 291, + "rust_line": 249, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13684,7 +13684,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 292, + "rust_line": 250, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13705,7 +13705,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 293, + "rust_line": 251, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13726,7 +13726,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 294, + "rust_line": 252, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13747,7 +13747,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 295, + "rust_line": 253, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13768,7 +13768,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 296, + "rust_line": 254, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13789,7 +13789,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 297, + "rust_line": 255, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13810,7 +13810,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 298, + "rust_line": 256, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13831,7 +13831,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 299, + "rust_line": 257, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13852,7 +13852,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 300, + "rust_line": 258, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13873,7 +13873,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 301, + "rust_line": 259, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13894,7 +13894,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 302, + "rust_line": 260, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13915,7 +13915,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 303, + "rust_line": 261, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13936,7 +13936,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 304, + "rust_line": 262, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13958,7 +13958,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 305, + "rust_line": 263, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -13980,7 +13980,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 306, + "rust_line": 264, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14002,7 +14002,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 307, + "rust_line": 265, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14024,7 +14024,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 308, + "rust_line": 266, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14046,7 +14046,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 309, + "rust_line": 267, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14067,7 +14067,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 310, + "rust_line": 268, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14089,7 +14089,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 311, + "rust_line": 269, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14111,7 +14111,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 312, + "rust_line": 270, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14133,7 +14133,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 313, + "rust_line": 271, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14155,7 +14155,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 314, + "rust_line": 272, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14177,7 +14177,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 315, + "rust_line": 273, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14198,7 +14198,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 316, + "rust_line": 274, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14219,7 +14219,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 317, + "rust_line": 275, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14240,7 +14240,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 318, + "rust_line": 276, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14261,7 +14261,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 319, + "rust_line": 277, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14282,7 +14282,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 320, + "rust_line": 278, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14303,7 +14303,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 321, + "rust_line": 279, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14324,7 +14324,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 322, + "rust_line": 280, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14345,7 +14345,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 323, + "rust_line": 281, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14366,7 +14366,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 324, + "rust_line": 282, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14387,7 +14387,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 325, + "rust_line": 283, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14408,7 +14408,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 326, + "rust_line": 284, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14429,7 +14429,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 327, + "rust_line": 285, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14450,7 +14450,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 328, + "rust_line": 286, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14471,7 +14471,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 329, + "rust_line": 287, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14492,7 +14492,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 330, + "rust_line": 288, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14513,7 +14513,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 331, + "rust_line": 289, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14534,7 +14534,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 332, + "rust_line": 290, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14555,7 +14555,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 333, + "rust_line": 291, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14576,7 +14576,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 334, + "rust_line": 292, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14597,7 +14597,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 335, + "rust_line": 293, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14618,7 +14618,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 336, + "rust_line": 294, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14639,7 +14639,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 337, + "rust_line": 295, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14660,7 +14660,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 338, + "rust_line": 296, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14681,7 +14681,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 339, + "rust_line": 297, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14702,7 +14702,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 340, + "rust_line": 298, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14723,7 +14723,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 341, + "rust_line": 299, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14744,7 +14744,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 342, + "rust_line": 300, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14765,7 +14765,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 343, + "rust_line": 301, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14786,7 +14786,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 344, + "rust_line": 302, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14807,7 +14807,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 345, + "rust_line": 303, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14828,7 +14828,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 346, + "rust_line": 304, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14849,7 +14849,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 347, + "rust_line": 305, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14870,7 +14870,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 348, + "rust_line": 306, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14891,7 +14891,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 349, + "rust_line": 307, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14912,7 +14912,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 350, + "rust_line": 308, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14933,7 +14933,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 351, + "rust_line": 309, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14954,7 +14954,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 352, + "rust_line": 310, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14975,7 +14975,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 353, + "rust_line": 311, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -14996,7 +14996,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 354, + "rust_line": 312, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15017,7 +15017,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 355, + "rust_line": 313, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15038,7 +15038,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 356, + "rust_line": 314, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15059,7 +15059,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 357, + "rust_line": 315, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15080,7 +15080,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 358, + "rust_line": 316, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15101,7 +15101,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 359, + "rust_line": 317, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15122,7 +15122,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 360, + "rust_line": 318, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15143,7 +15143,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 361, + "rust_line": 319, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15164,7 +15164,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 362, + "rust_line": 320, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15185,7 +15185,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 363, + "rust_line": 321, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15206,7 +15206,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 364, + "rust_line": 322, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15227,7 +15227,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 365, + "rust_line": 323, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15248,7 +15248,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 366, + "rust_line": 324, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15269,7 +15269,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 367, + "rust_line": 325, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15290,7 +15290,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 368, + "rust_line": 326, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15311,7 +15311,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 369, + "rust_line": 327, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15332,7 +15332,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 370, + "rust_line": 328, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15353,7 +15353,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 371, + "rust_line": 329, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15374,7 +15374,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 372, + "rust_line": 330, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15395,7 +15395,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 373, + "rust_line": 331, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15416,7 +15416,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 374, + "rust_line": 332, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15437,7 +15437,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 375, + "rust_line": 333, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15458,7 +15458,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 376, + "rust_line": 334, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15479,7 +15479,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 377, + "rust_line": 335, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15500,7 +15500,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 378, + "rust_line": 336, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15521,7 +15521,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 379, + "rust_line": 337, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15542,7 +15542,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 380, + "rust_line": 338, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15563,7 +15563,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 381, + "rust_line": 339, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15585,7 +15585,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 382, + "rust_line": 340, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15607,7 +15607,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 383, + "rust_line": 341, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15629,7 +15629,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 384, + "rust_line": 342, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15651,7 +15651,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 385, + "rust_line": 343, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15673,7 +15673,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 386, + "rust_line": 344, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15695,7 +15695,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 387, + "rust_line": 345, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15717,7 +15717,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 388, + "rust_line": 346, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15739,7 +15739,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 389, + "rust_line": 347, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15761,7 +15761,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 390, + "rust_line": 348, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15783,7 +15783,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 391, + "rust_line": 349, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15805,7 +15805,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 392, + "rust_line": 350, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15827,7 +15827,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 393, + "rust_line": 351, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15848,7 +15848,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 394, + "rust_line": 352, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15869,7 +15869,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 395, + "rust_line": 353, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15890,7 +15890,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 396, + "rust_line": 354, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15911,7 +15911,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 397, + "rust_line": 355, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15932,7 +15932,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 398, + "rust_line": 356, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15953,7 +15953,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 399, + "rust_line": 357, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15974,7 +15974,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 400, + "rust_line": 358, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -15995,7 +15995,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 401, + "rust_line": 359, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16016,7 +16016,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 402, + "rust_line": 360, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16037,7 +16037,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 403, + "rust_line": 361, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16058,7 +16058,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 404, + "rust_line": 362, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16079,7 +16079,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 405, + "rust_line": 363, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16100,7 +16100,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 406, + "rust_line": 364, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16122,7 +16122,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 407, + "rust_line": 365, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16144,7 +16144,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 408, + "rust_line": 366, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16166,7 +16166,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 409, + "rust_line": 367, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16188,7 +16188,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 410, + "rust_line": 368, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16210,7 +16210,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 411, + "rust_line": 369, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16232,7 +16232,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 412, + "rust_line": 370, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16254,7 +16254,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 413, + "rust_line": 371, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16276,7 +16276,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 414, + "rust_line": 372, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16298,7 +16298,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 415, + "rust_line": 373, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16320,7 +16320,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 416, + "rust_line": 374, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16342,7 +16342,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 417, + "rust_line": 375, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16364,7 +16364,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 418, + "rust_line": 376, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16386,7 +16386,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 419, + "rust_line": 377, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16408,7 +16408,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 420, + "rust_line": 378, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16430,7 +16430,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 421, + "rust_line": 379, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16452,7 +16452,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 422, + "rust_line": 380, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16474,7 +16474,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 423, + "rust_line": 381, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16496,7 +16496,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 424, + "rust_line": 382, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16518,7 +16518,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 425, + "rust_line": 383, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16540,7 +16540,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 426, + "rust_line": 384, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16562,7 +16562,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 427, + "rust_line": 385, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16584,7 +16584,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 428, + "rust_line": 386, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16606,7 +16606,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 429, + "rust_line": 387, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16628,7 +16628,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 430, + "rust_line": 388, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16650,7 +16650,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 431, + "rust_line": 389, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16671,7 +16671,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 432, + "rust_line": 390, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16692,7 +16692,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 433, + "rust_line": 391, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16713,7 +16713,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 434, + "rust_line": 392, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16734,7 +16734,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 435, + "rust_line": 393, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16755,7 +16755,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 436, + "rust_line": 394, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16776,7 +16776,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 437, + "rust_line": 395, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16797,7 +16797,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 438, + "rust_line": 396, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16818,7 +16818,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 439, + "rust_line": 397, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16839,7 +16839,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 440, + "rust_line": 398, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16860,7 +16860,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 441, + "rust_line": 399, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16881,7 +16881,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 442, + "rust_line": 400, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16902,7 +16902,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 443, + "rust_line": 401, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16923,7 +16923,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 444, + "rust_line": 402, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16944,7 +16944,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 445, + "rust_line": 403, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16965,7 +16965,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 446, + "rust_line": 404, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -16986,7 +16986,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 447, + "rust_line": 405, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17007,7 +17007,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 448, + "rust_line": 406, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17028,7 +17028,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 449, + "rust_line": 407, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17049,7 +17049,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 450, + "rust_line": 408, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17070,7 +17070,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 451, + "rust_line": 409, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17091,7 +17091,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 452, + "rust_line": 410, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17112,7 +17112,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 453, + "rust_line": 411, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17133,7 +17133,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 454, + "rust_line": 412, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17154,7 +17154,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 455, + "rust_line": 413, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17175,7 +17175,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 456, + "rust_line": 414, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17196,7 +17196,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 457, + "rust_line": 415, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17217,7 +17217,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 458, + "rust_line": 416, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17238,7 +17238,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 459, + "rust_line": 417, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17259,7 +17259,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 460, + "rust_line": 418, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17280,7 +17280,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 461, + "rust_line": 419, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17301,7 +17301,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 462, + "rust_line": 420, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17322,7 +17322,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 463, + "rust_line": 421, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17343,7 +17343,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 464, + "rust_line": 422, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17364,7 +17364,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 465, + "rust_line": 423, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17385,7 +17385,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 466, + "rust_line": 424, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17406,7 +17406,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 467, + "rust_line": 425, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17427,7 +17427,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 468, + "rust_line": 426, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17448,7 +17448,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 469, + "rust_line": 427, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17469,7 +17469,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 470, + "rust_line": 428, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17491,7 +17491,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 471, + "rust_line": 429, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17513,7 +17513,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 472, + "rust_line": 430, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17535,7 +17535,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 473, + "rust_line": 431, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17557,7 +17557,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 474, + "rust_line": 432, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17578,7 +17578,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 475, + "rust_line": 433, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17599,7 +17599,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 476, + "rust_line": 434, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17621,7 +17621,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 477, + "rust_line": 435, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17643,7 +17643,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 478, + "rust_line": 436, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17665,7 +17665,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 479, + "rust_line": 437, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17687,7 +17687,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 480, + "rust_line": 438, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17709,7 +17709,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 481, + "rust_line": 439, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17731,7 +17731,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 482, + "rust_line": 440, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17753,7 +17753,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 483, + "rust_line": 441, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17775,7 +17775,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 484, + "rust_line": 442, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17797,7 +17797,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 485, + "rust_line": 443, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17819,7 +17819,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 486, + "rust_line": 444, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17841,7 +17841,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 487, + "rust_line": 445, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17863,7 +17863,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 488, + "rust_line": 446, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17884,7 +17884,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 489, + "rust_line": 447, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17905,7 +17905,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 490, + "rust_line": 448, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17926,7 +17926,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 491, + "rust_line": 449, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17947,7 +17947,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 492, + "rust_line": 450, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17969,7 +17969,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 493, + "rust_line": 451, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -17991,7 +17991,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 494, + "rust_line": 452, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18013,7 +18013,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 495, + "rust_line": 453, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18035,7 +18035,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 496, + "rust_line": 454, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18057,7 +18057,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 497, + "rust_line": 455, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18079,7 +18079,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 498, + "rust_line": 456, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18100,7 +18100,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 499, + "rust_line": 457, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18121,7 +18121,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 500, + "rust_line": 458, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18142,7 +18142,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 501, + "rust_line": 459, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18164,7 +18164,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 502, + "rust_line": 460, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18186,7 +18186,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 503, + "rust_line": 461, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18208,7 +18208,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 504, + "rust_line": 462, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18230,7 +18230,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 505, + "rust_line": 463, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18252,7 +18252,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 506, + "rust_line": 464, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18274,7 +18274,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 507, + "rust_line": 465, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18295,7 +18295,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 508, + "rust_line": 466, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18316,7 +18316,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 509, + "rust_line": 467, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18337,7 +18337,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 510, + "rust_line": 468, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18358,7 +18358,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 511, + "rust_line": 469, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18379,7 +18379,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 512, + "rust_line": 470, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18400,7 +18400,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 513, + "rust_line": 471, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18421,7 +18421,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 514, + "rust_line": 472, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18442,7 +18442,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 515, + "rust_line": 473, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18463,7 +18463,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 516, + "rust_line": 474, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18484,7 +18484,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 517, + "rust_line": 475, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18505,7 +18505,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 518, + "rust_line": 476, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18526,7 +18526,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 519, + "rust_line": 477, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18547,7 +18547,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 520, + "rust_line": 478, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18568,7 +18568,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 521, + "rust_line": 479, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18589,7 +18589,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 522, + "rust_line": 480, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18610,7 +18610,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 523, + "rust_line": 481, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18631,7 +18631,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 524, + "rust_line": 482, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18652,7 +18652,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 525, + "rust_line": 483, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18673,7 +18673,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 526, + "rust_line": 484, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18694,7 +18694,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 527, + "rust_line": 485, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18715,7 +18715,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 528, + "rust_line": 486, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18736,7 +18736,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 529, + "rust_line": 487, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18757,7 +18757,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 530, + "rust_line": 488, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18778,7 +18778,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 531, + "rust_line": 489, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18799,7 +18799,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 532, + "rust_line": 490, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18820,7 +18820,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 533, + "rust_line": 491, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18841,7 +18841,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 534, + "rust_line": 492, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18862,7 +18862,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 535, + "rust_line": 493, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18883,7 +18883,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 536, + "rust_line": 494, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18904,7 +18904,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 537, + "rust_line": 495, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18925,7 +18925,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 538, + "rust_line": 496, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18946,7 +18946,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 539, + "rust_line": 497, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18968,7 +18968,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 540, + "rust_line": 498, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -18990,7 +18990,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 541, + "rust_line": 499, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19012,7 +19012,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 542, + "rust_line": 500, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19034,7 +19034,7 @@ "LibreMetaverse.Tests/RLV/SampleInventoryTree.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 543, + "rust_line": 501, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19055,7 +19055,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 544, + "rust_line": 502, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19076,7 +19076,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 545, + "rust_line": 503, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19097,7 +19097,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 546, + "rust_line": 504, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19118,7 +19118,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 547, + "rust_line": 505, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19139,7 +19139,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 548, + "rust_line": 506, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19160,7 +19160,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 549, + "rust_line": 507, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19181,7 +19181,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 550, + "rust_line": 508, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19202,7 +19202,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 551, + "rust_line": 509, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19223,7 +19223,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 552, + "rust_line": 510, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19244,7 +19244,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 553, + "rust_line": 511, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19265,7 +19265,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 554, + "rust_line": 512, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19286,7 +19286,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 555, + "rust_line": 513, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19307,7 +19307,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 556, + "rust_line": 514, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19328,7 +19328,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 557, + "rust_line": 515, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19349,7 +19349,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 558, + "rust_line": 516, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19370,7 +19370,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 559, + "rust_line": 517, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19391,7 +19391,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 560, + "rust_line": 518, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19412,7 +19412,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 561, + "rust_line": 519, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19433,7 +19433,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 562, + "rust_line": 520, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19454,7 +19454,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 563, + "rust_line": 521, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19475,7 +19475,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 564, + "rust_line": 522, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19496,7 +19496,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 565, + "rust_line": 523, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19517,7 +19517,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 566, + "rust_line": 524, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19538,7 +19538,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 567, + "rust_line": 525, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19559,7 +19559,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 568, + "rust_line": 526, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19580,7 +19580,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 569, + "rust_line": 527, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19601,7 +19601,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 570, + "rust_line": 528, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19622,7 +19622,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 571, + "rust_line": 529, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19643,7 +19643,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 572, + "rust_line": 530, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19664,7 +19664,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 573, + "rust_line": 531, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19685,7 +19685,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 574, + "rust_line": 532, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19706,7 +19706,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 575, + "rust_line": 533, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19727,7 +19727,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 576, + "rust_line": 534, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19748,7 +19748,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 577, + "rust_line": 535, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19769,7 +19769,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 578, + "rust_line": 536, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19790,7 +19790,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 579, + "rust_line": 537, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19811,7 +19811,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 580, + "rust_line": 538, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19832,7 +19832,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 581, + "rust_line": 539, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19853,7 +19853,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 582, + "rust_line": 540, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19874,7 +19874,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 583, + "rust_line": 541, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19895,7 +19895,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 584, + "rust_line": 542, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19916,7 +19916,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 585, + "rust_line": 543, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19937,7 +19937,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 586, + "rust_line": 544, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19958,7 +19958,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 587, + "rust_line": 545, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -19979,7 +19979,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 588, + "rust_line": 546, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20000,7 +20000,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 589, + "rust_line": 547, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20021,7 +20021,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 590, + "rust_line": 548, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20042,7 +20042,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 591, + "rust_line": 549, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20063,7 +20063,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 592, + "rust_line": 550, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20084,7 +20084,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 593, + "rust_line": 551, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20105,7 +20105,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 594, + "rust_line": 552, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20126,7 +20126,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 595, + "rust_line": 553, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20147,7 +20147,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 596, + "rust_line": 554, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20168,7 +20168,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 597, + "rust_line": 555, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20189,7 +20189,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 598, + "rust_line": 556, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20210,7 +20210,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 599, + "rust_line": 557, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20231,7 +20231,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 600, + "rust_line": 558, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20252,7 +20252,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 601, + "rust_line": 559, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20273,7 +20273,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 602, + "rust_line": 560, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20294,7 +20294,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 603, + "rust_line": 561, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20315,7 +20315,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 604, + "rust_line": 562, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20336,7 +20336,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 605, + "rust_line": 563, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20357,7 +20357,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 606, + "rust_line": 564, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20378,7 +20378,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 607, + "rust_line": 565, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20399,7 +20399,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 608, + "rust_line": 566, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20420,7 +20420,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 609, + "rust_line": 567, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20441,7 +20441,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 610, + "rust_line": 568, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20462,7 +20462,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 611, + "rust_line": 569, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20483,7 +20483,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 612, + "rust_line": 570, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20504,7 +20504,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 613, + "rust_line": 571, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20525,7 +20525,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 614, + "rust_line": 572, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20546,7 +20546,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 615, + "rust_line": 573, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20567,7 +20567,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 616, + "rust_line": 574, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20588,7 +20588,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 617, + "rust_line": 575, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20609,7 +20609,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 618, + "rust_line": 576, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20630,7 +20630,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 619, + "rust_line": 577, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20651,7 +20651,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 620, + "rust_line": 578, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20672,7 +20672,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 621, + "rust_line": 579, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20693,7 +20693,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 622, + "rust_line": 580, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20714,7 +20714,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 623, + "rust_line": 581, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20735,7 +20735,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 624, + "rust_line": 582, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20756,7 +20756,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 625, + "rust_line": 583, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20777,7 +20777,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 626, + "rust_line": 584, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20798,7 +20798,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 627, + "rust_line": 585, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20819,7 +20819,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 628, + "rust_line": 586, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20840,7 +20840,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 629, + "rust_line": 587, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20861,7 +20861,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 630, + "rust_line": 588, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20882,7 +20882,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 631, + "rust_line": 589, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20903,7 +20903,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 632, + "rust_line": 590, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20924,7 +20924,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 633, + "rust_line": 591, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20945,7 +20945,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 634, + "rust_line": 592, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20966,7 +20966,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 635, + "rust_line": 593, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -20987,7 +20987,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 636, + "rust_line": 594, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21008,7 +21008,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 637, + "rust_line": 595, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21029,7 +21029,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 638, + "rust_line": 596, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21050,7 +21050,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 639, + "rust_line": 597, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21071,7 +21071,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 640, + "rust_line": 598, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21092,7 +21092,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 641, + "rust_line": 599, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21113,7 +21113,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 642, + "rust_line": 600, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21134,7 +21134,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 643, + "rust_line": 601, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21155,7 +21155,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 644, + "rust_line": 602, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21176,7 +21176,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 645, + "rust_line": 603, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21197,7 +21197,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 646, + "rust_line": 604, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21218,7 +21218,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 647, + "rust_line": 605, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21239,7 +21239,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 648, + "rust_line": 606, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21260,7 +21260,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 649, + "rust_line": 607, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21281,7 +21281,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 650, + "rust_line": 608, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21302,7 +21302,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 651, + "rust_line": 609, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21323,7 +21323,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 652, + "rust_line": 610, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21344,7 +21344,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 653, + "rust_line": 611, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21365,7 +21365,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 654, + "rust_line": 612, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21386,7 +21386,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 655, + "rust_line": 613, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21407,7 +21407,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 656, + "rust_line": 614, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21428,7 +21428,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 657, + "rust_line": 615, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21449,7 +21449,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 658, + "rust_line": 616, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21470,7 +21470,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 659, + "rust_line": 617, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21491,7 +21491,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 660, + "rust_line": 618, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21512,7 +21512,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 661, + "rust_line": 619, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21533,7 +21533,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 662, + "rust_line": 620, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21554,7 +21554,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 663, + "rust_line": 621, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21575,7 +21575,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 664, + "rust_line": 622, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21596,7 +21596,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 665, + "rust_line": 623, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21617,7 +21617,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 666, + "rust_line": 624, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21638,7 +21638,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 667, + "rust_line": 625, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21659,7 +21659,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 668, + "rust_line": 626, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21680,7 +21680,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 669, + "rust_line": 627, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21701,7 +21701,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 670, + "rust_line": 628, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21722,7 +21722,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 671, + "rust_line": 629, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21743,7 +21743,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 672, + "rust_line": 630, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21764,7 +21764,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 673, + "rust_line": 631, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21785,7 +21785,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 674, + "rust_line": 632, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21806,7 +21806,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 675, + "rust_line": 633, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21827,7 +21827,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 676, + "rust_line": 634, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21848,7 +21848,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 677, + "rust_line": 635, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21869,7 +21869,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 678, + "rust_line": 636, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21890,7 +21890,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 679, + "rust_line": 637, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21911,7 +21911,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 680, + "rust_line": 638, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21932,7 +21932,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 681, + "rust_line": 639, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21953,7 +21953,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 682, + "rust_line": 640, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21974,7 +21974,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 683, + "rust_line": 641, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -21995,7 +21995,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 684, + "rust_line": 642, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22016,7 +22016,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 685, + "rust_line": 643, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22037,7 +22037,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 686, + "rust_line": 644, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22058,7 +22058,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 687, + "rust_line": 645, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22079,7 +22079,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 688, + "rust_line": 646, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22100,7 +22100,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 689, + "rust_line": 647, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22121,7 +22121,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 690, + "rust_line": 648, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22142,7 +22142,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 691, + "rust_line": 649, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22163,7 +22163,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 692, + "rust_line": 650, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22184,7 +22184,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 693, + "rust_line": 651, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22205,7 +22205,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 694, + "rust_line": 652, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22226,7 +22226,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 695, + "rust_line": 653, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22247,7 +22247,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 696, + "rust_line": 654, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22268,7 +22268,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 697, + "rust_line": 655, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22289,7 +22289,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 698, + "rust_line": 656, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22308,7 +22308,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 699, + "rust_line": 657, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22327,7 +22327,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 700, + "rust_line": 658, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22346,7 +22346,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 701, + "rust_line": 659, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22365,7 +22365,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 702, + "rust_line": 660, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22384,7 +22384,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 703, + "rust_line": 661, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22403,7 +22403,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 704, + "rust_line": 662, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22422,7 +22422,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 705, + "rust_line": 663, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22441,7 +22441,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 706, + "rust_line": 664, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22460,7 +22460,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 707, + "rust_line": 665, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22479,7 +22479,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 708, + "rust_line": 666, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22498,7 +22498,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 709, + "rust_line": 667, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22517,7 +22517,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 710, + "rust_line": 668, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22536,7 +22536,7 @@ "categories": [], "fixture_dependencies": [], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 711, + "rust_line": 669, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22557,7 +22557,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 712, + "rust_line": 670, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22578,7 +22578,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 713, + "rust_line": 671, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22599,7 +22599,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 714, + "rust_line": 672, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22620,7 +22620,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 715, + "rust_line": 673, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22641,7 +22641,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 716, + "rust_line": 674, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22662,7 +22662,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 717, + "rust_line": 675, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22683,7 +22683,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 718, + "rust_line": 676, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22704,7 +22704,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 719, + "rust_line": 677, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22725,7 +22725,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 720, + "rust_line": 678, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22746,7 +22746,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 721, + "rust_line": 679, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22767,7 +22767,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 722, + "rust_line": 680, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22788,7 +22788,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 723, + "rust_line": 681, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22809,7 +22809,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 724, + "rust_line": 682, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22830,7 +22830,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 725, + "rust_line": 683, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22851,7 +22851,7 @@ "LibreMetaverse.Tests/RLV/RlvTestBase.cs" ], "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 726, + "rust_line": 684, "rust_test": "", "rust_body_sha256": null, "status": "pending", @@ -22892,12 +22892,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 727, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "6939966df91e592e4d95662fddf195f233abc1cf851509749c9b0588234926dc", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 285, + "rust_test": "get_region_restart_schedule_weekly_parses_days_and_time", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_DailySchedule_ReturnsAllDays::test", @@ -22915,12 +22915,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 728, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "910515f8942a4296e0266fdd81583d1e41bb9bcd549509bb3272ac75f0b180d0", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 308, + "rust_test": "get_region_restart_schedule_daily_returns_all_days", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_NoRestartConfigured_ReturnsNull::test", @@ -22938,12 +22938,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 729, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "30d89ac88c5e7bd40fff3746caeeef86e7d85b82e6bc7a6a3da386f4045b5e97", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 328, + "rust_test": "get_region_restart_schedule_no_restart_returns_none", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.GetRegionRestartScheduleAsync_NoCapability_ReturnsNullWithoutRequest::test", @@ -22961,12 +22961,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 730, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "bead63f5627ef16657145b8fd58a608d61f1e49b71c859533868256d8b6b11df", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 343, + "rust_test": "get_region_restart_schedule_no_capability_returns_none_without_request", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_Weekly_PostsUppercaseDaysAndSeconds::test", @@ -22984,12 +22984,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 731, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "d3c5d6b2477b947b9f3c049afc4f16c407abfc627a67eb6a38a0b137aef9f2e3", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 367, + "rust_test": "set_region_restart_schedule_weekly_posts_uppercase_days_and_seconds", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_DailyIgnoresDays_DoesNotPostDaysKey::test", @@ -23007,12 +23007,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 732, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "da8c68ca95fbe6137c18d8edc1af6a9f0f6ad6cfebc5617e107763cadd189159", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 394, + "rust_test": "set_region_restart_schedule_daily_omits_days", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_EmptyDaysClearsSchedule::test", @@ -23030,12 +23030,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 733, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "f9670820eafdc696eab69320ada6c05d544cde483171c13d570c69a2571df387", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 420, + "rust_test": "set_region_restart_schedule_empty_days_clears_schedule", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_NoCapability_ReturnsFalseWithoutRequest::test", @@ -23053,12 +23053,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 734, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "0dc6b030e7437ee5f86ebcb04bab5bc785c0010b16ca8723f2884379b617efee", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 440, + "rust_test": "set_region_restart_schedule_no_capability_returns_false_without_request", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/RegionScheduleTests.cs::RegionScheduleTests.SetRegionRestartScheduleAsync_NonSuccessStatus_ReturnsFalse::test", @@ -23076,12 +23076,12 @@ "fixture_dependencies": [ "LibreMetaverse.Tests/TestHelpers/FakeGridClient.cs" ], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 735, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "f8e4f900c12e6557ec7e4c7d9a73ff3ef8becf5d37dfc7fdff02cc8309cb716d", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 458, + "rust_test": "set_region_restart_schedule_non_success_returns_false", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/RequestTaskInventoryCapTests.cs::RequestTaskInventoryCapTests.GetTaskInventoryAsync_CapAvailable_ReturnsContentsFolderAndDecryptsShadowId::test", @@ -23265,12 +23265,12 @@ "Estate" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 736, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "1c71caac9cf1a0b73e09633c9797de3ede96999436bf9d5850956f3269cd6d7b", + "status": "translated", + "rust_file": "crates/libremetaverse/src/world_internal_semantics.rs", + "rust_line": 182, + "rust_test": "send_sim_console_command_ignores_post_body_and_uses_response_event", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SendSimConsoleCommandAsync_NoResponseEvent_ReturnsNullAfterTimeout::test", @@ -23286,12 +23286,12 @@ "Estate" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 737, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "b7a6f5619d95eae3a180c004b740c70e9c7a40688c54e1dc859fc6fa52f6562b", + "status": "translated", + "rust_file": "crates/libremetaverse/src/world_internal_semantics.rs", + "rust_line": 203, + "rust_test": "send_sim_console_command_no_response_event_returns_none_after_timeout", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SimConsoleTests.cs::SimConsoleTests.SimConsoleResponseMessage_Deserialize_ReadsBodyField::test", @@ -23307,12 +23307,12 @@ "Estate" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 738, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "07491df917264de554afe7db1caa406453007796585b6a924e56efc2ad862da3", + "status": "translated", + "rust_file": "tests/compat/tests/world_capability_semantics.rs", + "rust_line": 475, + "rust_test": "sim_console_response_message_deserialize_reads_body_field", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSimpleLocation_ParsesCorrectly::test", @@ -23328,12 +23328,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 739, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "9df09e20f6657f413695679ca271a3d3d27ae703a12fd3102094b31e875750e2", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 23, + "rust_test": "parse_simple_location_parses_correctly", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSlurl_ParsesCorrectly::test", @@ -23349,12 +23349,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 740, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "b0a8b98512dbad173539769b114abf2a7228d6574423af0705f351d11ba29aac", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 33, + "rust_test": "parse_slurl_parses_correctly", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSlurlWithTrailingSlash_ParsesCorrectly::test", @@ -23370,12 +23370,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 741, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "571410ed5a840fd37f9fa9791f4666427eb4ca09d2502a116cf85470b3646916", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 41, + "rust_test": "parse_slurl_with_trailing_slash_parses_correctly", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLegacyUri_ParsesCorrectly::test", @@ -23391,12 +23391,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 742, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "30ba115eaffe3207e03c4ab9df0c2210d3a36f7d02f8b9bfb935170c1162c615", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 51, + "rust_test": "parse_legacy_uri_parses_correctly", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLocationWithDefaults_UsesDefaultCoordinates::test", @@ -23412,12 +23412,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 743, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "5ebfc6a8a49d6d24ce8fabd77c31acdc6cd36c074767c67429c0b1788163cb8c", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 59, + "rust_test": "parse_location_with_defaults_uses_default_coordinates", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLocationPartialCoordinates_UsesDefaults::test", @@ -23433,12 +23433,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 744, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "b0151688050bb55903e7b31e8795199d2baea16ead31e09f00ad7c07364cc0ee", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 69, + "rust_test": "parse_location_partial_coordinates_uses_defaults", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseAgentSlapp_ParsesCorrectly::test", @@ -23454,12 +23454,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 745, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "fa9369340043e3b2d134e776e2e911ea9f3c1d89702407b4e058cf56cf231deb", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 79, + "rust_test": "parse_agent_slapp_parses_correctly", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseGroupSlapp_ParsesCorrectly::test", @@ -23475,12 +23475,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 746, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "7835f78abc18de91f78ff61d276cd8272890080061f55aa71ee529fd5baf2991", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 92, + "rust_test": "parse_group_slapp_parses_correctly", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseTeleportSlapp_ParsesLocationData::test", @@ -23496,12 +23496,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 747, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "6ea1a2795b0a4c232944c1f7a1c7957ad5fcb1a95ff6fd06a7410fd8e078d43e", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 103, + "rust_test": "parse_teleport_slapp_parses_location_data", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseWorldMapSlapp_ParsesLocationData::test", @@ -23517,12 +23517,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 748, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "20efb77cb85c9eecd929df01c2560c94ad1377f07f94c8434eae14c3dac10fff", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 112, + "rust_test": "parse_world_map_slapp_parses_location_data", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseLoginSlapp_ParsesQueryParameters::test", @@ -23538,12 +23538,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 749, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "d0461874dd979e5cbfa7ce69b9c6516dd5551eca7dd30e3973447b5182c2cec5", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 121, + "rust_test": "parse_login_slapp_parses_query_parameters", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseObjectImSlapp_ParsesQueryParameters::test", @@ -23559,12 +23559,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 750, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "d573bcfac075a0eea619548554fedc8896e0ce3aaa382c2c6190302758825a81", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 133, + "rust_test": "parse_object_im_slapp_parses_query_parameters", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseSearchSlapp_ParsesCorrectly::test", @@ -23580,12 +23580,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 751, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "2110f0a4ec0bc0b02ed2528235b8e16bc9ecad9ced94f9f91108ddc49d397f71", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 154, + "rust_test": "parse_search_slapp_parses_correctly", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetRawLocation_ReturnsCorrectFormat::test", @@ -23601,12 +23601,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 752, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "06e25c95f08e42e78b71449106f0a9f164b3ae96c2b6dd97f0e036024f6cbd2b", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 163, + "rust_test": "get_raw_location_returns_correct_format", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSlurl_ReturnsCorrectFormat::test", @@ -23622,12 +23622,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 753, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "b4e4beb11d9db8b24b9e75e4d34ae769de109151dfa4d2bdacd774c48be42093", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 172, + "rust_test": "get_slurl_returns_correct_format", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetStartLocationUri_ReturnsCorrectFormat::test", @@ -23643,12 +23643,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 754, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "8f67fb90e158207fe9d4410397b88e677457878e5e1f3071e074522b3a4bfb97", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 181, + "rust_test": "get_start_location_uri_returns_correct_format", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetAgentUrl_GeneratesCorrectUrl::test", @@ -23664,12 +23664,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 755, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "067942721a3a686d35805facb7981abdf3af6ec65bbb9665d2ec31a67d399a3b", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 190, + "rust_test": "get_agent_url_generates_correct_url", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetAgentUrl_DefaultAction_UsesAbout::test", @@ -23685,12 +23685,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 756, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "33cb0b04b480a89a6ad2fa9919302efd351bc2fa45020ea2f58448b26c75b531", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 201, + "rust_test": "get_agent_url_default_action_uses_about", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetGroupUrl_GeneratesCorrectUrl::test", @@ -23706,12 +23706,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 757, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "be767cb9f864f4e3757e88414c9ed3af198e66f8833717c04ac7fbe460fbce27", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 211, + "rust_test": "get_group_url_generates_correct_url", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetTeleportUrl_GeneratesCorrectUrl::test", @@ -23727,12 +23727,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 758, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "f85a23565fc101f5ce7dab4c83b057bf208cddaf77d111c2cef281ac0ae6fb22", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 222, + "rust_test": "get_teleport_url_generates_correct_url", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetTeleportUrl_WithDefaults_UsesDefaultCoordinates::test", @@ -23748,12 +23748,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 759, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "c06361c600bb02271c4e46badd4cdc04b726c6f8ac96b5748da147bfeb7c633d", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 231, + "rust_test": "get_teleport_url_with_defaults_uses_default_coordinates", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetWorldMapUrl_GeneratesCorrectUrl::test", @@ -23769,12 +23769,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 760, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "19de09c712f6e7b45c1aaf262eaeb3d8eb60ed43f2104be1052cf13eefb87c22", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 240, + "rust_test": "get_world_map_url_generates_correct_url", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetObjectImUrl_GeneratesCorrectUrl::test", @@ -23790,12 +23790,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 761, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "556b9c8cc277b4f018832264be60c23e01348aca28be64b1d3ca9990b2fd23b9", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 249, + "rust_test": "get_object_im_url_generates_correct_url", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetObjectImUrl_NotGroupOwned_OmitsGroupOwnedParameter::test", @@ -23811,12 +23811,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 762, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "2017e98ff9dca93a06c9d511ccb524c765328b49611e494873051773d0191730", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 271, + "rust_test": "get_object_im_url_not_group_owned_omits_group_owned_parameter", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSearchUrl_GeneratesCorrectUrl::test", @@ -23832,12 +23832,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 763, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "ca72d49c712207abcdcd455802bade5bd9516665942391af8438a230ef8d2d04", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 285, + "rust_test": "get_search_url_generates_correct_url", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetLoginUrl_WithAllParameters_GeneratesCorrectUrl::test", @@ -23853,12 +23853,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 764, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "e344ddbb1785d42b193e914940d0ef90659dfa4c2142f37d9690ca1e5499b25f", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 294, + "rust_test": "get_login_url_with_all_parameters_generates_correct_url", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetLoginUrl_WithNoParameters_GeneratesBaseUrl::test", @@ -23874,12 +23874,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 765, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "082c885f59d49694ecd3678fdc003caf49ba77bd9aa6460648acb335f10402a9", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 309, + "rust_test": "get_login_url_with_no_parameters_generates_base_url", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.GetSlappUrl_WithQueryParams_GeneratesCorrectUrl::test", @@ -23895,12 +23895,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 766, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "e85a04ce2e1aeae0fd043e86a0ef41aa5d7c0707d224be6f8b4b31be2afe96a1", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 318, + "rust_test": "get_slapp_url_with_query_params_generates_correct_url", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseNull_ThrowsArgumentNullException::test", @@ -23916,12 +23916,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 767, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "9705b72d28bf821003696b785eba6b0cd4769d19d8f4d6b28216a3ffb24a47ef", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 332, + "rust_test": "parse_null_throws_argument_null", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseEmptyString_ThrowsArgumentException::test", @@ -23937,12 +23937,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 768, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "44eb683b14a5874f653d1664bd37f863d970d5daa2ec9e447f3b2dda01f852cd", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 341, + "rust_test": "parse_empty_string_throws_argument", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseUrlEncodedQueryParams_DecodesCorrectly::test", @@ -23958,12 +23958,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 769, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "132f5b3bfce7a80212f94d7b6d4426971544a4c1e578069b772019849ccb1e66", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 350, + "rust_test": "parse_url_encoded_query_params_decodes_correctly", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.RoundTripLocation_PreservesData::test", @@ -23979,12 +23979,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 770, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "1d9a1c17af19b5c5045f0e4c94f66fbb1c60966534a5207b89cb2b448fbd44fa", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 360, + "rust_test": "round_trip_location_preserves_data", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/SlurlParserTests.cs::SlurlParserTests.ParseAllSlappCommands_RecognizesCorrectly::test", @@ -24000,12 +24000,12 @@ "LocationParser" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 771, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "d34ddb7eba1d45b166a9d912f929c1757428a9d032bbd8b2409473f0e4c9ae35", + "status": "translated", + "rust_file": "tests/compat/tests/slurl_semantics.rs", + "rust_line": 374, + "rust_test": "parse_all_slapp_commands_recognizes_correctly", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/StartAuctionTests.cs::StartAuctionTests.ViewerStartAuctionPacket_RoundTripsAgentAndParcelFields::test", @@ -24021,12 +24021,12 @@ "Parcel" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 772, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "0f5288441cdaa985881dc28dc2e5e2a4fdfc5feaf6aa35f77a26bb8b1859d062", + "status": "translated", + "rust_file": "tests/compat/tests/world_packet_semantics.rs", + "rust_line": 15, + "rust_test": "viewer_start_auction_packet_round_trips_agent_and_parcel_fields", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/StartAuctionTests.cs::StartAuctionTests.StartAuction_DoesNotThrow::test", @@ -24042,12 +24042,12 @@ "Parcel" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 773, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "d250998078e0dc2016474e99f2b33b7d6e9503efe7cc5c962af929c868d982ce", + "status": "translated", + "rust_file": "tests/compat/tests/world_packet_semantics.rs", + "rust_line": 44, + "rust_test": "start_auction_does_not_throw", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/TerrainMaterialOverrideTests.cs::TerrainMaterialOverrideTests.GetTerrainMaterialOverridesAsync_ParsesFourSlotsWithSomeEmpty::test", @@ -24189,12 +24189,12 @@ "TextureEntry" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 774, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "2c93911dfa0889666e9bdb0d78b35144feb27d741ec086c22d131aabecc06e8a", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 264, + "rust_test": "high_face_32_texture_id_is_preserved", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:c6f3ac57944a5314", @@ -24210,12 +24210,12 @@ "TextureEntry" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 775, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "fda5acadaeee21b37179cf2204dd9bf87137e471372784d4643aa6e42e029f13", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 270, + "rust_test": "high_face_33_texture_id_is_preserved", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:d59eced1ded07f84", @@ -24231,12 +24231,12 @@ "TextureEntry" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 776, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "5e53fd0d8ee59f52b598c091da143ade5224b0d50557488aa77f9904214a7a54", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 276, + "rust_test": "high_face_40_texture_id_is_preserved", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_HighFace_TextureID_IsPreserved::case:59df3d13bd106053", @@ -24252,12 +24252,12 @@ "TextureEntry" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 777, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "54ba6bd65553674a7daacad23b9fc9311e1a6a7150cf25fbf945611f8bfda6a7", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 282, + "rust_test": "high_face_44_texture_id_is_preserved", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_AllHighFaces_TextureIDs_AllPreserved::test", @@ -24273,12 +24273,12 @@ "TextureEntry" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 778, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "9922e8f2d4c512b6428aad8d35772c3443229e79c4942edd710d85d138a59591", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 288, + "rust_test": "all_high_face_texture_ids_are_preserved", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_LowAndHighFaces_BothPreserved::test", @@ -24294,12 +24294,12 @@ "TextureEntry" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 779, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "4eb5bb8bbd196cabb6202dbdcad4e7c73bfb434256d20d0521d1571d6dd4f578", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 308, + "rust_test": "low_and_high_faces_are_both_preserved", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RGBA_IsPreserved::test", @@ -24315,12 +24315,12 @@ "TextureEntry" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 780, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "d55c972fa3c00f18c9e897e8fb38e2e54ef38d57fee11bb964372adcbb401741", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 326, + "rust_test": "face_32_rgba_is_preserved", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RepeatU_IsPreserved::test", @@ -24336,12 +24336,12 @@ "TextureEntry" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 781, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "dc033300a7cab9d88daeafe053db647ce1bb2e9c248f1403a03569b689900a98", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 348, + "rust_test": "face_32_repeat_u_is_preserved", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_Face32_RepeatV_IsPreserved::test", @@ -24357,12 +24357,12 @@ "TextureEntry" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 782, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "7c43a126a578d00184bdf1da5c094090d77a1d607022a397a8360128ccd1f0e6", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 356, + "rust_test": "face_32_repeat_v_is_preserved", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/TextureEntryTests.cs::TextureEntryTests.RoundTrip_AllFaces_TextureIDs_AllPreserved::test", @@ -24378,12 +24378,12 @@ "TextureEntry" ], "fixture_dependencies": [], - "rust_file": "tests/compat/tests/generated_parity.rs", - "rust_line": 783, - "rust_test": "", - "rust_body_sha256": null, - "status": "pending", - "semantic_review": "unreviewed" + "rust_body_sha256": "52b2e952427942b6d731c1ccfc6571297059b1893da1166761e3308f360733d7", + "status": "translated", + "rust_file": "tests/compat/tests/world_object_semantics.rs", + "rust_line": 364, + "rust_test": "all_face_texture_ids_are_preserved", + "semantic_review": "reviewed" }, { "id": "LibreMetaverse.Tests/TypeTests.cs::TypeTests.UUIDs::test", diff --git a/tools/generate_api_shims.py b/tools/generate_api_shims.py index 9eb9bbc..ffa8990 100644 --- a/tools/generate_api_shims.py +++ b/tools/generate_api_shims.py @@ -98,7 +98,7 @@ COMPOSED_BASE_TYPES = { "T:LibreMetaverse.Packets.TestMessagePacket", "T:LibreMetaverse.Rendering.Joint", } -OPEN_ENUM_IDS = {"T:LibreMetaverse.BakeType"} +OPEN_ENUM_IDS = {"T:LibreMetaverse.BakeType", "T:LibreMetaverse.HoleType"} TRAIT_SUPERTRAITS = { "T:LibreMetaverse.IBakingTextureProvider": "std::any::Any", "T:LibreMetaverse.Appearance.ICurrentOutfitPolicy": "Send + Sync", diff --git a/tools/generate_rust_mapping.py b/tools/generate_rust_mapping.py index b65ba0d..afce9a1 100644 --- a/tools/generate_rust_mapping.py +++ b/tools/generate_rust_mapping.py @@ -174,7 +174,13 @@ MEMBER_RETURN_OVERRIDES = { ), } MEMBER_TYPE_OVERRIDES = { + "F:LibreMetaverse.Primitive.Flexible": "Option", + "F:LibreMetaverse.Primitive.Light": "Option", + "F:LibreMetaverse.Primitive.LightMap": "Option", "F:LibreMetaverse.Primitive.NameValues": "Option>", + "F:LibreMetaverse.Primitive.TextureEntry.FaceTextures": ( + "Vec>" + ), "F:LibreMetaverse.Rendering.Face.Weights": ( "Option>" ), @@ -183,6 +189,16 @@ MEMBER_TYPE_OVERRIDES = { ), } MEMBER_SIGNATURE_OVERRIDES = { + "M:LibreMetaverse.AgentManager.#ctor(LibreMetaverse.GridClient)": ( + "pub fn new(client: Option>) " + "-> Result", + "optional_shared", + ), + "M:LibreMetaverse.GridManager.#ctor(LibreMetaverse.GridClient)": ( + "pub fn new(client: Option>) " + "-> Result", + "optional_shared", + ), "M:LibreMetaverse.Inventory.#ctor(LibreMetaverse.GridClient)": ( "pub fn new_with_grid_client(client: std::sync::Arc) " "-> Result", @@ -254,6 +270,25 @@ MEMBER_SIGNATURE_OVERRIDES = { "-> Result", "optional_shared", ), + "M:LibreMetaverse.ObjectManager.#ctor(LibreMetaverse.GridClient)": ( + "pub fn new(client: Option>) " + "-> Result", + "optional_shared", + ), + "M:LibreMetaverse.Primitive.TextureEntry.CreateFace(System.UInt32)": ( + "pub fn create_face(&mut self, index: u32) " + "-> Result<&mut libremetaverse::PrimitiveTextureEntryFace, crate::Error>", + "mutable_self,owned", + ), + "M:LibreMetaverse.Primitive.TextureEntry.GetFace(System.UInt32)": ( + "pub fn get_face(&self, index: u32) " + "-> Result, crate::Error>", + "shared_self,owned", + ), + "M:LibreMetaverse.SlurlParser.#ctor(System.String)": ( + "pub fn new(location: Option) -> Result", + "optional_owned", + ), "M:LibreMetaverse.InventoryManager.CreateInventoryItem(LibreMetaverse.InventoryType,LibreMetaverse.UUID)": ( "pub fn create_inventory_item(type_: libremetaverse_types::InventoryType, id: " "libremetaverse_types::UUID) -> Result