From 879338499f8921b1eb576f47a2b141b95c43f6af Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Tue, 10 Feb 2009 16:56:35 +0000 Subject: * extend load oar test to check that an object was actually loaded --- .../World/Archiver/Tests/ArchiverTests.cs | 42 +++++++++++++++++++--- 1 file changed, 37 insertions(+), 5 deletions(-) (limited to 'OpenSim/Region/CoreModules/World/Archiver') diff --git a/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs b/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs index a14e0f6..77a3044 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs @@ -57,7 +57,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests [Test] public void TestSaveOarV0p2() { - log4net.Config.XmlConfigurator.Configure(); + //log4net.Config.XmlConfigurator.Configure(); ArchiverModule archiverModule = new ArchiverModule(); SerialiserModule serialiserModule = new SerialiserModule(); @@ -162,27 +162,59 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests } /// - /// Test loading a V0.2 OpenSim Region Archive. Does not yet do what it says on the tin. + /// Test loading a V0.2 OpenSim Region Archive. /// [Test] public void TestLoadOarV0p2() { + log4net.Config.XmlConfigurator.Configure(); + MemoryStream archiveWriteStream = new MemoryStream(); TarArchiveWriter tar = new TarArchiveWriter(); tar.AddFile(ArchiveConstants.CONTROL_FILE_PATH, ArchiveWriteRequestExecution.Create0p2ControlFile()); + + UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000020"); + string part1Name = "object1"; + 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); + + SceneObjectPart part1 + = new SceneObjectPart( + UUID.Zero, shape, groupPosition, rotationOffset, offsetPosition); + part1.Name = part1Name; + SceneObjectGroup object1 = new SceneObjectGroup(part1); + + string object1FileName = string.Format( + "{0}_{1:000}-{2:000}-{3:000}__{4}.xml", + part1Name, + Math.Round(groupPosition.X), Math.Round(groupPosition.Y), Math.Round(groupPosition.Z), + part1.UUID); + tar.AddFile(ArchiveConstants.OBJECTS_PATH + object1FileName, object1.ToXmlString2()); + tar.WriteTar(archiveWriteStream); MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray()); + SerialiserModule serialiserModule = new SerialiserModule(); ArchiverModule archiverModule = new ArchiverModule(); Scene scene = SceneSetupHelpers.SetupScene(); - SceneSetupHelpers.SetupSceneModules(scene, archiverModule); + SceneSetupHelpers.SetupSceneModules(scene, serialiserModule, archiverModule); archiverModule.DearchiveRegion(archiveReadStream); - - // TODO: Okay, so nothing is tested yet apart from the fact that it doesn't blow up + + SceneObjectPart object1PartLoaded = scene.GetSceneObjectPart(part1Name); + + Assert.That(object1PartLoaded, Is.Not.Null, "object1 was not loaded"); + Assert.That(object1PartLoaded.Name, Is.EqualTo(part1Name), "object1 names not identical"); + Assert.That(object1PartLoaded.GroupPosition, Is.EqualTo(groupPosition), "object1 group position not equal"); + Assert.That( + object1PartLoaded.RotationOffset, Is.EqualTo(rotationOffset), "object1 rotation offset not equal"); + Assert.That( + object1PartLoaded.OffsetPosition, Is.EqualTo(offsetPosition), "object1 offset position not equal"); } } } \ No newline at end of file -- cgit v1.1