mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2025-07-04 19:06:27 +02:00
Version 3.0.381
This commit is contained in:
parent
f963c0a219
commit
3a363acf3a
1525 changed files with 60589 additions and 125098 deletions
|
@ -0,0 +1,123 @@
|
|||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
using ShareeBike.Model;
|
||||
using ShareeBike.Model.Settings;
|
||||
|
||||
namespace SharedBusinessLogic.Tests.Fixtures.ObjectTests
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestFilterCollectionStore
|
||||
{
|
||||
[Test]
|
||||
public void TestSerialize_Null()
|
||||
{
|
||||
var l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(null);
|
||||
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
|
||||
|
||||
Assert.That(l_oFilterColl, Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestSerialize_Invalid()
|
||||
{
|
||||
var l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(new Dictionary<string, FilterState>());
|
||||
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
|
||||
|
||||
Assert.That(l_oFilterColl, Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestSerializeLegacy()
|
||||
{
|
||||
var l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(
|
||||
new Dictionary<string, FilterState>
|
||||
{
|
||||
{ "TINK.Copri", FilterState.On },
|
||||
{ "TINK.SMS", FilterState.Off},
|
||||
{ "Citybike", FilterState.On }
|
||||
});
|
||||
|
||||
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
|
||||
|
||||
Assert.That(l_oFilterColl.Count, Is.EqualTo(2));
|
||||
Assert.That(l_oFilterColl["TINK"], Is.EqualTo(FilterState.On));
|
||||
Assert.That(l_oFilterColl["Citybike"], Is.EqualTo(FilterState.On));
|
||||
|
||||
l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(
|
||||
new Dictionary<string, FilterState>
|
||||
{
|
||||
{ "TINK.Copri", FilterState.Off },
|
||||
{ "TINK.SMS", FilterState.On},
|
||||
{ "Citybike", FilterState.On }
|
||||
});
|
||||
|
||||
l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
|
||||
|
||||
Assert.That(l_oFilterColl.Count, Is.EqualTo(2));
|
||||
Assert.That(l_oFilterColl["TINK"], Is.EqualTo(FilterState.Off));
|
||||
Assert.That(l_oFilterColl["Citybike"], Is.EqualTo(FilterState.On));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestSerializeInvalid()
|
||||
{
|
||||
var l_oSettings = new Dictionary<string, string>()
|
||||
.SetGroupFilterSettings(
|
||||
new Dictionary<string, FilterState>
|
||||
{
|
||||
{ "TINK.SMS", FilterState.Off},
|
||||
{ "Citybike", FilterState.On }
|
||||
});
|
||||
|
||||
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
|
||||
|
||||
Assert.That(l_oFilterColl.Count, Is.EqualTo(2));
|
||||
Assert.That(l_oFilterColl["TINK"], Is.EqualTo(FilterState.Off));
|
||||
Assert.That(l_oFilterColl["Citybike"], Is.EqualTo(FilterState.On));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestSerializeRoundtrip()
|
||||
{
|
||||
var l_oSettings = new Dictionary<string, string>()
|
||||
.SetGroupFilterSettings(
|
||||
new Dictionary<string, FilterState>
|
||||
{
|
||||
{ "ShareeBike", FilterState.On },
|
||||
{ "Citybike", FilterState.On }
|
||||
});
|
||||
|
||||
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
|
||||
|
||||
Assert.That(l_oFilterColl.Count, Is.EqualTo(2));
|
||||
Assert.That(l_oFilterColl["ShareeBike"], Is.EqualTo(FilterState.On));
|
||||
Assert.That(l_oFilterColl["Citybike"], Is.EqualTo(FilterState.On));
|
||||
|
||||
l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(
|
||||
new Dictionary<string, FilterState>
|
||||
{
|
||||
{ "ShareeBike", FilterState.Off },
|
||||
{ "Citybike", FilterState.On }
|
||||
});
|
||||
|
||||
l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
|
||||
|
||||
Assert.That(l_oFilterColl.Count, Is.EqualTo(2));
|
||||
Assert.That(l_oFilterColl["ShareeBike"], Is.EqualTo(FilterState.Off));
|
||||
Assert.That(l_oFilterColl["Citybike"], Is.EqualTo(FilterState.On));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Test_ToString_Emtpy()
|
||||
{
|
||||
Assert.That(FilterCollectionStore.ToString(new Dictionary<string, FilterState>()), Is.EqualTo("{}"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Test_ToString()
|
||||
{
|
||||
Assert.That(
|
||||
FilterCollectionStore.ToString(new Dictionary<string, FilterState> { { "Test1", FilterState.Off }, { "Test2", FilterState.On } }), Is.EqualTo("{(Test1= Off), (Test2= On)}"));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,199 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
using NUnit.Framework;
|
||||
using Serilog.Events;
|
||||
using ShareeBike.Model.Settings;
|
||||
using ShareeBike.Settings;
|
||||
|
||||
namespace SharedBusinessLogic.Tests.Model.Settings
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestJsonSettingsDictionary
|
||||
{
|
||||
/// <summary> Verifies that empty log fiel leads to expected default value and doesn not throw exceptions.</summary>
|
||||
[Test]
|
||||
public void TestGetCopriHostUri_NoFile()
|
||||
{
|
||||
Assert.That(JsonSettingsDictionary.GetCopriHostUri(new Dictionary<string, string>()), Is.Null);
|
||||
}
|
||||
|
||||
/// <summary> Verifies that empty log file leads to expected default value and doesn not throw exceptions.</summary>
|
||||
[Test]
|
||||
public void TestGetPolling()
|
||||
{
|
||||
// Serialize parameters.
|
||||
var dict = new Dictionary<string, string>()
|
||||
.SetPollingParameters(new PollingParameters(new TimeSpan(0, 0, 0, 15, 0), false));
|
||||
|
||||
// Deserialize parameters.
|
||||
Assert.That(
|
||||
dict.GetPollingParameters(), Is.EqualTo(new PollingParameters(new TimeSpan(0, 0, 0, 15, 0), false)));
|
||||
}
|
||||
|
||||
/// <summary> Verifies that empty log fiel leads to expected default value and doesn not throw exceptions.</summary>
|
||||
[Test]
|
||||
public void TestGetPolling_NoFile()
|
||||
{
|
||||
Assert.That(JsonSettingsDictionary.GetPollingParameters(new Dictionary<string, string>()), Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestGetGetCopriHostUri()
|
||||
{
|
||||
var dict = new Dictionary<string, string>()
|
||||
.SetCopriHostUri("http://1.2.3.4");
|
||||
Assert.That(
|
||||
JsonSettingsDictionary.GetCopriHostUri(dict), Is.EqualTo(new Uri("http://1.2.3.4")));
|
||||
}
|
||||
|
||||
/// <summary> Verifies that empty log fiel leads to expected default value and doesn not throw exceptions.</summary>
|
||||
[Test]
|
||||
public void TestGetLoggingLevel()
|
||||
{
|
||||
var dict = new Dictionary<string, string>()
|
||||
.SetMinimumLoggingLevel(0); // Verbose = 0
|
||||
Assert.That(
|
||||
JsonSettingsDictionary.GetMinimumLoggingLevel(dict), Is.EqualTo(LogEventLevel.Verbose)); // LogEventLevel.Error = 4
|
||||
}
|
||||
|
||||
/// <summary> Verifies that empty log fiel leads to expected default value and doesn not throw exceptions.</summary>
|
||||
[Test]
|
||||
public void TestGetLoggingLevel_NoFile()
|
||||
{
|
||||
Assert.That(JsonSettingsDictionary.GetMinimumLoggingLevel(new Dictionary<string, string>()), Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestGetAppVersion_FirstInstall()
|
||||
{
|
||||
var dict = new Dictionary<string, string>();
|
||||
Assert.That(JsonSettingsDictionary.GetAppVersion(dict), Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestGetAppVersion_LegacyTo115()
|
||||
{
|
||||
var dict = new Dictionary<string, string> { { "AppVersion", "7.2.3.9" } };
|
||||
Assert.That(JsonSettingsDictionary.GetAppVersion(dict), Is.EqualTo(new Version(7, 2, 3, 9)));
|
||||
|
||||
dict = new Dictionary<string, string> { { "AppVersion", "7.2.3" } };
|
||||
Assert.That(JsonSettingsDictionary.GetAppVersion(dict), Is.EqualTo(new Version(7, 2, 3)));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestGetAppVersion_Json()
|
||||
{
|
||||
var dict = new Dictionary<string, string> { { "AppVersion", "\"3.1.2.117\"" } };
|
||||
Assert.That(JsonSettingsDictionary.GetAppVersion(dict), Is.EqualTo(new Version(3, 1, 2, 117)));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestSetAppVersion_Json()
|
||||
{
|
||||
var dict = new Dictionary<string, string>()
|
||||
.SetAppVersion(new Version(47, 12, 3));
|
||||
Assert.That(JsonSettingsDictionary.GetAppVersion(dict), Is.EqualTo(new Version(47, 12, 3)));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestGetShowWhatsNew_FirstInstall()
|
||||
{
|
||||
var dict = new Dictionary<string, string>();
|
||||
Assert.That(JsonSettingsDictionary.GetWhatsNew(dict), Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestGetShowWhatsNew_Json()
|
||||
{
|
||||
var dict = new Dictionary<string, string> { { "ShowWhatsNew", "\"3.1.2.117\"" } };
|
||||
Assert.That(JsonSettingsDictionary.GetWhatsNew(dict), Is.EqualTo(new Version(3, 1, 2, 117)));
|
||||
|
||||
dict = new Dictionary<string, string> { { "ShowWhatsNew", "\"3.1.2\"" } };
|
||||
Assert.That(JsonSettingsDictionary.GetWhatsNew(dict), Is.EqualTo(new Version(3, 1, 2)));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestSetShowWhats_Json()
|
||||
{
|
||||
var dict = new Dictionary<string, string>()
|
||||
.SetWhatsNew(new Version(47, 12, 3));
|
||||
Assert.That(JsonSettingsDictionary.GetWhatsNew(dict), Is.EqualTo(new Version(47, 12, 3)));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestGetEntryTNoLegacySettingsKeyNull() => Assert.That(
|
||||
JsonSettingsDictionary.GetEntry<string>(null, new Dictionary<string, string>()),
|
||||
Is.Null);
|
||||
|
||||
[Test]
|
||||
public void TestGetEntryTNoLegacySettingsNull() => Assert.That(
|
||||
JsonSettingsDictionary.GetEntry<string>("Hi", null),
|
||||
Is.Null);
|
||||
|
||||
[Test]
|
||||
public void TestGetEntryTNoLegacyEntryNotFound() => Assert.That(
|
||||
JsonSettingsDictionary.GetEntry<string>("Hi", new Dictionary<string, string> { { "Ho", @"""Hu""" } }),
|
||||
Is.Null);
|
||||
|
||||
[Test]
|
||||
public void TestGetEntryTNoLegacyEntryFound() => Assert.That(
|
||||
JsonSettingsDictionary.GetEntry<string>("Hi", new Dictionary<string, string> { { "Hi", @"""Ho""" } }),
|
||||
Is.EqualTo("Ho"));
|
||||
|
||||
[Test]
|
||||
public void TestGetEntryT() => Assert.That(
|
||||
JsonSettingsDictionary.GetEntry<string>("Hi", new Dictionary<string, string> { { "Hi", @"""Ho""" } }, (value) => @"""Hey"""),
|
||||
Is.EqualTo("Hey"));
|
||||
|
||||
[Test]
|
||||
public void TestGetActiveTheme() => Assert.That(
|
||||
JsonSettingsDictionary.GetActiveTheme(new Dictionary<string, string> { { "Theme", @"""LastenradBayern""" } }),
|
||||
Is.EqualTo(typeof(ShareeBike.Themes.LastenradBayern).Name));
|
||||
|
||||
[Test]
|
||||
public void TestGetActiveThemeLegacy() => Assert.That(
|
||||
JsonSettingsDictionary.GetActiveTheme(new Dictionary<string, string> { { "Theme", @"""ShareeBike.Themes.LastenradBayern""" } }),
|
||||
Is.EqualTo(typeof(ShareeBike.Themes.LastenradBayern).Name));
|
||||
|
||||
[Test]
|
||||
public void TestSetActiveTheme()
|
||||
{
|
||||
var settings = JsonSettingsDictionary.SetActiveTheme(new Dictionary<string, string>(), @"LastenradBayern");
|
||||
Assert.That(
|
||||
settings,
|
||||
Contains.Key("Theme"));
|
||||
|
||||
settings = JsonSettingsDictionary.SetActiveTheme(new Dictionary<string, string>(), @"LastenradBayern");
|
||||
Assert.That(
|
||||
settings["Theme"],
|
||||
Is.EqualTo(JsonConvert.SerializeObject(typeof(ShareeBike.Themes.LastenradBayern).Name)));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestGetStartupSettingsStartupPage() => Assert.That(
|
||||
JsonSettingsDictionary.GetStartupSettings(new Dictionary<string, string> {
|
||||
{
|
||||
"StartupSettings",
|
||||
JsonConvert.SerializeObject(new StartupSettings { StartupPage = ShareeBike.ViewTypes.ContactPage})
|
||||
}
|
||||
}).StartupPage,
|
||||
Is.EqualTo(ShareeBike.ViewTypes.ContactPage));
|
||||
|
||||
[Test]
|
||||
public void TestSetStartupSettingsStartupPage()
|
||||
{
|
||||
var settings = JsonSettingsDictionary.SetStartupSettings(
|
||||
new Dictionary<string, string>(),
|
||||
new StartupSettings { StartupPage = ShareeBike.ViewTypes.ContactPage });
|
||||
|
||||
Assert.That(
|
||||
settings,
|
||||
Contains.Key("StartupSettings"));
|
||||
|
||||
Assert.That(
|
||||
settings["StartupSettings"],
|
||||
Is.EqualTo(JsonConvert.SerializeObject(new StartupSettings { StartupPage = ShareeBike.ViewTypes.ContactPage })));
|
||||
}
|
||||
}
|
||||
}
|
45
SharedBusinessLogic.Tests/Model/Settings/TestSettings.cs
Normal file
45
SharedBusinessLogic.Tests/Model/Settings/TestSettings.cs
Normal file
|
@ -0,0 +1,45 @@
|
|||
using System;
|
||||
using NUnit.Framework;
|
||||
using Serilog.Events;
|
||||
using ShareeBike.Model.Services.CopriApi.ServerUris;
|
||||
using ShareeBike.Settings;
|
||||
using ShareeBike.ViewModel.Map;
|
||||
using ShareeBike.ViewModel.Settings;
|
||||
|
||||
namespace SharedBusinessLogic.Tests.Fixtures.ObjectTests.SettingsNS
|
||||
{
|
||||
[TestFixture]
|
||||
public class TestSettings
|
||||
{
|
||||
[Test]
|
||||
public void TestConstructDefaults()
|
||||
{
|
||||
var settings = new ShareeBike.Model.Settings.Settings();
|
||||
|
||||
Assert.That(settings.MinimumLogEventLevel, Is.EqualTo(LogEventLevel.Information));
|
||||
|
||||
// Was GroupFilterHelper.GetSettingsFilterDefaults when used in ShareeBike- context.
|
||||
Assert.That(settings.GroupFilterSettings, Is.EqualTo(new GroupFilterSettings()));
|
||||
|
||||
// Was GroupFilterHelper.GetMapPageFilterDefaults when used in ShareeBike- context.
|
||||
Assert.That(settings.GroupFilterMapPage, Is.EqualTo(new GroupFilterMapPage()));
|
||||
|
||||
Assert.That(settings.ActiveUri, Is.EqualTo(new CopriServerUriList().ActiveUri));
|
||||
|
||||
Assert.That(settings.PollingParameters, Is.EqualTo(PollingParameters.Default));
|
||||
|
||||
Assert.That(
|
||||
settings.CenterMapToCurrentLocation, Is.True,
|
||||
"Center to map for sharee.bike because bt- locks require location info.");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestCtorCargo()
|
||||
{
|
||||
var settings = new ShareeBike.Model.Settings.Settings(activeUri: new Uri(CopriServerUriList.ShareeBike_LIVE));
|
||||
Assert.That(
|
||||
settings.CenterMapToCurrentLocation, Is.False,
|
||||
"Do not center to current location for ShareeBike.");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue