diff --git a/TINK.sln b/TINK.sln index 4c71a1c..8502e93 100644 --- a/TINK.sln +++ b/TINK.sln @@ -11,62 +11,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TINK.iOS", "TINK\TINK.iOS\T EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TINKLib", "TINKLib\TINKLib.csproj", "{B77F4222-0860-4494-A07C-EE8E09FA9983}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{49C8F824-4752-449E-A53C-35A2722AFA99}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Set02 - Book 3rd bike", "Set02 - Book 3rd bike", "{50D4A63A-91D8-4EC5-ADF6-9EF72D7AFAF0}" - ProjectSection(SolutionItems) = preProject - TestData\Set02\Story.json = TestData\Set02\Story.json - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "001", "001", "{A5D8D93B-4D4E-4C4C-A70C-44A451D6C722}" - ProjectSection(SolutionItems) = preProject - TestData\Set02\001\bikes_available.json = TestData\Set02\001\bikes_available.json - TestData\Set02\001\booking_request_bike_8.json = TestData\Set02\001\booking_request_bike_8.json - TestData\Set02\001\stations_all.json = TestData\Set02\001\stations_all.json - TestData\Set02\001\user_bikes_occupied.json = TestData\Set02\001\user_bikes_occupied.json - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "002", "002", "{D0A2A88B-5DD9-4B40-A8AE-2AED6FB41911}" - ProjectSection(SolutionItems) = preProject - TestData\Set02\002\bikes_available.json = TestData\Set02\002\bikes_available.json - TestData\Set02\002\stations_all.json = TestData\Set02\002\stations_all.json - TestData\Set02\002\user_bikes_occupied.json = TestData\Set02\002\user_bikes_occupied.json - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "003", "003", "{272FB1A5-BBC5-41DF-91C2-C1C1A85AFD44}" - ProjectSection(SolutionItems) = preProject - TestData\Set02\003\bikes_available.json = TestData\Set02\003\bikes_available.json - TestData\Set02\003\stations_all.json = TestData\Set02\003\stations_all.json - TestData\Set02\003\user_bikes_occupied.json = TestData\Set02\003\user_bikes_occupied.json - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Set03 - Book 1st bike", "Set03 - Book 1st bike", "{E5E0E87A-1CDD-4E66-AF66-26EBDD0C6E61}" - ProjectSection(SolutionItems) = preProject - TestData\Set03\Story.json = TestData\Set03\Story.json - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "001", "001", "{B0BE116C-B05C-4864-9D1F-5CE1A8EC7BD0}" - ProjectSection(SolutionItems) = preProject - TestData\Set03\001\booking_request_bike_20.json = TestData\Set03\001\booking_request_bike_20.json - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "002", "002", "{C579CA91-17DC-4AC4-8F1B-377A245883FD}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Set01 - Log in", "Set01 - Log in", "{A872956F-17F0-416E-9A9A-F28D96F13A94}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "001", "001", "{104F18F2-1261-42C0-96A4-F5BBACF595DA}" - ProjectSection(SolutionItems) = preProject - TestData\Set01\001\authorization_javaminister%40gmail.com_javaminister_HwId1000000000000.json = TestData\Set01\001\authorization_javaminister%40gmail.com_javaminister_HwId1000000000000.json - TestData\Set01\001\bikes_available.json = TestData\Set01\001\bikes_available.json - TestData\Set01\001\bikes_occupied.json = TestData\Set01\001\bikes_occupied.json - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Set04 - Cancel Booking", "Set04 - Cancel Booking", "{55C5EF2A-FDEB-40F6-ABE9-84B7B1981B2B}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "001", "001", "{AADA3B61-8626-43AE-BED9-BA5AA3D93576}" - ProjectSection(SolutionItems) = preProject - TestData\Set04 - Cancel Booking\001\booking_cancel_bike_7.json = TestData\Set04 - Cancel Booking\001\booking_cancel_bike_7.json - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestTINKLib", "TestTINKLib\TestTINKLib.csproj", "{730A31A5-6736-43CC-8F84-8FDA5093E283}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LockItShared", "LockItShared\LockItShared.csproj", "{3589ED1D-E734-429D-976F-1BEA4371DF14}" EndProject @@ -264,6 +209,54 @@ Global {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|x64.Build.0 = Release|Any CPU {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|x86.ActiveCfg = Release|Any CPU {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|x86.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|Any CPU.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|ARM.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|ARM.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|iPhone.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|x64.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|x64.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|x86.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|x86.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|Any CPU.Build.0 = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|ARM.ActiveCfg = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|ARM.Build.0 = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|iPhone.Build.0 = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|x64.ActiveCfg = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|x64.Build.0 = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|x86.ActiveCfg = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|x86.Build.0 = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|Any CPU.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|Any CPU.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|ARM.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|ARM.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|iPhone.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|iPhone.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|x64.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|x64.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|x86.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|x86.Build.0 = Release|Any CPU {3589ED1D-E734-429D-976F-1BEA4371DF14}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU {3589ED1D-E734-429D-976F-1BEA4371DF14}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU {3589ED1D-E734-429D-976F-1BEA4371DF14}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU @@ -508,19 +501,6 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {50D4A63A-91D8-4EC5-ADF6-9EF72D7AFAF0} = {49C8F824-4752-449E-A53C-35A2722AFA99} - {A5D8D93B-4D4E-4C4C-A70C-44A451D6C722} = {50D4A63A-91D8-4EC5-ADF6-9EF72D7AFAF0} - {D0A2A88B-5DD9-4B40-A8AE-2AED6FB41911} = {50D4A63A-91D8-4EC5-ADF6-9EF72D7AFAF0} - {272FB1A5-BBC5-41DF-91C2-C1C1A85AFD44} = {50D4A63A-91D8-4EC5-ADF6-9EF72D7AFAF0} - {E5E0E87A-1CDD-4E66-AF66-26EBDD0C6E61} = {49C8F824-4752-449E-A53C-35A2722AFA99} - {B0BE116C-B05C-4864-9D1F-5CE1A8EC7BD0} = {E5E0E87A-1CDD-4E66-AF66-26EBDD0C6E61} - {C579CA91-17DC-4AC4-8F1B-377A245883FD} = {E5E0E87A-1CDD-4E66-AF66-26EBDD0C6E61} - {A872956F-17F0-416E-9A9A-F28D96F13A94} = {49C8F824-4752-449E-A53C-35A2722AFA99} - {104F18F2-1261-42C0-96A4-F5BBACF595DA} = {A872956F-17F0-416E-9A9A-F28D96F13A94} - {55C5EF2A-FDEB-40F6-ABE9-84B7B1981B2B} = {49C8F824-4752-449E-A53C-35A2722AFA99} - {AADA3B61-8626-43AE-BED9-BA5AA3D93576} = {55C5EF2A-FDEB-40F6-ABE9-84B7B1981B2B} - EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C6529CD7-C3F7-4E80-89B5-002E2B8E3EB5} EndGlobalSection diff --git a/TINK/TINK.Android/Properties/AndroidManifest.xml.bak b/TINK/TINK.Android/Properties/AndroidManifest.xml.bak deleted file mode 100644 index 61f1e7c..0000000 --- a/TINK/TINK.Android/Properties/AndroidManifest.xml.bak +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/TINK/TINK.iOS/Info.plist b/TINK/TINK.iOS/Info.plist index 73207e9..011fd00 100644 --- a/TINK/TINK.iOS/Info.plist +++ b/TINK/TINK.iOS/Info.plist @@ -49,8 +49,8 @@ CFBundleDisplayName sharee.bike CFBundleVersion - 238 + 239 CFBundleShortVersionString - 3.0.238 + 3.0.239 diff --git a/TINKLib/CSharp9.cs b/TINKLib/CSharp9.cs index 604ad5d..9fcc54c 100644 --- a/TINKLib/CSharp9.cs +++ b/TINKLib/CSharp9.cs @@ -3,6 +3,7 @@ // ReSharper disable once CheckNamespace namespace System.Runtime.CompilerServices { +#if USCSHARP9 /// /// Reserved to be used by the compiler for tracking metadata. /// This class should not be used by developers in source code. @@ -11,4 +12,5 @@ namespace System.Runtime.CompilerServices internal static class IsExternalInit { } +#endif } \ No newline at end of file diff --git a/TINKLib/Model/Connector/Updater/UpdaterJSON.cs b/TINKLib/Model/Connector/Updater/UpdaterJSON.cs index fbcca1e..aba9649 100644 --- a/TINKLib/Model/Connector/Updater/UpdaterJSON.cs +++ b/TINKLib/Model/Connector/Updater/UpdaterJSON.cs @@ -170,99 +170,99 @@ namespace TINK.Model.Connector /// Response to create bikes from. /// New collection of occupied bikes. public static BikeCollection GetBikesOccupied( - this BikesReservedOccupiedResponse p_oBikesOccupiedResponse, - string p_strMail, - Func p_oDateTimeProvider) + this BikesReservedOccupiedResponse bikesOccupiedResponse, + string mail, + Func dateTimeProvider) { return GetBikesAll( new BikesAvailableResponse(), - p_oBikesOccupiedResponse, - p_strMail, - p_oDateTimeProvider); + bikesOccupiedResponse, + mail, + dateTimeProvider); } /// Gets bikes occupied from copri server response. /// Response to create bikes from. /// New collection of occupied bikes. public static BikeCollection GetBikesAll( - BikesAvailableResponse p_oBikesAvailableResponse, - BikesReservedOccupiedResponse p_oBikesOccupiedResponse, + BikesAvailableResponse bikesAvailableResponse, + BikesReservedOccupiedResponse bikesOccupiedResponse, string p_strMail, Func p_oDateTimeProvider) { - var l_oBikesDictionary = new Dictionary(); - var l_oDuplicates = new Dictionary(); + var bikesDictionary = new Dictionary(); + var duplicates = new Dictionary(); // Get bikes from Copri/ file/ memory, .... - if (p_oBikesAvailableResponse != null - && p_oBikesAvailableResponse.bikes != null) + if (bikesAvailableResponse != null + && bikesAvailableResponse.bikes != null) { - foreach (var bikeInfoResponse in p_oBikesAvailableResponse.bikes.Values) + foreach (var bikeInfoResponse in bikesAvailableResponse.bikes.Values) { - var l_oBikeInfo = BikeInfoFactory.Create(bikeInfoResponse); - if (l_oBikeInfo == null) + var bikeInfo = BikeInfoFactory.Create(bikeInfoResponse); + if (bikeInfo == null) { // Response is not valid. continue; } - if (l_oBikesDictionary.ContainsKey(l_oBikeInfo.Id)) + if (bikesDictionary.ContainsKey(bikeInfo.Id)) { // Duplicates are not allowed. - Log.Error($"Duplicate bike with id {l_oBikeInfo.Id} detected evaluating bikes available. Bike status is {l_oBikeInfo.State.Value}."); + Log.Error($"Duplicate bike with id {bikeInfo.Id} detected evaluating bikes available. Bike status is {bikeInfo.State.Value}."); - if (!l_oDuplicates.ContainsKey(l_oBikeInfo.Id)) + if (!duplicates.ContainsKey(bikeInfo.Id)) { - l_oDuplicates.Add(l_oBikeInfo.Id, l_oBikeInfo); + duplicates.Add(bikeInfo.Id, bikeInfo); } continue; } - l_oBikesDictionary.Add(l_oBikeInfo.Id, l_oBikeInfo); + bikesDictionary.Add(bikeInfo.Id, bikeInfo); } } // Get bikes from Copri/ file/ memory, .... - if (p_oBikesOccupiedResponse != null - && p_oBikesOccupiedResponse.bikes_occupied != null) + if (bikesOccupiedResponse != null + && bikesOccupiedResponse.bikes_occupied != null) { - foreach (var l_oBikeInfoResponse in p_oBikesOccupiedResponse.bikes_occupied.Values) + foreach (var bikeInfoResponse in bikesOccupiedResponse.bikes_occupied.Values) { - BikeInfo l_oBikeInfo = BikeInfoFactory.Create( - l_oBikeInfoResponse, + BikeInfo bikeInfo = BikeInfoFactory.Create( + bikeInfoResponse, p_strMail, p_oDateTimeProvider); - if (l_oBikeInfo == null) + if (bikeInfo == null) { continue; } - if (l_oBikesDictionary.ContainsKey(l_oBikeInfo.Id)) + if (bikesDictionary.ContainsKey(bikeInfo.Id)) { // Duplicates are not allowed. - Log.Error($"Duplicate bike with id {l_oBikeInfo.Id} detected evaluating bikes occupied. Bike status is {l_oBikeInfo.State.Value}."); - if (!l_oDuplicates.ContainsKey(l_oBikeInfo.Id)) + Log.Error($"Duplicate bike with id {bikeInfo.Id} detected evaluating bikes occupied. Bike status is {bikeInfo.State.Value}."); + if (!duplicates.ContainsKey(bikeInfo.Id)) { - l_oDuplicates.Add(l_oBikeInfo.Id, l_oBikeInfo); + duplicates.Add(bikeInfo.Id, bikeInfo); } continue; } - l_oBikesDictionary.Add(l_oBikeInfo.Id, l_oBikeInfo); + bikesDictionary.Add(bikeInfo.Id, bikeInfo); } } // Remove entries which are not unique. - foreach (var l_oDuplicate in l_oDuplicates) + foreach (var l_oDuplicate in duplicates) { - l_oBikesDictionary.Remove(l_oDuplicate.Key); + bikesDictionary.Remove(l_oDuplicate.Key); } - return new BikeCollection(l_oBikesDictionary); + return new BikeCollection(bikesDictionary); } } @@ -416,7 +416,8 @@ namespace TINK.Model.Connector bikeInfo.GetIsDemo(), bikeInfo.GetGroup(), bikeInfo.GetWheelType(), - bikeInfo.GetTypeOfBike()); + bikeInfo.GetTypeOfBike(), + bikeInfo.description); } catch (ArgumentException ex) { @@ -465,7 +466,8 @@ namespace TINK.Model.Connector bikeInfo.GetIsDemo(), bikeInfo.GetGroup(), bikeInfo.GetWheelType(), - bikeInfo.GetTypeOfBike()); + bikeInfo.GetTypeOfBike(), + bikeInfo.description); } catch (ArgumentException ex) { @@ -480,7 +482,7 @@ namespace TINK.Model.Connector } } - public static Bikes.Bike.TariffDescription Create(this TINK.Repository.Response.TariffDescription tariffDesciption) + public static Bikes.Bike.TariffDescription Create(this TariffDescription tariffDesciption) { return new Bikes.Bike.TariffDescription { diff --git a/TINKLib/Model/WhatsNew.cs b/TINKLib/Model/WhatsNew.cs index f0756c5..6dae90f 100644 --- a/TINKLib/Model/WhatsNew.cs +++ b/TINKLib/Model/WhatsNew.cs @@ -405,9 +405,13 @@ namespace TINK.Model { new Version(3, 0, 238), AppResources.ChangeLog3_0_231 + }, + { + new Version(3, 0, 239), + AppResources.ChangeLog3_0_239 } - + }; /// Manges the whats new information. diff --git a/TINKLib/MultilingualResources/AppResources.Designer.cs b/TINKLib/MultilingualResources/AppResources.Designer.cs index c345594..8b88ac1 100644 --- a/TINKLib/MultilingualResources/AppResources.Designer.cs +++ b/TINKLib/MultilingualResources/AppResources.Designer.cs @@ -715,6 +715,15 @@ namespace TINK.MultilingualResources { } } + /// + /// Looks up a localized string similar to Bugfix: Bike description is displayed correctly again.. + /// + public static string ChangeLog3_0_239 { + get { + return ResourceManager.GetString("ChangeLog3_0_239", resourceCulture); + } + } + /// /// Looks up a localized string similar to Lock of rented bike can not be found.. /// diff --git a/TINKLib/MultilingualResources/AppResources.de.resx b/TINKLib/MultilingualResources/AppResources.de.resx index 594197b..2a14ae4 100644 --- a/TINKLib/MultilingualResources/AppResources.de.resx +++ b/TINKLib/MultilingualResources/AppResources.de.resx @@ -601,4 +601,7 @@ Layout Anzeige Radnamen und nummern verbessert. Hard- und software information werden an Backend übermittelt bei Radrückgabe. + + Fehlerbehebung: Radname wird wieder korrekt angezeigt. + \ No newline at end of file diff --git a/TINKLib/MultilingualResources/AppResources.resx b/TINKLib/MultilingualResources/AppResources.resx index 387ee3c..19d1819 100644 --- a/TINKLib/MultilingualResources/AppResources.resx +++ b/TINKLib/MultilingualResources/AppResources.resx @@ -697,4 +697,7 @@ Layout of bike names and id display improved. Hard- and software information send to backend when returning bike. + + Bugfix: Bike description is displayed correctly again. + \ No newline at end of file diff --git a/TINKLib/MultilingualResources/TINKLib.de.xlf b/TINKLib/MultilingualResources/TINKLib.de.xlf index d8cfb38..f2fd400 100644 --- a/TINKLib/MultilingualResources/TINKLib.de.xlf +++ b/TINKLib/MultilingualResources/TINKLib.de.xlf @@ -805,6 +805,10 @@ Layout Anzeige Radnamen und nummern verbessert. Hard- and software information send to backend when returning bike. Hard- und software information werden an Backend übermittelt bei Radrückgabe. + + Bugfix: Bike description is displayed correctly again. + Fehlerbehebung: Radname wird wieder korrekt angezeigt. + diff --git a/TINKLib/Repository/CopriCallsMemory.cs b/TINKLib/Repository/CopriCallsMemory.cs index 4e0c3e0..f2d718c 100644 --- a/TINKLib/Repository/CopriCallsMemory.cs +++ b/TINKLib/Repository/CopriCallsMemory.cs @@ -149,6 +149,9 @@ namespace TINK.Repository } } "; + /// + /// Holds three rented bc- bikes. + /// const string BIKES_OCCUPIED_REQUEST_SET01_001_FILE = @" { ""shareejson"" : { @@ -186,6 +189,9 @@ namespace TINK.Repository } }"; + /// + /// Two rented bc bikes. + /// const string BIKES_OCCUPIED_REQUEST_SET02_001_FILE = @" { ""shareejson"": { @@ -217,6 +223,9 @@ namespace TINK.Repository } }"; + /// + /// One reserved and two rented bikes. + /// const string BIKES_OCCUPIED_REQUEST_SET02_002_FILE = @" { ""shareejson"": { @@ -257,6 +266,9 @@ namespace TINK.Repository } }"; + /// + /// Three rented bikes. + /// const string BIKES_OCCUPIED_REQUEST_SET02_003_FILE = @" { ""shareejson"": { @@ -297,6 +309,9 @@ namespace TINK.Repository } }"; + /// + /// Two rented bikes. + /// const string BIKES_OCCUPIED_REQUEST_SHAREEFR01_SET1_FILE = @" { ""shareejson"": { @@ -375,7 +390,127 @@ namespace TINK.Repository ""copri_version"" : ""4.1.0.0"" } }"; - + + /// + /// One reserved and two rented bikes. + /// + /// + /// Response from BIKES_OCCUPIED_REQUEST_SHAREEFR01_SET2_FILE taken (does not yet contain uri_operator) and reserved bike added. + /// + const string BIKES_OCCUPIED_REQUEST_SHAREEFR01_SET2_FILE = @" + { + ""shareejson"": { + ""privacy_html"": ""site/privacy.html"", + ""response"": ""user_bikes_occupied"", + ""apiserver"": ""https://shareeapp-fr01.copri.eu"", + ""authcookie"": ""5781_d47fc786e740ef77d85a24bcb6f0ff97_oiF2kahH"", + ""impress_html"": ""site/impress.html"", + ""tariff_info_html"": ""site/tariff_info.html"", + ""bikes_occupied"": { + ""155776"": { + ""K_a"": ""[-83, 104, 55, -74, 16, -105, 124, -103, -68, -17, -127, -113, 56, 43, -61, -86, 124, -54, 63, 57, 0, 0, 0, 0]"", + ""real_hours"": ""49.3"", + ""bike"": ""1545"", + ""tariff_description"": { + ""eur_per_hour"" : ""2.50"", + ""number"" : ""5494"", + ""name"" : ""Tester Basic"", + ""max_eur_per_day"" : ""10.00"" + }, + ""lock_state"": ""unlocked"", + ""total_price"": ""23.75"", + ""station"" : ""103"", + ""gps"" : { ""latitude"": ""47.9980383301154"", ""longitude"": ""7.78496129438281"" }, + ""system"": ""Ilockit"", + ""end_time"": ""2020-11-08 19:11:27"", + ""bike_group"" : [ ""300029"" ], + ""Ilockit_ID"": ""ISHAREIT-2200545"", + ""start_time"": ""2020-11-06 17:53:22.784681+01"", + ""unit_price"": ""2.50"", + ""request_time"": ""2020-11-06 17:52:56.832138+01"", + ""state"": ""occupied"", + ""Ilockit_GUID"": ""00000000-0000-0000-0000-e38bf9d32234"", + ""computed_hours"": ""9.50"", + ""K_u"": ""[53, 92, -55, -109, 112, 38, -35, 43, -18, 122, 115, 50, -85, -57, 62, -57, -112, 2, 117, -47, 0, 0, 0, 0]"", + ""description"": ""Tester-bike (Ilockit)"", + ""K_seed"": ""[119, -47, -91, -36, -29, -17, 35, 47, -80, -112, -55, 2, 70, -45, 60, -62]"" + }, + ""155744"": { + ""Ilockit_GUID"": ""00000000-0000-0000-0000-d589a8023487"", + ""unit_price"": ""2.50"", + ""start_time"": ""2020-10-12 08:38:30.401679+02"", + ""request_time"": ""2020-10-12 08:38:12.374231+02"", + ""state"": ""occupied"", + ""K_u"": ""[93, -45, -89, -38, 50, 107, 21, -119, -26, -90, -15, 99, 17, 44, -20, 24, 34, -111, 125, -31, 0, 0, 0, 0]"", + ""computed_hours"": ""112"", + ""K_seed"": ""[24, 69, -21, 52, 55, 3, -71, 30, -71, 43, 108, -100, 15, 126, -117, 40]"", + ""description"": ""Oliver (Ilockit)"", + ""tariff_description"": { + ""eur_per_hour"" : ""2.50"", + ""number"" : ""5494"", + ""name"" : ""Tester Basic"", + ""max_eur_per_day"" : ""10.00"" + }, + ""bike"": ""1537"", + ""uri_operator"" : ""https://shareeapp-fr01.copri.eu"", + ""real_hours"": ""659.55"", + ""lock_state"": ""locked"", + ""K_a"": ""[109, 35, -55, 78, -65, 87, -43, -4, -90, -104, -16, -45, -80, -80, 106, -25, -77, 111, -79, 58, 0, 0, 0, 0]"", + ""system"": ""Ilockit"", + ""gps"" : { ""latitude"": ""47.9977741744369"", ""longitude"": ""7.78484562411904"" }, + ""station"" : ""103"", + ""total_price"": ""280.00"", + ""Ilockit_ID"": ""ISHAREIT-2200537"", + ""bike_group"" : [ ""300029"" ], + ""end_time"": ""2020-11-08 19:11:25"" + }, + ""156350"" : { + ""total_price"" : ""0.00"", + ""description"" : ""Tester-bike Oliver 2"", + ""K_u"" : ""[-72, 88, 96, -80, -2, 82, 36, -67, 48, 101, -55, 127, -85, 95, -83, -77, 14, -103, -14, -47, 0, 0, 0, 0]"", + ""real_hours"" : ""0"", + ""state"" : ""requested"", + ""tariff_description"" : { + ""eur_per_hour"" : ""3.00"", + ""max_eur_per_day"" : ""10.00"", + ""number"" : ""5494"", + ""name"" : ""Tester Basic"" + }, + ""station"" : ""FR_103"", + ""Ilockit_ID"" : ""ISHAREIT-2302373"", + ""K_seed"" : ""[-93, -36, 49, -84, 65, 107, 74, 125, -91, -59, 43, 45, 85, -126, 91, -27]"", + ""K_a"" : ""[-76, 86, 39, -62, 89, 76, 23, -37, 108, -4, 4, -36, -48, 26, -110, -75, 96, -101, -26, -51, 0, 0, 0, 0]"", + ""end_time"" : ""2021-07-04 17:46:00+02"", + ""system"" : ""Ilockit"", + ""computed_hours"" : ""0"", + ""bike"" : ""FR_1004"", + ""uri_operator"" : ""https://shareeapp-fr01.copri.eu"", + ""start_time"" : ""2021-07-04 17:46:36.237404+02"", + ""bike_group"" : [ + ""FR_300029"" + ], + ""gps"" : { + ""latitude"" : ""47.9978876"", + ""longitude"" : ""7.7849563"" + }, + ""unit_price"" : ""3.00"", + ""lock_state"" : ""locked"", + ""Ilockit_GUID"" : ""00000000-0000-0000-0000-fe3962c08bcc"", + ""request_time"" : ""2021-07-04 17:46:36.237404+02"" + } + }, + ""bike_info_html"": ""site/bike_info.html"", + ""agb_html"": ""site/agb.html"", + ""agb_checked"": ""1"", + ""user_id"": ""ohauff@posteo.de"", + ""response_state"": ""OK: nothing todo "", + ""lang"": ""DE"", + ""user_group"": [ ""300029"", ""300001"" ], + ""debuglevel"": ""1"", + ""copri_version"" : ""4.1.0.0"" + } + }"; + const string BIKES_AVAILABLE_SET01_001_FILE = @" { ""shareejson"" : { @@ -734,6 +869,9 @@ namespace TINK.Repository } }"; + /// + /// Five available bikes. + /// const string BIKES_AVAILABLE_REQUEST_SHAREEFR01_SET1_FILE = @" { ""shareejson"": { @@ -1222,12 +1360,12 @@ namespace TINK.Repository /// /// Gets a list of bikes reserved/ booked by acctive user from Copri. /// - /// Cookie to authenticate user. + /// Cookie to authenticate user. /// Sample set to use. /// Index of the stage. /// Response holding list of bikes. public static BikesReservedOccupiedResponse GetBikesOccupied( - string p_strSessionCookie = null, + string sessionCookie = null, SampleSets sampleSet = DEFAULT_SAMPLE_SET, long stageIndex = DEFAULT_STAGE_INDEX) { @@ -1275,6 +1413,9 @@ namespace TINK.Repository response = CopriCallsStatic.DeserializeResponse(BIKES_OCCUPIED_REQUEST_SHAREEFR01_SET1_FILE); break; + case 2: + response = CopriCallsStatic.DeserializeResponse(BIKES_OCCUPIED_REQUEST_SHAREEFR01_SET2_FILE); + break; default: return null; @@ -1288,9 +1429,9 @@ namespace TINK.Repository return null; } - return p_strSessionCookie == null || response?.authcookie == p_strSessionCookie + return sessionCookie == null || response?.authcookie == sessionCookie ? response - : ResponseHelper.GetBikesOccupiedNone(p_strSessionCookie); + : ResponseHelper.GetBikesOccupiedNone(sessionCookie); } diff --git a/TINKLib/TINKLib.sln b/TINKLib/TINKLib.sln index 779f5c2..f9003e2 100644 --- a/TINKLib/TINKLib.sln +++ b/TINKLib/TINKLib.sln @@ -1,37 +1,432 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.31229.75 +# Visual Studio 15 +VisualStudioVersion = 15.0.27130.2027 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TINKLib", "TINKLib.csproj", "{E58134F3-2A53-4825-8580-14554CA405FD}" +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "TINK", "..\TINK\TINK\TINK.shproj", "{5297504F-603F-4E1A-98AA-57C4A0D9D833}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LockItShared", "..\LockItShared\LockItShared.csproj", "{FA5648EF-4A5C-4513-8CBF-3BBB3D66CD9E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TINK.Android", "..\TINK\TINK.Android\TINK.Android.csproj", "{62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LockItBLE", "..\LockItBLE\LockItBLE.csproj", "{2BDECA07-F070-4796-B334-B012729748DA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TINK.iOS", "..\TINK\TINK.iOS\TINK.iOS.csproj", "{F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TINKLib", "TINKLib.csproj", "{B77F4222-0860-4494-A07C-EE8E09FA9983}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestTINKLib", "..\TestTINKLib\TestTINKLib.csproj", "{730A31A5-6736-43CC-8F84-8FDA5093E283}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Test", "Test", "{49C8F824-4752-449E-A53C-35A2722AFA99}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Set02 - Book 3rd bike", "Set02 - Book 3rd bike", "{50D4A63A-91D8-4EC5-ADF6-9EF72D7AFAF0}" + ProjectSection(SolutionItems) = preProject + ..\TestData\Set02\Story.json = ..\TestData\Set02\Story.json + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "001", "001", "{A5D8D93B-4D4E-4C4C-A70C-44A451D6C722}" + ProjectSection(SolutionItems) = preProject + ..\TestData\Set02\001\bikes_available.json = ..\TestData\Set02\001\bikes_available.json + ..\TestData\Set02\001\booking_request_bike_8.json = ..\TestData\Set02\001\booking_request_bike_8.json + ..\TestData\Set02\001\stations_all.json = ..\TestData\Set02\001\stations_all.json + ..\TestData\Set02\001\user_bikes_occupied.json = ..\TestData\Set02\001\user_bikes_occupied.json + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "002", "002", "{D0A2A88B-5DD9-4B40-A8AE-2AED6FB41911}" + ProjectSection(SolutionItems) = preProject + ..\TestData\Set02\002\bikes_available.json = ..\TestData\Set02\002\bikes_available.json + ..\TestData\Set02\002\stations_all.json = ..\TestData\Set02\002\stations_all.json + ..\TestData\Set02\002\user_bikes_occupied.json = ..\TestData\Set02\002\user_bikes_occupied.json + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "003", "003", "{272FB1A5-BBC5-41DF-91C2-C1C1A85AFD44}" + ProjectSection(SolutionItems) = preProject + ..\TestData\Set02\003\bikes_available.json = ..\TestData\Set02\003\bikes_available.json + ..\TestData\Set02\003\stations_all.json = ..\TestData\Set02\003\stations_all.json + ..\TestData\Set02\003\user_bikes_occupied.json = ..\TestData\Set02\003\user_bikes_occupied.json + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Set03 - Book 1st bike", "Set03 - Book 1st bike", "{E5E0E87A-1CDD-4E66-AF66-26EBDD0C6E61}" + ProjectSection(SolutionItems) = preProject + ..\TestData\Set03\Story.json = ..\TestData\Set03\Story.json + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "001", "001", "{B0BE116C-B05C-4864-9D1F-5CE1A8EC7BD0}" + ProjectSection(SolutionItems) = preProject + ..\TestData\Set03\001\booking_request_bike_20.json = ..\TestData\Set03\001\booking_request_bike_20.json + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "002", "002", "{C579CA91-17DC-4AC4-8F1B-377A245883FD}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Set01 - Log in", "Set01 - Log in", "{A872956F-17F0-416E-9A9A-F28D96F13A94}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "001", "001", "{104F18F2-1261-42C0-96A4-F5BBACF595DA}" + ProjectSection(SolutionItems) = preProject + ..\TestData\Set01\001\authorization_javaminister%40gmail.com_javaminister_HwId1000000000000.json = ..\TestData\Set01\001\authorization_javaminister%40gmail.com_javaminister_HwId1000000000000.json + ..\TestData\Set01\001\bikes_available.json = ..\TestData\Set01\001\bikes_available.json + ..\TestData\Set01\001\bikes_occupied.json = ..\TestData\Set01\001\bikes_occupied.json + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Set04 - Cancel Booking", "Set04 - Cancel Booking", "{55C5EF2A-FDEB-40F6-ABE9-84B7B1981B2B}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "001", "001", "{AADA3B61-8626-43AE-BED9-BA5AA3D93576}" + ProjectSection(SolutionItems) = preProject + ..\TestData\Set04 - Cancel Booking\001\booking_cancel_bike_7.json = ..\TestData\Set04 - Cancel Booking\001\booking_cancel_bike_7.json + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestTINK", "..\UITest\TestTINK.csproj", "{240B1AC3-6ECB-4985-BA04-D631668D6CCF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestTINKUI", "..\TestTINKUI\TestTINKUI.csproj", "{B19C892E-2628-4CA7-AD27-08D406A3B14B}" EndProject Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + ..\TINK\TINK\TINK.projitems*{5297504f-603f-4e1a-98aa-57c4a0d9d833}*SharedItemsImports = 13 + ..\TINK\TINK\TINK.projitems*{62b8950a-70b8-4f9d-affc-0a1ebe7bc9e7}*SharedItemsImports = 4 + ..\TINK\TINK\TINK.projitems*{f2d8208f-a8bf-4403-b0ae-2a1d270e4dc9}*SharedItemsImports = 4 + EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution + Ad-Hoc|Any CPU = Ad-Hoc|Any CPU + Ad-Hoc|ARM = Ad-Hoc|ARM + Ad-Hoc|iPhone = Ad-Hoc|iPhone + Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator + Ad-Hoc|x64 = Ad-Hoc|x64 + Ad-Hoc|x86 = Ad-Hoc|x86 + AppStore|Any CPU = AppStore|Any CPU + AppStore|ARM = AppStore|ARM + AppStore|iPhone = AppStore|iPhone + AppStore|iPhoneSimulator = AppStore|iPhoneSimulator + AppStore|x64 = AppStore|x64 + AppStore|x86 = AppStore|x86 Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|iPhone = Debug|iPhone + Debug|iPhoneSimulator = Debug|iPhoneSimulator + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|iPhone = Release|iPhone + Release|iPhoneSimulator = Release|iPhoneSimulator + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E58134F3-2A53-4825-8580-14554CA405FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E58134F3-2A53-4825-8580-14554CA405FD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E58134F3-2A53-4825-8580-14554CA405FD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E58134F3-2A53-4825-8580-14554CA405FD}.Release|Any CPU.Build.0 = Release|Any CPU - {FA5648EF-4A5C-4513-8CBF-3BBB3D66CD9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FA5648EF-4A5C-4513-8CBF-3BBB3D66CD9E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FA5648EF-4A5C-4513-8CBF-3BBB3D66CD9E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FA5648EF-4A5C-4513-8CBF-3BBB3D66CD9E}.Release|Any CPU.Build.0 = Release|Any CPU - {2BDECA07-F070-4796-B334-B012729748DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2BDECA07-F070-4796-B334-B012729748DA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2BDECA07-F070-4796-B334-B012729748DA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2BDECA07-F070-4796-B334-B012729748DA}.Release|Any CPU.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|Any CPU.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|Any CPU.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|ARM.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|ARM.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|ARM.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|iPhone.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|iPhone.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|x64.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|x64.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|x64.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|x86.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|x86.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.AppStore|x86.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|ARM.ActiveCfg = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|ARM.Build.0 = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|ARM.Deploy.0 = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|iPhone.Build.0 = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|iPhone.Deploy.0 = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|x64.ActiveCfg = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|x64.Build.0 = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|x64.Deploy.0 = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|x86.ActiveCfg = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|x86.Build.0 = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Debug|x86.Deploy.0 = Debug|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|Any CPU.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|Any CPU.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|ARM.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|ARM.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|ARM.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|iPhone.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|iPhone.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|iPhone.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|x64.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|x64.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|x64.Deploy.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|x86.ActiveCfg = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|x86.Build.0 = Release|Any CPU + {62B8950A-70B8-4F9D-AFFC-0A1EBE7BC9E7}.Release|x86.Deploy.0 = Release|Any CPU + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.AppStore|ARM.ActiveCfg = AppStore|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.AppStore|iPhone.ActiveCfg = AppStore|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.AppStore|iPhone.Build.0 = AppStore|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.AppStore|x64.ActiveCfg = AppStore|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.AppStore|x86.ActiveCfg = AppStore|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Debug|Any CPU.ActiveCfg = Debug|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Debug|ARM.ActiveCfg = Debug|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Debug|iPhone.ActiveCfg = Debug|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Debug|iPhone.Build.0 = Debug|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Debug|x64.ActiveCfg = Debug|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Debug|x86.ActiveCfg = Debug|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Release|Any CPU.ActiveCfg = Release|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Release|ARM.ActiveCfg = Release|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Release|iPhone.ActiveCfg = Release|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Release|iPhone.Build.0 = Release|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Release|x64.ActiveCfg = Release|iPhone + {F2D8208F-A8BF-4403-B0AE-2A1D270E4DC9}.Release|x86.ActiveCfg = Release|iPhone + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.AppStore|ARM.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.AppStore|iPhone.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.AppStore|x64.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.AppStore|x64.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.AppStore|x86.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.AppStore|x86.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Debug|ARM.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Debug|ARM.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Debug|iPhone.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Debug|x64.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Debug|x64.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Debug|x86.ActiveCfg = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Debug|x86.Build.0 = Debug|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|Any CPU.Build.0 = Release|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|ARM.ActiveCfg = Release|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|ARM.Build.0 = Release|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|iPhone.ActiveCfg = Release|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|iPhone.Build.0 = Release|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|x64.ActiveCfg = Release|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|x64.Build.0 = Release|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|x86.ActiveCfg = Release|Any CPU + {B77F4222-0860-4494-A07C-EE8E09FA9983}.Release|x86.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|Any CPU.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|ARM.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|ARM.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|iPhone.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|x64.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|x64.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|x86.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.AppStore|x86.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|Any CPU.Build.0 = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|ARM.ActiveCfg = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|ARM.Build.0 = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|iPhone.Build.0 = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|x64.ActiveCfg = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|x64.Build.0 = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|x86.ActiveCfg = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Debug|x86.Build.0 = Debug|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|Any CPU.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|Any CPU.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|ARM.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|ARM.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|iPhone.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|iPhone.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|x64.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|x64.Build.0 = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|x86.ActiveCfg = Release|Any CPU + {730A31A5-6736-43CC-8F84-8FDA5093E283}.Release|x86.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.AppStore|Any CPU.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.AppStore|ARM.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.AppStore|ARM.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.AppStore|iPhone.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.AppStore|x64.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.AppStore|x64.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.AppStore|x86.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.AppStore|x86.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Debug|ARM.ActiveCfg = Debug|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Debug|ARM.Build.0 = Debug|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Debug|iPhone.Build.0 = Debug|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Debug|x64.ActiveCfg = Debug|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Debug|x64.Build.0 = Debug|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Debug|x86.ActiveCfg = Debug|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Debug|x86.Build.0 = Debug|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Release|Any CPU.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Release|ARM.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Release|ARM.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Release|iPhone.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Release|iPhone.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Release|x64.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Release|x64.Build.0 = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Release|x86.ActiveCfg = Release|Any CPU + {240B1AC3-6ECB-4985-BA04-D631668D6CCF}.Release|x86.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Ad-Hoc|ARM.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Ad-Hoc|x64.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.AppStore|Any CPU.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.AppStore|ARM.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.AppStore|ARM.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.AppStore|iPhone.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.AppStore|x64.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.AppStore|x64.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.AppStore|x86.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.AppStore|x86.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Debug|ARM.ActiveCfg = Debug|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Debug|ARM.Build.0 = Debug|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Debug|iPhone.Build.0 = Debug|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Debug|x64.ActiveCfg = Debug|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Debug|x64.Build.0 = Debug|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Debug|x86.ActiveCfg = Debug|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Debug|x86.Build.0 = Debug|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Release|Any CPU.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Release|ARM.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Release|ARM.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Release|iPhone.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Release|iPhone.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Release|x64.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Release|x64.Build.0 = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Release|x86.ActiveCfg = Release|Any CPU + {B19C892E-2628-4CA7-AD27-08D406A3B14B}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {50D4A63A-91D8-4EC5-ADF6-9EF72D7AFAF0} = {49C8F824-4752-449E-A53C-35A2722AFA99} + {A5D8D93B-4D4E-4C4C-A70C-44A451D6C722} = {50D4A63A-91D8-4EC5-ADF6-9EF72D7AFAF0} + {D0A2A88B-5DD9-4B40-A8AE-2AED6FB41911} = {50D4A63A-91D8-4EC5-ADF6-9EF72D7AFAF0} + {272FB1A5-BBC5-41DF-91C2-C1C1A85AFD44} = {50D4A63A-91D8-4EC5-ADF6-9EF72D7AFAF0} + {E5E0E87A-1CDD-4E66-AF66-26EBDD0C6E61} = {49C8F824-4752-449E-A53C-35A2722AFA99} + {B0BE116C-B05C-4864-9D1F-5CE1A8EC7BD0} = {E5E0E87A-1CDD-4E66-AF66-26EBDD0C6E61} + {C579CA91-17DC-4AC4-8F1B-377A245883FD} = {E5E0E87A-1CDD-4E66-AF66-26EBDD0C6E61} + {A872956F-17F0-416E-9A9A-F28D96F13A94} = {49C8F824-4752-449E-A53C-35A2722AFA99} + {104F18F2-1261-42C0-96A4-F5BBACF595DA} = {A872956F-17F0-416E-9A9A-F28D96F13A94} + {55C5EF2A-FDEB-40F6-ABE9-84B7B1981B2B} = {49C8F824-4752-449E-A53C-35A2722AFA99} + {AADA3B61-8626-43AE-BED9-BA5AA3D93576} = {55C5EF2A-FDEB-40F6-ABE9-84B7B1981B2B} + EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {616DBD26-7262-4782-9A99-8A7A0228DEC3} + SolutionGuid = {C6529CD7-C3F7-4E80-89B5-002E2B8E3EB5} + EndGlobalSection + GlobalSection(MonoDevelopProperties) = preSolution + Policies = $0 + $0.DotNetNamingPolicy = $1 + $1.DirectoryNamespaceAssociation = PrefixedHierarchical + version = 3.0 EndGlobalSection EndGlobal diff --git a/TestShareeLib/Model/Bike/BluetoothLock/TestBikeInfo.cs b/TestShareeLib/Model/Bike/BluetoothLock/TestBikeInfo.cs index 45f78ea..bf10b69 100644 --- a/TestShareeLib/Model/Bike/BluetoothLock/TestBikeInfo.cs +++ b/TestShareeLib/Model/Bike/BluetoothLock/TestBikeInfo.cs @@ -31,9 +31,9 @@ namespace TestTINKLib.Fixtures.ObjectTests.Bike.BluetoothLock [Test] public void TestCtorRequested() { - Assert.AreEqual("12", new BikeInfo("12", 112, new Guid(), null, null, null, new DateTime(2020, 1, 1), "a@b", "13", null, null, dateTimeProvider: () => new DateTime(2019, 1, 1)).Id); - Assert.AreEqual(112, new BikeInfo("12", 112, new Guid(), null, null, null, new DateTime(2020,1,1), "a@b", "13", null, null, dateTimeProvider: () => new DateTime(2019, 1, 1)).LockInfo.Id); - Assert.AreEqual(InUseStateEnum.Reserved, new BikeInfo("12", 112, new Guid(), null, null, null, new DateTime(2020, 1, 1), "a@b", "13", null, null, dateTimeProvider: () => new DateTime(2019, 1, 1)).State.Value); + Assert.AreEqual("12", new BikeInfo("12", 112, new Guid(), null, null, null, new DateTime(2020, 1, 1), "a@b", "13", null, null, dateTimeProvider: () => new DateTime(2019, 1, 1), false /*isDemo*/, null /*group*/, null /*wheelType*/, null /*typeOfBike*/, null /*description*/).Id); + Assert.AreEqual(112, new BikeInfo("12", 112, new Guid(), null, null, null, new DateTime(2020,1,1), "a@b", "13", null, null, dateTimeProvider: () => new DateTime(2019, 1, 1), false /*isDemo*/, null /*group*/, null /*wheelType*/, null /*typeOfBike*/, null /*description*/).LockInfo.Id); + Assert.AreEqual(InUseStateEnum.Reserved, new BikeInfo("12", 112, new Guid(), null, null, null, new DateTime(2020, 1, 1), "a@b", "13", null, null, dateTimeProvider: () => new DateTime(2019, 1, 1), false /*isDemo*/, null /*group*/, null /*wheelType*/, null /*typeOfBike*/, null /*description*/).State.Value); } [Test] diff --git a/TestShareeLib/Model/Connector/TestCachetimings.cs b/TestShareeLib/Model/Connector/TestCachetimings.cs index 80509f6..89d5110 100644 --- a/TestShareeLib/Model/Connector/TestCachetimings.cs +++ b/TestShareeLib/Model/Connector/TestCachetimings.cs @@ -9,7 +9,6 @@ using UITest.Fixtures.Connector; namespace TestTINKLib.Fixtures.Misc { [TestFixture] - [Explicit("Run with care because this stress impact live system.")] [Category(TestCopriCallsHttps.CATEGORY_REQUIRESCOPRI)] public class TestCachetimings { diff --git a/TestShareeLib/Model/Connector/TestUpdaterJSON.cs b/TestShareeLib/Model/Connector/TestUpdaterJSON.cs index f036e51..b856751 100644 --- a/TestShareeLib/Model/Connector/TestUpdaterJSON.cs +++ b/TestShareeLib/Model/Connector/TestUpdaterJSON.cs @@ -154,48 +154,109 @@ namespace TestTINKLib.Fixtures.Connector } [Test] - public void TestGetBikesOccupied_BikeNr5GetBooked() + public void TestGetBikesOccupied_BC_BikeNr5GetBooked() { - var l_oBikesTarget = UpdaterJSON.GetBikesOccupied( + var bikesTarget = UpdaterJSON.GetBikesOccupied( GetBikesOccupied("4da3044c8657a04ba60e2eaa753bc51a", SampleSets.Set2, 1), "a@B", () => new DateTime(2017, 11, 28, 14, 8, 14)); // Date time now for bikes which are reserved // Check initial count of bikes. - Assert.AreEqual(2, l_oBikesTarget.Count); + Assert.AreEqual(2, bikesTarget.Count); // Bike 5 is reserved - l_oBikesTarget = UpdaterJSON.GetBikesOccupied( + bikesTarget = UpdaterJSON.GetBikesOccupied( GetBikesOccupied("4da3044c8657a04ba60e2eaa753bc51a", SampleSets.Set2, 2), "a@B", () => new DateTime(2017, 11, 28, 14, 08, 36).Add(new TimeSpan(0, 2, 0))); // Date time now for bikes which are reserved - Assert.AreEqual(3, l_oBikesTarget.Count, "One bike (nr. 5) got reserved"); - - Assert.NotNull(l_oBikesTarget.GetById("5")); - Assert.AreEqual(InUseStateEnum.Reserved, l_oBikesTarget.GetById("5").State.Value); - Assert.AreEqual("5", l_oBikesTarget.GetById("5").Id); - Assert.AreEqual(TypeOfBike.Cargo, l_oBikesTarget.GetById("5").TypeOfBike); - Assert.AreEqual(WheelType.Two, l_oBikesTarget.GetById("5").WheelType); - Assert.AreEqual(DateTime.Parse("2017-11-28 14:07:13.745568+01"), l_oBikesTarget.GetById("5").State.From); // Sommer/ Winterzeit! - Assert.AreEqual("2360", l_oBikesTarget.GetById("5").State.Code); + Assert.AreEqual(3, bikesTarget.Count, "One bike (nr. 5) got reserved"); + Assert.NotNull(bikesTarget.GetById("5")); + Assert.AreEqual(InUseStateEnum.Reserved, bikesTarget.GetById("5").State.Value); + Assert.AreEqual("5", bikesTarget.GetById("5").Id); + Assert.AreEqual("Cargo Long", bikesTarget.GetById("5").Description); + Assert.AreEqual(TypeOfBike.Cargo, bikesTarget.GetById("5").TypeOfBike); + Assert.AreEqual(WheelType.Two, bikesTarget.GetById("5").WheelType); + Assert.AreEqual(DateTime.Parse("2017-11-28 14:07:13.745568+01"), bikesTarget.GetById("5").State.From); // Sommer/ Winterzeit! + Assert.AreEqual("2360", bikesTarget.GetById("5").State.Code); // Bike 5 is booked - l_oBikesTarget = UpdaterJSON.GetBikesOccupied( + bikesTarget = UpdaterJSON.GetBikesOccupied( CopriCallsMemory.GetBikesOccupied("4da3044c8657a04ba60e2eaa753bc51a", SampleSets.Set2, 3), "a@B", () => DateTime.Now); - Assert.AreEqual(3, l_oBikesTarget.Count, "One bike (nr. 5) got booked"); + Assert.AreEqual(3, bikesTarget.Count, "One bike (nr. 5) got booked"); - Assert.IsNotNull(l_oBikesTarget.GetById("5")); - Assert.AreEqual(InUseStateEnum.Booked, l_oBikesTarget.GetById("5").State.Value); - Assert.AreEqual("5", l_oBikesTarget.GetById("5").Id); - Assert.AreEqual(TypeOfBike.Cargo, l_oBikesTarget.GetById("5").TypeOfBike); - Assert.AreEqual(WheelType.Two, l_oBikesTarget.GetById("5").WheelType); - Assert.AreEqual(DateTime.Parse("2017 -11-28 14:08:32.756368+01"), l_oBikesTarget.GetById("5").State.From); // Sommer/ Winterzeit! - Assert.AreEqual("2360", l_oBikesTarget.GetById("5").State.Code); + Assert.IsNotNull(bikesTarget.GetById("5")); + Assert.AreEqual(InUseStateEnum.Booked, bikesTarget.GetById("5").State.Value); + Assert.AreEqual("5", bikesTarget.GetById("5").Id); + Assert.AreEqual("Cargo Long", bikesTarget.GetById("5").Description); + Assert.AreEqual(TypeOfBike.Cargo, bikesTarget.GetById("5").TypeOfBike); + Assert.AreEqual(WheelType.Two, bikesTarget.GetById("5").WheelType); + Assert.AreEqual(DateTime.Parse("2017 -11-28 14:08:32.756368+01"), bikesTarget.GetById("5").State.From); // Sommer/ Winterzeit! + Assert.AreEqual("2360", bikesTarget.GetById("5").State.Code); + } + + [Test] + public void TestGetBikesOccupied_Bt_BikeNr5GetBooked() + { + var bikesTarget = UpdaterJSON.GetBikesOccupied( + GetBikesOccupied("5781_d47fc786e740ef77d85a24bcb6f0ff97_oiF2kahH", SampleSets.ShareeFr01_Set1, 1), + "a@B", + () => new DateTime(2017, 11, 28, 14, 8, 14)); // Date time now for bikes which are reserved + + // Check initial count of bikes. + Assert.AreEqual(2, bikesTarget.Count); + + // Bike 5 is reserved + bikesTarget = UpdaterJSON.GetBikesOccupied( + GetBikesOccupied("5781_d47fc786e740ef77d85a24bcb6f0ff97_oiF2kahH", SampleSets.ShareeFr01_Set1, 2), + "a@B", + () => new DateTime(2017, 11, 28, 14, 08, 36).Add(new TimeSpan(0, 2, 0))); // Date time now for bikes which are reserved + + Assert.AreEqual(3, bikesTarget.Count, "One bike (nr. 5) got reserved"); + + var btBikeReserved = bikesTarget.GetById("FR_1004") as BikeInfo; + Assert.NotNull(btBikeReserved); + Assert.AreEqual(InUseStateEnum.Reserved, bikesTarget.GetById("FR_1004").State.Value); + Assert.AreEqual("FR_1004", btBikeReserved.Id); + Assert.AreEqual("Tester-bike Oliver 2", btBikeReserved.Description); + Assert.That(btBikeReserved.TypeOfBike, Is.Null); + Assert.That(btBikeReserved.WheelType, Is.Null); + Assert.AreEqual(DateTime.Parse("2021-07-04 17:46:36.237404+02"), btBikeReserved.State.From); // Sommer/ Winterzeit! + Assert.That(btBikeReserved.State.Code, Is.EqualTo(string.Empty), "Not needed for bt bikes."); + Assert.That(btBikeReserved.TariffDescription.FeeEuroPerHour, Is.EqualTo(3)); + Assert.That(btBikeReserved.TariffDescription.MaxFeeEuroPerDay, Is.EqualTo(10)); + Assert.That(btBikeReserved.TariffDescription.Number, Is.EqualTo(5494)); + Assert.That(btBikeReserved.TariffDescription.Name, Is.EqualTo("Tester Basic")); + Assert.That(btBikeReserved.CurrentStation, Is.EqualTo("FR_103")); + Assert.That(btBikeReserved.LockInfo.Id, Is.EqualTo(2302373)); + Assert.That(btBikeReserved.OperatorUri.AbsoluteUri, Does.Contain("https://shareeapp-fr01.copri.eu")); + Assert.That(btBikeReserved.Group.Count, Is.EqualTo(1)); + Assert.That(btBikeReserved.Group.ToArray()[0], Is.EqualTo("FR_300029")); + + // Bike 5 is booked + var btBikeRented = bikesTarget.GetById("1537") as BikeInfo; + + Assert.IsNotNull(btBikeRented); + Assert.AreEqual(InUseStateEnum.Booked, btBikeRented.State.Value); + Assert.AreEqual("1537", btBikeRented.Id); + Assert.AreEqual("Oliver (Ilockit)", btBikeRented.Description); + Assert.That(btBikeRented.TypeOfBike, Is.Null); + Assert.That(btBikeRented.WheelType, Is.Null); + Assert.AreEqual(DateTime.Parse("2020-10-12 08:38:30.401679+02"), btBikeRented.State.From); // Sommer/ Winterzeit! + Assert.AreEqual(string.Empty, btBikeRented.State.Code, "Not needed for bt bikes."); + Assert.That(btBikeRented.TariffDescription.FeeEuroPerHour, Is.EqualTo(2.5)); + Assert.That(btBikeRented.TariffDescription.MaxFeeEuroPerDay, Is.EqualTo(10)); + Assert.That(btBikeRented.TariffDescription.Number, Is.EqualTo(5494)); + Assert.That(btBikeRented.TariffDescription.Name, Is.EqualTo("Tester Basic")); + Assert.That(btBikeRented.CurrentStation, Is.EqualTo("103")); + Assert.That(btBikeRented.LockInfo.Id, Is.EqualTo(2200537)); + Assert.That(btBikeRented.OperatorUri.AbsoluteUri, Does.Contain("https://shareeapp-fr01.copri.eu")); + Assert.That(btBikeRented.Group.Count, Is.EqualTo(1)); + Assert.That(btBikeRented.Group.ToArray()[0], Is.EqualTo("300029")); } @@ -491,7 +552,12 @@ namespace TestTINKLib.Fixtures.Connector "1", null, null, - () => DateTime.Now)); + () => DateTime.Now, + false, /*isDemo*/ + null, /*group*/ + null, /*wheelType*/ + null, /*typeOfBike*/ + null /*description*/)); var response = JsonConvert.DeserializeObject(@" { @@ -559,7 +625,12 @@ namespace TestTINKLib.Fixtures.Connector "1", null, null, - () => DateTime.Now)); + () => DateTime.Now, + false, /*isDemo*/ + null, /*group*/ + null, /*wheelType*/ + null, /*typeOfBike*/ + null /*description*/)); Assert.AreEqual(InUseStateEnum.Reserved, bike.State.Value);