From 1adb8c33b28df1ffcd2cd1eb945a32dab53a8893 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Tue, 3 Feb 2009 20:45:18 +0000 Subject: [PATCH] * Add another object to the existing save oar test --- .../World/Archiver/Tests/ArchiverTests.cs | 79 ++++++++++++++----- 1 file changed, 60 insertions(+), 19 deletions(-) diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/Tests/ArchiverTests.cs b/OpenSim/Region/Environment/Modules/World/Archiver/Tests/ArchiverTests.cs index 43df685874..d7acd5423c 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/Tests/ArchiverTests.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/Tests/ArchiverTests.cs @@ -66,19 +66,44 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver.Tests Scene scene = SceneSetupHelpers.SetupScene(); SceneSetupHelpers.SetupSceneModules(scene, archiverModule, serialiserModule, terrainModule); - string partName = "My Little Pony"; - UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000015"); - PrimitiveBaseShape shape = PrimitiveBaseShape.CreateSphere(); - Vector3 groupPosition = new Vector3(10, 20, 30); - Quaternion rotationOffset = new Quaternion(20, 30, 40, 50); - Vector3 offsetPosition = new Vector3(5, 10, 15); + SceneObjectPart part1; - SceneObjectPart part - = new SceneObjectPart( - ownerId, shape, groupPosition, rotationOffset, offsetPosition); - part.Name = partName; + // Create and add prim 1 + { + string partName = "My Little Pony"; + UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000015"); + PrimitiveBaseShape shape = PrimitiveBaseShape.CreateSphere(); + Vector3 groupPosition = new Vector3(10, 20, 30); + Quaternion rotationOffset = new Quaternion(20, 30, 40, 50); + Vector3 offsetPosition = new Vector3(5, 10, 15); + + part1 + = new SceneObjectPart( + ownerId, shape, groupPosition, rotationOffset, offsetPosition); + part1.Name = partName; + + scene.AddNewSceneObject(new SceneObjectGroup(part1), false); + } + + SceneObjectPart part2; + + // Create and add prim 2 + { + string partName = "Action Man"; + UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000016"); + PrimitiveBaseShape shape = PrimitiveBaseShape.CreateCylinder(); + Vector3 groupPosition = new Vector3(90, 80, 70); + Quaternion rotationOffset = new Quaternion(60, 70, 80, 90); + Vector3 offsetPosition = new Vector3(20, 25, 30); + + part2 + = new SceneObjectPart( + ownerId, shape, groupPosition, rotationOffset, offsetPosition); + part2.Name = partName; + + scene.AddNewSceneObject(new SceneObjectGroup(part2), false); + } - scene.AddNewSceneObject(new SceneObjectGroup(part), false); MemoryStream archiveWriteStream = new MemoryStream(); scene.EventManager.OnOarFileSaved += SaveCompleted; @@ -90,12 +115,18 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver.Tests TarArchiveReader tar = new TarArchiveReader(archiveReadStream); bool gotControlFile = false; - bool gotObjectFile = false; - string expectedObjectFileName = string.Format( + bool gotObject1File = false; + bool gotObject2File = false; + string expectedObject1FileName = string.Format( "{0}_{1:000}-{2:000}-{3:000}__{4}.xml", - partName, - Math.Round(groupPosition.X), Math.Round(groupPosition.Y), Math.Round(groupPosition.Z), - part.UUID); + part1.Name, + Math.Round(part1.GroupPosition.X), Math.Round(part1.GroupPosition.Y), Math.Round(part1.GroupPosition.Z), + part1.UUID); + string expectedObject2FileName = string.Format( + "{0}_{1:000}-{2:000}-{3:000}__{4}.xml", + part2.Name, + Math.Round(part2.GroupPosition.X), Math.Round(part2.GroupPosition.Y), Math.Round(part2.GroupPosition.Z), + part2.UUID); string filePath; TarArchiveReader.TarEntryType tarEntryType; @@ -109,13 +140,23 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver.Tests else if (filePath.StartsWith(ArchiveConstants.OBJECTS_PATH)) { string fileName = filePath.Remove(0, ArchiveConstants.OBJECTS_PATH.Length); - Assert.That(fileName, Is.EqualTo(expectedObjectFileName)); - gotObjectFile = true; + + if (fileName.StartsWith(part1.Name)) + { + Assert.That(fileName, Is.EqualTo(expectedObject1FileName)); + gotObject1File = true; + } + else if (fileName.StartsWith(part2.Name)) + { + Assert.That(fileName, Is.EqualTo(expectedObject2FileName)); + gotObject2File = true; + } } } Assert.That(gotControlFile, Is.True, "No control file in archive"); - Assert.That(gotObjectFile, Is.True, "No object file in archive"); + Assert.That(gotObject1File, Is.True, "No object1 file in archive"); + Assert.That(gotObject2File, Is.True, "No object2 file in archive"); // TODO: Test presence of more files and contents of files. }