[banshee] [Banshee.Services] Add a couple SourceManager tests



commit 24fbb907a9b19f4b9820b53ea53ceb6c55b906e3
Author: Gabriel Burt <gabriel burt gmail com>
Date:   Wed Nov 3 22:10:15 2010 -0500

    [Banshee.Services] Add a couple SourceManager tests

 .../Banshee.Services/Banshee.Database/Tests.cs     |    3 +
 src/Core/Banshee.Services/Banshee.Sources/Tests.cs |   88 ++++++++++++++++++++
 src/Core/Banshee.Services/Makefile.am              |    1 +
 3 files changed, 92 insertions(+), 0 deletions(-)
---
diff --git a/src/Core/Banshee.Services/Banshee.Database/Tests.cs b/src/Core/Banshee.Services/Banshee.Database/Tests.cs
index 95ca53a..2504064 100644
--- a/src/Core/Banshee.Services/Banshee.Database/Tests.cs
+++ b/src/Core/Banshee.Services/Banshee.Database/Tests.cs
@@ -46,6 +46,7 @@ namespace Banshee.Database
         {
             Paths.ApplicationName = Application.InternalName;
 
+            int count = 0;
             foreach (string file in Directory.GetFiles (Path.Combine (TestsDir, "data"))) {
                 if (file.EndsWith (".db")) {
                     var db_file = file + ".test-tmp-copy";
@@ -58,6 +59,7 @@ namespace Banshee.Database
                         SortKeyUpdater.Disable = true;
                         ((IInitializeService)db).Initialize ();
                         Assert.IsTrue (db.ValidateSchema ());
+                        count++;
                     } catch (Exception e) {
                         Assert.Fail (String.Format ("Failed to migrate db: {0}", e));
                     } finally {
@@ -65,6 +67,7 @@ namespace Banshee.Database
                     }
                 }
             }
+            Assert.IsTrue (count > 0);
         }
     }
 }
diff --git a/src/Core/Banshee.Services/Banshee.Sources/Tests.cs b/src/Core/Banshee.Services/Banshee.Sources/Tests.cs
new file mode 100644
index 0000000..9067f41
--- /dev/null
+++ b/src/Core/Banshee.Services/Banshee.Sources/Tests.cs
@@ -0,0 +1,88 @@
+//
+// Tests.cs
+//
+// Author:
+//   Gabriel Burt <gburt novell com>
+//
+// Copyright (C) 2010 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if ENABLE_TESTS
+
+using System;
+using System.Linq;
+using System.Collections.Generic;
+using System.Reflection;
+using NUnit.Framework;
+
+using Banshee.Collection;
+using Banshee.Streaming;
+using Banshee.Configuration.Schema;
+
+using Hyena;
+using Hyena.Tests;
+
+namespace Banshee.Sources
+{
+    [TestFixture]
+    public class SourceManagerTests : TestBase
+    {
+        [Test]
+        public void Dispose ()
+        {
+            var sm = new SourceManager ();
+            sm.Initialize ();
+            Assert.IsFalse (sm.Sources.Count == 0);
+            sm.Dispose ();
+            Assert.IsTrue (sm.Sources.Count == 0);
+        }
+
+        [Test]
+        public void AddRemove ()
+        {
+            var sm = new SourceManager ();
+            var src = new SourceManager.GroupSource ("Foo", 1);
+            sm.AddSource (src, false);
+            Assert.IsTrue (sm.Sources.Count == 1);
+
+            var src2 = new SourceManager.GroupSource ("Bar", 2);
+            sm.AddSource (src2, true);
+            Assert.IsTrue (sm.Sources.Count == 2);
+            Assert.AreEqual (src2, sm.DefaultSource);
+            Assert.AreEqual (src2, sm.ActiveSource);
+
+            sm.SetActiveSource (src);
+            Assert.AreEqual (src, sm.ActiveSource);
+
+            sm.RemoveSource (src);
+            Assert.IsTrue (sm.Sources.Count == 1);
+        }
+
+        [TestFixtureSetUp]
+        public void Setup ()
+        {
+            ThreadAssist.InitializeMainThread ();
+        }
+    }
+}
+
+#endif
diff --git a/src/Core/Banshee.Services/Makefile.am b/src/Core/Banshee.Services/Makefile.am
index 66008f5..500b48b 100644
--- a/src/Core/Banshee.Services/Makefile.am
+++ b/src/Core/Banshee.Services/Makefile.am
@@ -220,6 +220,7 @@ SOURCES =  \
 	Banshee.Sources/SourceMergeType.cs \
 	Banshee.Sources/SourceMessage.cs \
 	Banshee.Sources/SourceSortType.cs \
+	Banshee.Sources/Tests.cs \
 	Banshee.Streaming/RadioTrackInfo.cs \
 	Banshee.Web/BaseHttpServer.cs \
 	Banshee.Web/Browser.cs \



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