sharee.bike-App/SharedBusinessLogic.Tests/Model/TestWhatsNewMessage.cs
2024-04-09 12:53:23 +02:00

392 lines
11 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
using ShareeBike.Model;
using ShareeBike.ViewModel.WhatsNew;
using Xamarin.Essentials;
namespace SharedBusinessLogic.Tests.Model
{
[TestFixture]
public class TestWhatsNewMessage
{
[Test]
public void TestAdd_Text()
{
Assert.That(
new WhatsNewMessages
{
{
new Version(3, 0, 115),
"Whats new text."
}
}[0].Message,
Is.EqualTo("Whats new text."));
}
[Test]
public void TestAdd_Text_Null()
{
Assert.That(
new WhatsNewMessages
{
{
new Version(3, 0, 115),
null
}
}.Count,
Is.EqualTo(0));
}
[Test]
public void Test_Add_Version()
{
Assert.That(
new WhatsNewMessages
{
{
new Version(3, 0, 115),
"Whats new text."
}
}[0].Version,
Is.EqualTo(new Version(3, 0, 115)));
}
[Test]
public void Test_Add_Version_Null()
{
Assert.That(
new WhatsNewMessages
{
{
null,
"Whats new text."
}
}.Count,
Is.EqualTo(0));
}
[Test]
public void Test_Add_Flavors_GeneralEntry()
{
Assert.That(
new WhatsNewMessages
{
{
new Version(3, 0, 115),
"Whats new text."
}
}[0].Flavors.Count,
Is.EqualTo(0));
}
[Test]
public void Test_Add_Flavors_ShareeBike()
{
Assert.That(
new WhatsNewMessages
{
{
new Version(3, 0, 115),
"Whats new text.",
new List<AppFlavor> { AppFlavor.ShareeBike }
}
}[0].Flavors,
Is.EqualTo(new List<AppFlavor> { AppFlavor.ShareeBike }));
}
[Test]
public void TestPlatforms_Add_Platform_GeneralEntry()
{
Assert.That(
new WhatsNewMessages
{
{
new Version(3, 0, 115),
"Whats new text."
}
}[0].Platforms.Count,
Is.EqualTo(0));
}
[Test]
public void TestPlatforms_Add_Platform_IOs()
{
Assert.That(
new WhatsNewMessages
{
{
new Version(3, 0, 115),
"Whats new text.",
null,
new List<DevicePlatform> { DevicePlatform.iOS }
}
}[0].Platforms,
Is.EqualTo(new List<DevicePlatform> { DevicePlatform.iOS }));
}
[Test]
public void TestWhatsNewText_MajorUpdate_Lastenradbayern_iOS()
{
var whatsNew = new WhatsNew(new Version(3, 0, 120),
new Version(3, 0, 0, 114),
new Version(3, 0, 0, 114),
AppFlavor.LastenradBayern,
DevicePlatform.iOS,
new WhatsNewMessages {
{
new Version(3, 0, 0, 113),
"3.0.0.113 verbessert.\r\n\r\n"
},
{
new Version(3, 0, 0, 115),
"Benutzeroberfläche verbessert.\r\n\r\n"
},
{
new Version(3, 0, 0, 116),
"sharee.bike und Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n",
new List<AppFlavor> {AppFlavor.ShareeBike, AppFlavor.LastenradBayern}
},
{
new Version(3, 0, 0, 117),
"iOS Implementierungen verbessert.\r\n\r\n",
null,
new List<DevicePlatform> { DevicePlatform.iOS }
},
{
new Version(3, 0, 0, 118),
"iOS version Lastenrad Bayern verbessert.\r\n\r\n",
new List<AppFlavor> { AppFlavor.LastenradBayern },
new List<DevicePlatform> { DevicePlatform.iOS }
},
{
new Version(3, 0, 120),
"Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\n" +
"Offlineanzeige Stationen/ Räderinfo.\r\n\r\n"
},
{
new Version(3, 0, 121),
"3.0.121 verbessert.\r\n\r\n"
}
});
Assert.That(
WhatsNewViewModel.GetWhatNextHtmlText(whatsNew.WhatsNewText), Is.EqualTo("<p><b>3.0.0.115</b><br/>Benutzeroberfläche verbessert.\r\n\r\n</p>" +
"<p><b>3.0.0.116</b><br/>sharee.bike und Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n</p>" +
"<p><b>3.0.0.117</b><br/>iOS Implementierungen verbessert.\r\n\r\n</p>" +
"<p><b>3.0.0.118</b><br/>iOS version Lastenrad Bayern verbessert.\r\n\r\n</p>" +
"<p><b>3.0.120</b><br/>Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\nOfflineanzeige Stationen/ Räderinfo.\r\n\r\n</p>"));
}
[Test]
public void TestWhatsNewText_MajorUpdate_ShareeBike_iOS()
{
var whatsNew = new WhatsNew(new Version(3, 0, 120),
new Version(3, 0, 0, 114),
new Version(3, 0, 0, 114),
AppFlavor.ShareeBike,
DevicePlatform.iOS,
new WhatsNewMessages {
{
new Version(3, 0, 0, 113),
"3.0.0.113 verbessert.\r\n\r\n"
},
{
new Version(3, 0, 0, 115),
"Benutzeroberfläche verbessert.\r\n\r\n"
},
{
new Version(3, 0, 0, 116),
"sharee.bike und Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n",
new List<AppFlavor> {AppFlavor.ShareeBike, AppFlavor.LastenradBayern}
},
{
new Version(3, 0, 0, 117),
"iOS Implementierungen verbessert.\r\n\r\n",
null,
new List<DevicePlatform> { DevicePlatform.iOS }
},
{
new Version(3, 0, 0, 118),
"iOS version Lastenrad Bayern verbessert.\r\n\r\n",
new List<AppFlavor> { AppFlavor.LastenradBayern },
new List<DevicePlatform> { DevicePlatform.iOS }
},
{
new Version(3, 0, 120),
"Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\n" +
"Offlineanzeige Stationen/ Räderinfo.\r\n\r\n"
},
{
new Version(3, 0, 121),
"3.0.121 verbessert.\r\n\r\n"
}
});
Assert.That(
WhatsNewViewModel.GetWhatNextHtmlText(whatsNew.WhatsNewText), Is.EqualTo("<p><b>3.0.0.115</b><br/>Benutzeroberfläche verbessert.\r\n\r\n</p>" +
"<p><b>3.0.0.116</b><br/>sharee.bike und Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n</p>" +
"<p><b>3.0.0.117</b><br/>iOS Implementierungen verbessert.\r\n\r\n</p>" +
"<p><b>3.0.120</b><br/>Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\nOfflineanzeige Stationen/ Räderinfo.\r\n\r\n</p>"));
}
[Test]
public void TestWhatsNewText_MajorUpdate_ShareeBike_Android()
{
var whatsNew = new WhatsNew(new Version(3, 0, 120),
new Version(3, 0, 0, 114),
new Version(3, 0, 0, 114),
AppFlavor.ShareeBike,
DevicePlatform.Android,
new WhatsNewMessages {
{
new Version(3, 0, 0, 113),
"3.0.0.113 verbessert.\r\n\r\n"
},
{
new Version(3, 0, 0, 115),
"Benutzeroberfläche verbessert.\r\n\r\n"
},
{
new Version(3, 0, 0, 116),
"sharee.bike und Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n",
new List<AppFlavor> {AppFlavor.ShareeBike, AppFlavor.LastenradBayern}
},
{
new Version(3, 0, 0, 117),
"iOS Implementierungen verbessert.\r\n\r\n",
null,
new List<DevicePlatform> { DevicePlatform.iOS }
},
{
new Version(3, 0, 0, 118),
"iOS version Lastenrad Bayern verbessert.\r\n\r\n",
new List<AppFlavor> { AppFlavor.LastenradBayern },
new List<DevicePlatform> { DevicePlatform.iOS }
},
{
new Version(3, 0, 120),
"Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\n" +
"Offlineanzeige Stationen/ Räderinfo.\r\n\r\n"
},
{
new Version(3, 0, 121),
"3.0.121 verbessert.\r\n\r\n"
}
});
Assert.That(
WhatsNewViewModel.GetWhatNextHtmlText(whatsNew.WhatsNewText), Is.EqualTo("<p><b>3.0.0.115</b><br/>Benutzeroberfläche verbessert.\r\n\r\n</p>" +
"<p><b>3.0.0.116</b><br/>sharee.bike und Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n</p>" +
"<p><b>3.0.120</b><br/>Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\nOfflineanzeige Stationen/ Räderinfo.\r\n\r\n</p>"));
}
[Test]
public void TestWhatsNewText_MajorUpdate_LastenradBayern_Android()
{
var whatsNew = new WhatsNew(new Version(3, 0, 120),
new Version(3, 0, 0, 114),
new Version(3, 0, 0, 114),
AppFlavor.LastenradBayern,
DevicePlatform.Android,
new WhatsNewMessages {
{
new Version(3, 0, 0, 113),
"3.0.0.113 verbessert.\r\n\r\n"
},
{
new Version(3, 0, 0, 115),
"Benutzeroberfläche verbessert.\r\n\r\n"
},
{
new Version(3, 0, 0, 116),
"Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n",
new List<AppFlavor> {AppFlavor.LastenradBayern}
},
{
new Version(3, 0, 0, 117),
"iOS Implementierungen verbessert.\r\n\r\n",
null,
new List<DevicePlatform> { DevicePlatform.iOS }
},
{
new Version(3, 0, 0, 118),
"iOS version Lastenrad Bayern verbessert.\r\n\r\n",
new List<AppFlavor> { AppFlavor.LastenradBayern },
new List<DevicePlatform> { DevicePlatform.iOS }
},
{
new Version(3, 0, 120),
"Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\n" +
"Offlineanzeige Stationen/ Räderinfo.\r\n\r\n"
},
{
new Version(3, 0, 121),
"3.0.121 verbessert.\r\n\r\n"
}
});
Assert.That(
WhatsNewViewModel.GetWhatNextHtmlText(whatsNew.WhatsNewText), Is.EqualTo("<p><b>3.0.0.115</b><br/>Benutzeroberfläche verbessert.\r\n\r\n</p>" +
"<p><b>3.0.0.116</b><br/>Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n</p>" +
"<p><b>3.0.120</b><br/>Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\nOfflineanzeige Stationen/ Räderinfo.\r\n\r\n</p>"));
}
[Test]
public void TestWhatsNewText_MajorUpdate_LastenradBayern_iOS()
{
var whatsNew = new WhatsNew(new Version(3, 0, 120),
new Version(3, 0, 0, 114),
new Version(3, 0, 0, 114),
AppFlavor.LastenradBayern,
DevicePlatform.iOS,
new WhatsNewMessages {
{
new Version(3, 0, 0, 113),
"3.0.0.113 verbessert.\r\n\r\n"
},
{
new Version(3, 0, 0, 115),
"Benutzeroberfläche verbessert.\r\n\r\n"
},
{
new Version(3, 0, 0, 116),
"Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n",
new List<AppFlavor> {AppFlavor.LastenradBayern}
},
{
new Version(3, 0, 0, 117),
"iOS Implementierungen verbessert.\r\n\r\n",
null,
new List<DevicePlatform> { DevicePlatform.iOS }
},
{
new Version(3, 0, 0, 118),
"iOS version Lastenrad Bayern verbessert.\r\n\r\n",
new List<AppFlavor> { AppFlavor.LastenradBayern },
new List<DevicePlatform> { DevicePlatform.iOS }
},
{
new Version(3, 0, 120),
"Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\n" +
"Offlineanzeige Stationen/ Räderinfo.\r\n\r\n"
},
{
new Version(3, 0, 121),
"3.0.121 verbessert.\r\n\r\n"
}
});
Assert.That(
WhatsNewViewModel.GetWhatNextHtmlText(whatsNew.WhatsNewText), Is.EqualTo("<p><b>3.0.0.115</b><br/>Benutzeroberfläche verbessert.\r\n\r\n</p>" +
"<p><b>3.0.0.116</b><br/>Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n</p>" +
"<p><b>3.0.0.117</b><br/>iOS Implementierungen verbessert.\r\n\r\n</p>" +
"<p><b>3.0.0.118</b><br/>iOS version Lastenrad Bayern verbessert.\r\n\r\n</p>" +
"<p><b>3.0.120</b><br/>Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\nOfflineanzeige Stationen/ Räderinfo.\r\n\r\n</p>"
));
}
}
}