Skip to content
Snippets Groups Projects
Commit d4e877f4 authored by WJohnM18's avatar WJohnM18
Browse files

Update RenderPresetManager Tests

parent 6c04fd79
No related branches found
No related tags found
1 merge request!11Evaluation
...@@ -3,6 +3,7 @@ using System.Collections.Generic; ...@@ -3,6 +3,7 @@ using System.Collections.Generic;
using NUnit.Framework; using NUnit.Framework;
using UnityEngine; using UnityEngine;
using UnityEngine.TestTools; using UnityEngine.TestTools;
using System;
namespace Tests namespace Tests
{ {
...@@ -57,5 +58,162 @@ namespace Tests ...@@ -57,5 +58,162 @@ namespace Tests
} }
[Test]
public void AddNewPresetResultsInOnNext()
{
IRenderPreset renderSetting = new ObservableRenderPreset("test", new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
((ObservableRenderPresetManager)renderSettingManager).Subscribe(new MockObserverAssertTrueOnNext<IRenderPresetManager>());
renderSettingManager.AddRenderPreset(renderSetting);
}
[Test]
public void RemoveOnlyRenderPresetResultsInChangeInNumberOfRenderPresets()
{
IRenderPreset renderSetting = new ObservableRenderPreset("test", new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
renderSettingManager.AddRenderPreset(renderSetting);
renderSettingManager.RemoveRenderPreset(renderSetting);
Assert.AreEqual(0, renderSettingManager.GetRenderPresets().Count);
}
[Test]
public void RemoveNonExistantRenderPresetFromEmptyPresetManagerResultsInNoChangeInNumberOfRenderPresets()
{
renderSettingManager.RemoveRenderPreset(new ObservableRenderPreset("test", new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity()));
Assert.AreEqual(0, renderSettingManager.GetRenderPresets().Count);
}
[Test]
public void RemoveNonExistantRenderPresetFromPresetManagerResultsInNoChangeInNumberOfRenderPresets()
{
IRenderPreset renderSetting = new ObservableRenderPreset("test", new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
renderSettingManager.AddRenderPreset(renderSetting);
renderSettingManager.RemoveRenderPreset(new ObservableRenderPreset("nonExistant", new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity()));
Assert.AreEqual(1, renderSettingManager.GetRenderPresets().Count);
}
[Test]
public void RemoveExistingPresetFromPresetManagerWithMultiplePresetsResultsInCorrectCollectionOfPresets()
{
HashSet<IRenderPreset> expectedPresets = new HashSet<IRenderPreset>();
for (int i=0; i<3;i++)
{
IRenderPreset preset = new ObservableRenderPreset("test_" + i, new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
expectedPresets.Add(preset);
renderSettingManager.AddRenderPreset(preset);
}
IRenderPreset presetToRemove = new ObservableRenderPreset("removeMe", new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
renderSettingManager.AddRenderPreset(presetToRemove);
renderSettingManager.RemoveRenderPreset(presetToRemove);
Assert.AreEqual(expectedPresets, renderSettingManager.GetRenderPresets());
}
[Test]
public void SetRenderPresetNameOfNullPresetResultInOnError()
{
((ObservableRenderPresetManager)renderSettingManager).Subscribe(new MockObserverAssertTrueOnError<IRenderPresetManager>());
renderSettingManager.SetRenderPresetName(null, "test");
}
[Test]
public void SetRenderPresetNameUsingNullNameResultsInOnError()
{
IRenderPreset preset = new ObservableRenderPreset("test", new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
((ObservableRenderPresetManager)renderSettingManager).Subscribe(new MockObserverAssertTrueOnError<IRenderPresetManager>());
renderSettingManager.SetRenderPresetName(preset, null);
}
[Test]
public void SetRenderPresetNameOfOnlyExistingPresetResultsInChangedPresetCollection()
{
string newName = "newName";
IRenderPreset preset = new ObservableRenderPreset("test", new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
renderSettingManager.AddRenderPreset(preset);
IRenderPreset newPreset = new ObservableRenderPreset(newName, new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
renderSettingManager.SetRenderPresetName(preset, newName);
HashSet<IRenderPreset> expected = new HashSet<IRenderPreset>(new IRenderPreset[]{ newPreset });
Assert.AreEqual(expected, renderSettingManager.GetRenderPresets());
}
[Test]
public void SetRenderPresetNameOfExistingPresetResultsInOnNext()
{
IRenderPreset preset = new ObservableRenderPreset("test", new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
renderSettingManager.AddRenderPreset(preset);
((ObservableRenderPresetManager)renderSettingManager).Subscribe(new MockObserverAssertTrueOnNext<IRenderPresetManager>());
renderSettingManager.SetRenderPresetName(preset, "newName");
}
[Test]
public void SetRenderPresetNameOfExistingPresetForRenderPresetManagerWithMultiplePresetsResultsInCorrectlyChangedCollection()
{
HashSet<IRenderPreset> expectedPresets = new HashSet<IRenderPreset>();
for (int i = 0; i < 2; i++)
{
IRenderPreset preset = new ObservableRenderPreset("test_" + i, new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
expectedPresets.Add(preset);
renderSettingManager.AddRenderPreset(preset);
}
string newPresetName = "newName";
IRenderPreset renamedPreset = new ObservableRenderPreset(newPresetName, new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
expectedPresets.Add(renamedPreset);
IRenderPreset presetToRename = new ObservableRenderPreset("renameMe", new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
renderSettingManager.AddRenderPreset(presetToRename);
renderSettingManager.SetRenderPresetName(presetToRename, newPresetName);
Assert.AreEqual(expectedPresets, renderSettingManager.GetRenderPresets());
}
[Test]
public void UpdateNullRenderPresetResultsInOnError()
{
((ObservableRenderPresetManager)renderSettingManager).Subscribe(new MockObserverAssertTrueOnError<IRenderPresetManager>());
renderSettingManager.UpdateRenderPreset(null);
}
[Test]
public void UpdateNonExistingRenderPresetsResultsInOnError()
{
((ObservableRenderPresetManager)renderSettingManager).Subscribe(new MockObserverAssertTrueOnError<IRenderPresetManager>());
renderSettingManager.UpdateRenderPreset(new ObservableRenderPreset("test", new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity()));
}
[Test]
public void UpdateExistingRenderPresetsResultsInUpdatedPresetCollection()
{
IRenderPreset oldPreset = new ObservableRenderPreset("test", new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
IRenderPreset updatedPreset = new ObservableRenderPreset("test", new PeripheralSettings(false, false), new QualitySettingsGraphicalFidelity());
renderSettingManager.AddRenderPreset(oldPreset);
renderSettingManager.UpdateRenderPreset(updatedPreset);
HashSet<IRenderPreset> expected = new HashSet<IRenderPreset>(new IRenderPreset[] {updatedPreset});
Assert.AreEqual(expected, renderSettingManager.GetRenderPresets());
}
[Test]
public void UpdateExistingRenderPresetOfManagerWithMultiplePresetsResultsInCorrectPresets()
{
HashSet<IRenderPreset> expectedPresets = new HashSet<IRenderPreset>();
for (int i = 0; i < 2; i++)
{
IRenderPreset preset = new ObservableRenderPreset("test_" + i, new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
expectedPresets.Add(preset);
renderSettingManager.AddRenderPreset(preset);
}
string updatePresetName = "newName";
IRenderPreset updatedPreset = new ObservableRenderPreset(updatePresetName, new PeripheralSettings(true, true), new QualitySettingsGraphicalFidelity());
expectedPresets.Add(updatedPreset);
IRenderPreset presetToUpdate = new ObservableRenderPreset(updatePresetName, new PeripheralSettings(false, true), new QualitySettingsGraphicalFidelity());
renderSettingManager.AddRenderPreset(presetToUpdate);
renderSettingManager.UpdateRenderPreset(updatedPreset);
Assert.AreEqual(expectedPresets, renderSettingManager.GetRenderPresets());
}
} }
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment