Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using RecordStore.Data;
- using RecordStore.Data.Models;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace RecordStore.Services.Tests.SongService_Tests
- {
- [TestClass]
- public class GetSongs_Should
- {
- [TestMethod]
- public void ReturnCorrectOrder_WhenOrderByName()
- {
- //Arrange
- var options = TestUtils.GetOptions(nameof(ReturnCorrectOrder_WhenOrderByName));
- var song = new Song
- {
- Id = 1,
- Name = "FirstSong",
- Length = 3.5,
- Label = "FirstLabel",
- ReleaseDate = new DateTime(2000, 01, 01)
- };
- var song2 = new Song
- {
- Id = 2,
- Name = "SecondSong",
- Length = 4.5,
- Label = "SecondLabel",
- ReleaseDate = new DateTime(2000, 02, 02)
- };
- var song3 = new Song
- {
- Id = 3,
- Name = "ThirdSong",
- Length = 5.5,
- Label = "ThirdLabel",
- ReleaseDate = new DateTime(2000, 03, 03)
- };
- using (var arrangeContext = new RecordStoreContext(options))
- {
- arrangeContext.Songs.Add(song);
- arrangeContext.Songs.Add(song2);
- arrangeContext.Songs.Add(song3);
- arrangeContext.SaveChanges();
- }
- //Act and Assert
- using (var assertContext = new RecordStoreContext(options))
- {
- var sut = new SongService(assertContext);
- var result = sut.GetSongs(1, "name", 3).ToList();
- Assert.AreEqual("FirstSong", result[0].Name);
- Assert.AreEqual("SecondSong", result[1].Name);
- Assert.AreEqual("ThirdSong", result[2].Name);
- Assert.AreEqual(1, result[0].Id);
- Assert.AreEqual(2, result[1].Id);
- Assert.AreEqual(3, result[2].Id);
- Assert.AreEqual(3, result.Count);
- }
- }
- [TestMethod]
- public void ReturnCorrectOrder_WhenOrderByLegth()
- {
- //Arrange
- var options = TestUtils.GetOptions(nameof(ReturnCorrectOrder_WhenOrderByLegth));
- var song = new Song
- {
- Id = 1,
- Name = "FirstSong",
- Length = 3.5,
- Label = "FirstLabel",
- ReleaseDate = new DateTime(2000, 01, 01)
- };
- var song2 = new Song
- {
- Id = 2,
- Name = "SecondSong",
- Length = 4.5,
- Label = "SecondLabel",
- ReleaseDate = new DateTime(2000, 02, 02)
- };
- var song3 = new Song
- {
- Id = 3,
- Name = "ThirdSong",
- Length = 5.5,
- Label = "ThirdLabel",
- ReleaseDate = new DateTime(2000, 03, 03)
- };
- using (var arrangeContext = new RecordStoreContext(options))
- {
- arrangeContext.Songs.Add(song);
- arrangeContext.Songs.Add(song2);
- arrangeContext.Songs.Add(song3);
- arrangeContext.SaveChanges();
- }
- //Act and Assert
- using (var assertContext = new RecordStoreContext(options))
- {
- var sut = new SongService(assertContext);
- var result = sut.GetSongs(1, "legth", 3).ToList();
- Assert.AreEqual(3.5, result[0].Length);
- Assert.AreEqual(4.5, result[1].Length);
- Assert.AreEqual(5.5, result[2].Length);
- Assert.AreEqual(1, result[0].Id);
- Assert.AreEqual(2, result[1].Id);
- Assert.AreEqual(3, result[2].Id);
- Assert.AreEqual(3, result.Count);
- }
- }
- [TestMethod]
- public void ReturnCorrectOrder_WhenOrderByLabel()
- {
- //Arrange
- var options = TestUtils.GetOptions(nameof(ReturnCorrectOrder_WhenOrderByLabel));
- var song = new Song
- {
- Id = 1,
- Name = "FirstSong",
- Length = 3.5,
- Label = "FirstLabel",
- ReleaseDate = new DateTime(2000, 01, 01)
- };
- var song2 = new Song
- {
- Id = 2,
- Name = "SecondSong",
- Length = 4.5,
- Label = "SecondLabel",
- ReleaseDate = new DateTime(2000, 02, 02)
- };
- var song3 = new Song
- {
- Id = 3,
- Name = "ThirdSong",
- Length = 5.5,
- Label = "ThirdLabel",
- ReleaseDate = new DateTime(2000, 03, 03)
- };
- using (var arrangeContext = new RecordStoreContext(options))
- {
- arrangeContext.Songs.Add(song);
- arrangeContext.Songs.Add(song2);
- arrangeContext.Songs.Add(song3);
- arrangeContext.SaveChanges();
- }
- //Act and Assert
- using (var assertContext = new RecordStoreContext(options))
- {
- var sut = new SongService(assertContext);
- var result = sut.GetSongs(1, "label", 3).ToList();
- Assert.AreEqual("FirstLabel", result[0].Label);
- Assert.AreEqual("SecondLabel", result[1].Label);
- Assert.AreEqual("ThirdLabel", result[2].Label);
- Assert.AreEqual(1, result[0].Id);
- Assert.AreEqual(2, result[1].Id);
- Assert.AreEqual(3, result[2].Id);
- Assert.AreEqual(3, result.Count);
- }
- }
- [TestMethod]
- public void ReturnCorrectOrder_WhenOrderByReleaseDate()
- {
- //Arrange
- var options = TestUtils.GetOptions(nameof(ReturnCorrectOrder_WhenOrderByReleaseDate));
- var song = new Song
- {
- Id = 1,
- Name = "FirstSong",
- Length = 3.5,
- Label = "FirstLabel",
- ReleaseDate = new DateTime(2000, 01, 01)
- };
- var song2 = new Song
- {
- Id = 2,
- Name = "SecondSong",
- Length = 4.5,
- Label = "SecondLabel",
- ReleaseDate = new DateTime(2000, 02, 02)
- };
- var song3 = new Song
- {
- Id = 3,
- Name = "ThirdSong",
- Length = 5.5,
- Label = "ThirdLabel",
- ReleaseDate = new DateTime(2000, 03, 03)
- };
- using (var arrangeContext = new RecordStoreContext(options))
- {
- arrangeContext.Songs.Add(song);
- arrangeContext.Songs.Add(song2);
- arrangeContext.Songs.Add(song3);
- arrangeContext.SaveChanges();
- }
- //Act and Assert
- using (var assertContext = new RecordStoreContext(options))
- {
- var sut = new SongService(assertContext);
- var result = sut.GetSongs(1, "label", 3).ToList();
- Assert.AreEqual(new DateTime(2000, 01, 01), result[0].ReleaseDate);
- Assert.AreEqual(new DateTime(2000, 02, 02), result[1].ReleaseDate);
- Assert.AreEqual(new DateTime(2000, 03, 03), result[2].ReleaseDate);
- Assert.AreEqual(1, result[0].Id);
- Assert.AreEqual(2, result[1].Id);
- Assert.AreEqual(3, result[2].Id);
- Assert.AreEqual(3, result.Count);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment