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.ShareeBike } } }[0].Flavors, Is.EqualTo(new List { 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.iOS } } }[0].Platforms, Is.EqualTo(new List { 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.ShareeBike, AppFlavor.LastenradBayern} }, { new Version(3, 0, 0, 117), "iOS Implementierungen verbessert.\r\n\r\n", null, new List { DevicePlatform.iOS } }, { new Version(3, 0, 0, 118), "iOS version Lastenrad Bayern verbessert.\r\n\r\n", new List { AppFlavor.LastenradBayern }, new List { 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("

3.0.0.115
Benutzeroberfläche verbessert.\r\n\r\n

" + "

3.0.0.116
sharee.bike und Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n

" + "

3.0.0.117
iOS Implementierungen verbessert.\r\n\r\n

" + "

3.0.0.118
iOS version Lastenrad Bayern verbessert.\r\n\r\n

" + "

3.0.120
Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\nOfflineanzeige Stationen/ Räderinfo.\r\n\r\n

")); } [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.ShareeBike, AppFlavor.LastenradBayern} }, { new Version(3, 0, 0, 117), "iOS Implementierungen verbessert.\r\n\r\n", null, new List { DevicePlatform.iOS } }, { new Version(3, 0, 0, 118), "iOS version Lastenrad Bayern verbessert.\r\n\r\n", new List { AppFlavor.LastenradBayern }, new List { 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("

3.0.0.115
Benutzeroberfläche verbessert.\r\n\r\n

" + "

3.0.0.116
sharee.bike und Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n

" + "

3.0.0.117
iOS Implementierungen verbessert.\r\n\r\n

" + "

3.0.120
Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\nOfflineanzeige Stationen/ Räderinfo.\r\n\r\n

")); } [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.ShareeBike, AppFlavor.LastenradBayern} }, { new Version(3, 0, 0, 117), "iOS Implementierungen verbessert.\r\n\r\n", null, new List { DevicePlatform.iOS } }, { new Version(3, 0, 0, 118), "iOS version Lastenrad Bayern verbessert.\r\n\r\n", new List { AppFlavor.LastenradBayern }, new List { 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("

3.0.0.115
Benutzeroberfläche verbessert.\r\n\r\n

" + "

3.0.0.116
sharee.bike und Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n

" + "

3.0.120
Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\nOfflineanzeige Stationen/ Räderinfo.\r\n\r\n

")); } [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.LastenradBayern} }, { new Version(3, 0, 0, 117), "iOS Implementierungen verbessert.\r\n\r\n", null, new List { DevicePlatform.iOS } }, { new Version(3, 0, 0, 118), "iOS version Lastenrad Bayern verbessert.\r\n\r\n", new List { AppFlavor.LastenradBayern }, new List { 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("

3.0.0.115
Benutzeroberfläche verbessert.\r\n\r\n

" + "

3.0.0.116
Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n

" + "

3.0.120
Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\nOfflineanzeige Stationen/ Räderinfo.\r\n\r\n

")); } [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.LastenradBayern} }, { new Version(3, 0, 0, 117), "iOS Implementierungen verbessert.\r\n\r\n", null, new List { DevicePlatform.iOS } }, { new Version(3, 0, 0, 118), "iOS version Lastenrad Bayern verbessert.\r\n\r\n", new List { AppFlavor.LastenradBayern }, new List { 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("

3.0.0.115
Benutzeroberfläche verbessert.\r\n\r\n

" + "

3.0.0.116
Lastenrad Bayern verbessert unter iOS und Android.\r\n\r\n

" + "

3.0.0.117
iOS Implementierungen verbessert.\r\n\r\n

" + "

3.0.0.118
iOS version Lastenrad Bayern verbessert.\r\n\r\n

" + "

3.0.120
Verbesserung: Keine Fehler mehr beim schnellen Tippen.\r\nOfflineanzeige Stationen/ Räderinfo.\r\n\r\n

" )); } } }