/// <summary> /// Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>. /// </summary> /// <returns> /// true if the specified object is equal to the current object; otherwise, false. /// </returns> /// <param name="obj">The object to compare with the current object. </param><filterpriority>2</filterpriority> public override bool Equals(object obj) { if (obj == null || obj.GetType() != GetType()) { return(false); } var sceneEntity = (SceneEntity <T>)obj; return(string.Equals(Name, sceneEntity.Name) && GeometryEqualityHelper.SceneElementEqual(Geometry, sceneEntity.Geometry)); }
//TODO - add more scene element tests private void TestLoadGeometry(ISceneEntity sceneEntity) { _stage.Add(sceneEntity); _dataAdapter.EntityFolderPath = _stageFolderPath; _dataAdapter.Save(_stage); var actionResult = _dataAdapter.Load(_stage.Name); Assert.IsTrue(actionResult.Success); var loadedStage = actionResult.Value; Assert.AreEqual(1, loadedStage.Items.Count); var loadedGeometry = loadedStage.Items[0].Geometry; Assert.IsNotNull(loadedGeometry); Assert.AreEqual(sceneEntity.Geometry.GetType(), loadedGeometry.GetType()); Assert.IsTrue(GeometryEqualityHelper.SceneElementEqual(sceneEntity.Geometry, loadedGeometry)); }