zaaReloaded2/Tests/Controller/SettingsRepositoryTest.cs

63 lines
1.9 KiB
C#
Executable File

/* SettingsRepositoryTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
using zaaReloaded2.Controller;
namespace Tests.Controller
{
[TestFixture]
class SettingsRepositoryTest
{
SettingsRepository _savedRepository;
[SetUp]
public void SetUp()
{
_savedRepository = zaaReloaded2.UserSettings.Default.SettingsRepository;
}
[TearDown]
public void TearDown()
{
zaaReloaded2.UserSettings.Default.SettingsRepository = _savedRepository;
zaaReloaded2.UserSettings.Default.Save();
}
[Test]
public void PersistSettingsRespository()
{
SettingsRepository sr = new SettingsRepository();
Settings s = new Settings();
string testName = "test";
s.Name = testName;
sr.SettingsList.Add(s);
int expected = sr.SettingsList.Count;
int index = sr.SettingsList.IndexOf(s);
sr.Store();
sr = null;
sr = SettingsRepository.Load();
Assert.AreEqual(expected, sr.SettingsList.Count);
Assert.AreEqual(testName, sr.SettingsList[index].Name);
}
}
}