using System; using NSubstitute; using NUnit.Framework; using ShareeBike.Model.Bikes.BikeInfoNS.BC; using ShareeBike.Model.Bikes.BikeInfoNS.BikeNS; using ShareeBike.ViewModel; namespace SharedBusinessLogic.Tests.ViewModel { [TestFixture] public class TestViewModelHelper { [Test] public void TestGetFullDisplayName() { var bike = Substitute.For(); bike.Description.Returns("MyStation"); bike.Id.Returns("MyId"); Assert.That( bike.GetFullDisplayName(), Is.EqualTo("MyStation, Nr. MyId")); } [Test] public void TestGetFullDisplayNameIdEmpty() { var bike = Substitute.For(); bike.Description.Returns("MyStation"); bike.Id.Returns(""); Assert.That( bike.GetFullDisplayName(), Is.EqualTo("MyStation, Nr. ")); } [Test] public void TestGetFullDisplayNameEmpty() { var bike = Substitute.For(); bike.Description.Returns(""); bike.Id.Returns("Id33"); Assert.That( bike.GetDisplayName(), Is.EqualTo("Id33")); } [Test] public void TestGetDisplayName() { var bike = Substitute.For(); bike.Description.Returns("MyStation"); bike.Id.Returns("Id33"); Assert.That( bike.GetDisplayName(), Is.EqualTo("MyStation")); } [Test] public void TestGetDisplayNameEmpty() { var bike = Substitute.For(); bike.Description.Returns(""); bike.Id.Returns("Id33"); Assert.That( bike.GetDisplayName(), Is.EqualTo("Id33")); } [Test] public void TestGetDisplayId() { var bike = Substitute.For(); bike.Description.Returns("ValidName"); bike.Id.Returns("Id33"); Assert.That( bike.GetDisplayId(), Is.EqualTo("Id33")); } [Test] public void TestGetDisplayIdNameEmpty() { var bike = Substitute.For(); bike.Description.Returns(""); bike.Id.Returns("Id33"); Assert.That( bike.GetDisplayId(), Is.EqualTo("")); } [Test] public void TestGetErrorMessage_Null() { Assert.That( ViewModelHelper.GetErrorMessage(null), Is.Empty); } [Test] public void TestGetErrorMessage_Ex() { Assert.That( new Exception("Ja toll").GetErrorMessage(), Is.EqualTo("Ja toll")); } [Test] public void TestGetErrorMessage_Aggregate_One() { Assert.That( new AggregateException(new Exception("Oh yes")).GetErrorMessage(), Is.EqualTo("Oh yes")); } [Test] public void TestGetErrorMessage_Aggregate_Two() { Assert.That( new AggregateException(new Exception("Oh yes"), new Exception("Oh no")).GetErrorMessage(), Is.EqualTo("One or more errors occurred.\r\nOh yes\r\nOh no")); } [Test] public void TestGetDisplayName_DefinedTypes() { var bike = Substitute.For(); bike.WheelType.Returns(WheelType.Two); bike.TypeOfBike.Returns(TypeOfBike.City); bike.Description.Returns("MeinStadtrad"); bike.Id.Returns("22"); Assert.That( bike.GetDisplayName(), Is.EqualTo("MeinStadtrad")); Assert.That( bike.GetDisplayId(), Is.EqualTo("22")); bike = Substitute.For(); bike.WheelType.Returns(WheelType.Two); bike.TypeOfBike.Returns(TypeOfBike.City); bike.Id.Returns("22"); bike.IsDemo.Returns(true); bike.Description.Returns("MeinStadtrad"); Assert.That( bike.GetDisplayName(), Is.EqualTo("MeinStadtrad")); Assert.That( bike.GetDisplayId(), Is.EqualTo("22")); bike = Substitute.For(); bike.WheelType.Returns(WheelType.Trike); bike.TypeOfBike.Returns(TypeOfBike.Cargo); bike.Description.Returns("MeinCargoDreiradl"); bike.Id.Returns("22"); Assert.That( bike.GetDisplayName(), Is.EqualTo("MeinCargoDreiradl")); Assert.That( bike.GetDisplayId(), Is.EqualTo("22")); bike = Substitute.For(); bike.WheelType.Returns(WheelType.Two); bike.TypeOfBike.Returns(TypeOfBike.Cargo); bike.Description.Returns("MeinCargoALololong"); bike.Id.Returns("22"); Assert.That( bike.GetDisplayName(), Is.EqualTo("MeinCargoALololong")); Assert.That( bike.GetDisplayId(), Is.EqualTo("22")); } [Test] public void TestGetDisplayName_UndefinedTypes() { var bike = Substitute.For(); bike.WheelType.Returns(WheelType.Mono); bike.TypeOfBike.Returns(TypeOfBike.Cargo); bike.Description.Returns("SuperCargo"); bike.Id.Returns("22"); Assert.That( bike.GetDisplayName(), Is.EqualTo("SuperCargo")); Assert.That( bike.GetDisplayId(), Is.EqualTo("22")); } } }