[longomatch] Add a unit test to check for deep copying of camera config and ROI.



commit b66e388948698efb097fb69f6a574e049ce16e6e
Author: Julien Moutte <julien fluendo com>
Date:   Fri Apr 24 13:23:20 2015 +0200

    Add a unit test to check for deep copying of camera config and ROI.

 Tests/Services/TestPlayerController.cs |   45 ++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)
---
diff --git a/Tests/Services/TestPlayerController.cs b/Tests/Services/TestPlayerController.cs
index 59dc90a..da299ad 100644
--- a/Tests/Services/TestPlayerController.cs
+++ b/Tests/Services/TestPlayerController.cs
@@ -876,6 +876,51 @@ namespace Tests.Services
                        Assert.AreEqual (cams2, player.CamerasConfig);
                        multiplayerMock.ResetCalls ();
                }
+
+               [Test ()]
+               public void TestROICamerasConfig ()
+               {
+                       TimelineEvent evt1;
+                       List<CameraConfig> cams;
+                       Mock<IMultiPlayer> multiplayerMock = new Mock<IMultiPlayer> ();
+
+                       mtkMock.Setup (m => m.GetMultiPlayer ()).Returns (multiplayerMock.Object);
+                       player = new PlayerController (true);
+                       PreparePlayer ();
+
+                       /* ROI should be empty */
+                       Assert.AreEqual (new Area (), player.CamerasConfig [0].RegionOfInterest);
+
+                       /* Modify ROI */
+                       cams = player.CamerasConfig;
+                       cams [0].RegionOfInterest = new Area (10, 10, 20, 20);
+                       /* And set */
+                       player.CamerasConfig = cams;
+
+                       /* Now create an event with current camera config */
+                       evt1 = new TimelineEvent { Start = new Time (100), Stop = new Time (200),
+                               CamerasConfig = player.CamerasConfig
+                       };
+                       /* Check that ROI was copied in event */
+                       Assert.AreEqual (new Area (10, 10, 20, 20), evt1.CamerasConfig [0].RegionOfInterest);
+
+                       /* Change ROI again */
+                       cams [0].RegionOfInterest = new Area (20, 20, 40, 40);
+                       player.CamerasConfig = cams;
+
+                       /* Check event was not impacted */
+                       Assert.AreEqual (new Area (10, 10, 20, 20), evt1.CamerasConfig [0].RegionOfInterest);
+
+                       /* And load event */
+                       player.LoadEvent (mfs, evt1, evt1.Start, true);
+                       Assert.AreEqual (new Area (10, 10, 20, 20), player.CamerasConfig 
[0].RegionOfInterest);
+
+                       /* Unload and check the original cams config is set back*/
+                       player.UnloadCurrentEvent ();
+                       Assert.AreEqual (new Area (20, 20, 40, 40), player.CamerasConfig 
[0].RegionOfInterest);
+                       /* check the event was not impacted */
+                       Assert.AreEqual (new Area (10, 10, 20, 20), evt1.CamerasConfig [0].RegionOfInterest);
+               }
        }
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]