PageRenderTime 34ms CodeModel.GetById 14ms RepoModel.GetById 1ms app.codeStats 0ms

/Source Code/UnitTests/SongItemTest.vb

#
Visual Basic | 95 lines | 54 code | 22 blank | 19 comment | 0 complexity | 471d663b852eded173cf0058fc1b4ace MD5 | raw file
  1. Imports System
  2. Imports System.Collections.Generic
  3. Imports Microsoft.VisualStudio.TestTools.UnitTesting
  4. Imports PowerSong.SongDatabase.Items
  5. '''<summary>
  6. '''This is a test class for SongItemTest and is intended
  7. '''to contain all SongItemTest Unit Tests
  8. '''</summary>
  9. <TestClass()> _
  10. Public Class SongItemTest
  11. '''<summary>
  12. '''A test for SongID
  13. '''</summary>
  14. <TestMethod()> _
  15. Public Sub SongIDTest()
  16. Dim target As SongItem = New SongItem
  17. Dim ID As Guid = Guid.NewGuid
  18. target.SongID = ID
  19. Assert.AreEqual(ID, target.SongID)
  20. End Sub
  21. ''' <summary>
  22. ''' Checks that an exception is thrown whenever trying to access an ID of a song without an ID.
  23. ''' </summary>
  24. <TestMethod(), ExpectedException(GetType(ApplicationException))> _
  25. Public Sub SongIDInvalidTest()
  26. Dim target As SongItem = New SongItem
  27. Dim ID As Guid = target.SongID
  28. End Sub
  29. '''<summary>
  30. '''A test for Authors
  31. '''</summary>
  32. <TestMethod()> _
  33. Public Sub AuthorsTest()
  34. Dim target As New SongItem("Test Title", "Test Part 1", "Test part 2", "Test part 3")
  35. target.Authors.Add("A")
  36. target.Authors.Add("B")
  37. target.Authors.Add("C")
  38. Dim actual As List(Of String) = target.Authors
  39. Assert.AreEqual(3, actual.Count)
  40. Assert.AreEqual("A", actual(0))
  41. Assert.AreEqual("B", actual(1))
  42. Assert.AreEqual("C", actual(2))
  43. End Sub
  44. '''<summary>
  45. '''A test for SongItem Constructor
  46. '''</summary>
  47. <TestMethod()> _
  48. Public Sub SongItemConstructorTest1()
  49. Dim Song As SongItem = New SongItem
  50. Assert.AreEqual("", Song.Title)
  51. Assert.AreEqual(0, Song.Parts.Count)
  52. Assert.AreEqual(0, Song.Authors.Count)
  53. Assert.AreEqual(0, Song.Categories.Count)
  54. Assert.IsTrue(Song.CopyrightLine = "")
  55. End Sub
  56. '''<summary>
  57. '''A test for SongItem Constructor
  58. '''</summary>
  59. <TestMethod()> _
  60. Public Sub SongItemConstructorTest()
  61. Dim title As String = "Test Title"
  62. Dim parts() As String = {"Part 1", "Part 2", "Part 3"}
  63. Dim Song As SongItem = New SongItem(title, parts)
  64. Assert.AreEqual("Test Title", Song.Title)
  65. Assert.AreEqual(3, Song.Parts.Count)
  66. Assert.AreEqual("Part 1", Song.Parts(0))
  67. Assert.AreEqual("Part 2", Song.Parts(1))
  68. Assert.AreEqual("Part 3", Song.Parts(2))
  69. Assert.AreEqual(0, Song.Authors.Count)
  70. Assert.AreEqual(0, Song.Categories.Count)
  71. Assert.IsTrue(Song.CopyrightLine = "")
  72. End Sub
  73. End Class