public void TestCompressedContentLoading() { // Extract the .xnb test file for the unit test and compress it { string path = Path.Combine(this.tempDirectory.Path, "UnitTestEffect.xnb"); writeBytesToFile( Resources.UnitTestResources.UnitTestEffect, path ); LzmaContentCompressor.CompressContentFile(path); File.Delete(path); } // Now try to load the compressed file using ( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ) ) ) { contentManager.RootDirectory = this.tempDirectory.Path; Effect effect = contentManager.Load <Effect>("UnitTestEffect"); Assert.IsNotNull(effect); } }
public void TestPackagedContentReplacementWhenNoPackageExists() { string packagePath = Path.Combine( this.tempDirectory.Path, "PackagedUnitTestEffect.package" ); writeBytesToFile( Resources.UnitTestResources.UnitTestEffect, Path.Combine(this.tempDirectory.Path, "UnitTestEffect.xnb") ); using ( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ), packagePath ) ) { contentManager.RootDirectory = this.tempDirectory.Path; // The package doesn't even exist, but because replacement is allowed, // no error should occur if the requested asset is available directly Effect effect = contentManager.Load <Effect>("UnitTestEffect"); Assert.IsNotNull(effect); } }
public void TestPackagedContentLoading() { // Extract the .xnb test file for the unit test and compress it string packagePath = Path.Combine(this.tempDirectory.Path, "UnitTestEffect.package"); { string filePath = Path.Combine(this.tempDirectory.Path, "UnitTestEffect.xnb"); writeBytesToFile( Resources.UnitTestResources.UnitTestEffect, filePath ); LzmaPackageBuilder.Build( packagePath, new LzmaPackageBuilder.PackageFile(filePath, "UnitTestEffect") ); File.Delete(filePath); } using ( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ), packagePath ) ) { contentManager.RootDirectory = Path.GetDirectoryName(packagePath); Effect effect = contentManager.Load <Effect>("UnitTestEffect"); Assert.IsNotNull(effect); } }
public void TestCompressedContentReplacement() { // If the replacement doesn't work, the test will load this file which, // as the observant programmer might notice, contains 'Crap' :-) writeBytesToFile( new byte[] { (byte)'C', (byte)'r', (byte)'a', (byte)'p' }, Path.Combine(this.tempDirectory.Path, "UnitTestEffect.lzma") ); // Write the real file the test should be loading writeBytesToFile( Resources.UnitTestResources.UnitTestEffect, Path.Combine(this.tempDirectory.Path, "UnitTestEffect.xnb") ); using ( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ) ) ) { contentManager.RootDirectory = this.tempDirectory.Path; // The .lzma file contains 'Crap' (literally :D), so if the content manager // didn't see the replacement file, it would fall on its nose here! Effect effect = contentManager.Load <Effect>("UnitTestEffect"); Assert.IsNotNull(effect); } }
public void TestThrowOnMissingCompressedAsset() { using ( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ) ) ) { contentManager.RootDirectory = this.tempDirectory.Path; Assert.Throws <ArgumentException>( delegate() { contentManager.Load <Effect>("DoesNotExist"); } ); } }
public void TestPackagedContentReplacement() { // Extract the .xnb test file for the unit test and compress it string packagePath = Path.Combine(this.tempDirectory.Path, "UnitTestEffect.package"); { string filePath = Path.Combine(this.tempDirectory.Path, "UnitTestEffect.xnb"); // We will compress this nonsense file so that if the replacement isn't // honored, the content manager will fail. writeBytesToFile( new byte[] { (byte)'C', (byte)'r', (byte)'a', (byte)'p' }, filePath ); LzmaPackageBuilder.Build( packagePath, new LzmaPackageBuilder.PackageFile(filePath, "UnitTestEffect") ); File.Delete(filePath); // Now write the replacement, which actually contains valid data writeBytesToFile( Resources.UnitTestResources.UnitTestEffect, filePath ); } using ( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ), packagePath ) ) { contentManager.RootDirectory = this.tempDirectory.Path; // This only works if the content manager loads the replacement instead // of the packaged file Effect effect = contentManager.Load <Effect>("UnitTestEffect"); Assert.IsNotNull(effect); } }
public void TestThrowsOnMissingPackagedAsset() { string packagePath = Path.Combine( this.tempDirectory.Path, "PackagedUnitTestEffect.package" ); using ( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ), packagePath ) ) { contentManager.RootDirectory = this.tempDirectory.Path; Assert.Throws <ArgumentException>( delegate() { contentManager.Load <Effect>("DoesNotExist"); } ); } }
public void TestCleanupAfterException() { string packagePath = Path.Combine( this.tempDirectory.Path, "PackagedUnitTestEffect.package" ); writeBytesToFile(BitConverter.GetBytes(-1), packagePath); Assert.Throws <ArgumentOutOfRangeException>( delegate() { using ( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ), packagePath ) ) { } } ); // If the package is left open due to the exception, a follow-up error // will happen in the Teardown() method. }
public void TestCompressedContentLoading() { // Extract the .xnb test file for the unit test and compress it { string path = Path.Combine(this.tempDirectory.Path, "UnitTestEffect.xnb"); writeBytesToFile( Resources.UnitTestResources.UnitTestEffect, path ); LzmaContentCompressor.CompressContentFile(path); File.Delete(path); } // Now try to load the compressed file using( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ) ) ) { contentManager.RootDirectory = this.tempDirectory.Path; Effect effect = contentManager.Load<Effect>("UnitTestEffect"); Assert.IsNotNull(effect); } }
public void TestThrowOnMissingCompressedAsset() { using( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ) ) ) { contentManager.RootDirectory = this.tempDirectory.Path; Assert.Throws<ArgumentException>( delegate() { contentManager.Load<Effect>("DoesNotExist"); } ); } }
public void TestThrowsOnMissingPackagedAsset() { string packagePath = Path.Combine( this.tempDirectory.Path, "PackagedUnitTestEffect.package" ); using( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ), packagePath ) ) { contentManager.RootDirectory = this.tempDirectory.Path; Assert.Throws<ArgumentException>( delegate() { contentManager.Load<Effect>("DoesNotExist"); } ); } }
public void TestCleanupAfterException() { string packagePath = Path.Combine( this.tempDirectory.Path, "PackagedUnitTestEffect.package" ); writeBytesToFile(BitConverter.GetBytes(-1), packagePath); Assert.Throws<ArgumentOutOfRangeException>( delegate() { using( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ), packagePath ) ) { } } ); // If the package is left open due to the exception, a follow-up error // will happen in the Teardown() method. }
public void TestPackagedContentReplacementWhenNoPackageExists() { string packagePath = Path.Combine( this.tempDirectory.Path, "PackagedUnitTestEffect.package" ); writeBytesToFile( Resources.UnitTestResources.UnitTestEffect, Path.Combine(this.tempDirectory.Path, "UnitTestEffect.xnb") ); using( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ), packagePath ) ) { contentManager.RootDirectory = this.tempDirectory.Path; // The package doesn't even exist, but because replacement is allowed, // no error should occur if the requested asset is available directly Effect effect = contentManager.Load<Effect>("UnitTestEffect"); Assert.IsNotNull(effect); } }
public void TestPackagedContentReplacement() { // Extract the .xnb test file for the unit test and compress it string packagePath = Path.Combine(this.tempDirectory.Path, "UnitTestEffect.package"); { string filePath = Path.Combine(this.tempDirectory.Path, "UnitTestEffect.xnb"); // We will compress this nonsense file so that if the replacement isn't // honored, the content manager will fail. writeBytesToFile( new byte[] { (byte)'C', (byte)'r', (byte)'a', (byte)'p' }, filePath ); LzmaPackageBuilder.Build( packagePath, new LzmaPackageBuilder.PackageFile(filePath, "UnitTestEffect") ); File.Delete(filePath); // Now write the replacement, which actually contains valid data writeBytesToFile( Resources.UnitTestResources.UnitTestEffect, filePath ); } using( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ), packagePath ) ) { contentManager.RootDirectory = this.tempDirectory.Path; // This only works if the content manager loads the replacement instead // of the packaged file Effect effect = contentManager.Load<Effect>("UnitTestEffect"); Assert.IsNotNull(effect); } }
public void TestPackagedContentLoading() { // Extract the .xnb test file for the unit test and compress it string packagePath = Path.Combine(this.tempDirectory.Path, "UnitTestEffect.package"); { string filePath = Path.Combine(this.tempDirectory.Path, "UnitTestEffect.xnb"); writeBytesToFile( Resources.UnitTestResources.UnitTestEffect, filePath ); LzmaPackageBuilder.Build( packagePath, new LzmaPackageBuilder.PackageFile(filePath, "UnitTestEffect") ); File.Delete(filePath); } using( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ), packagePath ) ) { contentManager.RootDirectory = Path.GetDirectoryName(packagePath); Effect effect = contentManager.Load<Effect>("UnitTestEffect"); Assert.IsNotNull(effect); } }
public void TestCompressedContentReplacement() { // If the replacement doesn't work, the test will load this file which, // as the observant programmer might notice, contains 'Crap' :-) writeBytesToFile( new byte[] { (byte)'C', (byte)'r', (byte)'a', (byte)'p' }, Path.Combine(this.tempDirectory.Path, "UnitTestEffect.lzma") ); // Write the real file the test should be loading writeBytesToFile( Resources.UnitTestResources.UnitTestEffect, Path.Combine(this.tempDirectory.Path, "UnitTestEffect.xnb") ); using( LzmaContentManager contentManager = new LzmaContentManager( GraphicsDeviceServiceHelper.MakePrivateServiceProvider( this.mockedGraphicsDeviceService ) ) ) { contentManager.RootDirectory = this.tempDirectory.Path; // The .lzma file contains 'Crap' (literally :D), so if the content manager // didn't see the replacement file, it would fall on its nose here! Effect effect = contentManager.Load<Effect>("UnitTestEffect"); Assert.IsNotNull(effect); } }