[longomatch] Fix positons tags being reset after editing an event



commit b78d9399726bf89c2c0200fed4f63477adfb25d1
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Tue Mar 24 16:40:54 2015 +0100

    Fix positons tags being reset after editing an event

 LongoMatch.Core/Store/TimelineEvent.cs |   12 ++++++------
 Tests/Core/Store/TestTimelineEvent.cs  |   13 +++++++++++++
 2 files changed, 19 insertions(+), 6 deletions(-)
---
diff --git a/LongoMatch.Core/Store/TimelineEvent.cs b/LongoMatch.Core/Store/TimelineEvent.cs
index 03a435a..03a1fba 100644
--- a/LongoMatch.Core/Store/TimelineEvent.cs
+++ b/LongoMatch.Core/Store/TimelineEvent.cs
@@ -243,18 +243,18 @@ namespace LongoMatch.Core.Store
                                if (FieldPosition == null) {
                                        FieldPosition = new Coordinates ();
                                        FieldPosition.Points.Add (new Point (0.5, 0.5));
-                               }
-                               if (EventType.FieldPositionIsDistance) {
-                                       FieldPosition.Points.Add (new Point (0.5, 0.1));
+                                       if (EventType.FieldPositionIsDistance) {
+                                               FieldPosition.Points.Add (new Point (0.5, 0.1));
+                                       }
                                }
                        }
                        if (EventType.TagHalfFieldPosition) {
                                if (HalfFieldPosition == null) {
                                        HalfFieldPosition = new Coordinates ();
                                        HalfFieldPosition.Points.Add (new Point (0.5, 0.5));
-                               }
-                               if (EventType.HalfFieldPositionIsDistance) {
-                                       HalfFieldPosition.Points.Add (new Point (0.5, 0.1));
+                                       if (EventType.HalfFieldPositionIsDistance) {
+                                               HalfFieldPosition.Points.Add (new Point (0.5, 0.1));
+                                       }
                                }
                        }
                        
diff --git a/Tests/Core/Store/TestTimelineEvent.cs b/Tests/Core/Store/TestTimelineEvent.cs
index 40399a2..a9dbb5b 100644
--- a/Tests/Core/Store/TestTimelineEvent.cs
+++ b/Tests/Core/Store/TestTimelineEvent.cs
@@ -146,6 +146,19 @@ namespace Tests.Core.Store
                        Assert.IsNotNull (evt.FieldPosition);
                        Assert.IsNotNull (evt.HalfFieldPosition);
                        Assert.IsNotNull (evt.GoalPosition);
+
+                       /* Adding the default positions doesn't not overwrite the existing data */
+                       evt.EventType.FieldPositionIsDistance = true;
+                       evt.EventType.HalfFieldPositionIsDistance = true;
+                       evt.FieldPosition.Points [0].X = 100;
+                       evt.FieldPosition.Points [0].Y = 100;
+                       evt.HalfFieldPosition.Points [0].X = 100;
+                       evt.HalfFieldPosition.Points [0].Y = 100;
+                       evt.AddDefaultPositions ();
+                       Assert.AreEqual (1, evt.FieldPosition.Points.Count);
+                       Assert.AreEqual (1, evt.HalfFieldPosition.Points.Count);
+                       Assert.AreEqual (100, evt.FieldPosition.Points [0].X);
+                       Assert.AreEqual (100, evt.HalfFieldPosition.Points [0].X);
                }
 
                [Test ()]


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