Advertisement
Guest User

ConcreteSubjectTest

a guest
Dec 13th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.38 KB | None | 0 0
  1. using System;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3. using WebsiteObserver;
  4. using Moq;
  5.  
  6. namespace WebsiteObserverTest
  7. {
  8.     [TestClass]
  9.     public class ConcreteSubjectTest
  10.     {
  11.         Mock<Subject> subject;
  12.         Mock<IObserver> observer;
  13.         string url;
  14.         DateTime date;
  15.  
  16.         [TestInitialize()]
  17.         public void Initialize()
  18.         {
  19.             url = "https://www.pja.edu.pl/";
  20.             date = new DateTime(2017, 12, 10);
  21.             subject = new Mock<Subject>();
  22.             observer = new Mock<IObserver>();
  23.         }
  24.  
  25.         [TestMethod]
  26.         public void GetStateTest()
  27.         {
  28.             Assert.AreNotEqual(DateTime.Now, subject.Setup(x => x.GetState(url)).Returns(date));
  29.         }
  30.  
  31.         [TestMethod]
  32.         public void SetStateTest()
  33.         {
  34.             subject.Setup(x => x.SetState(url, DateTime.Now));
  35.             Assert.AreNotEqual(DateTime.Now.AddDays(1), subject.Setup(x => x.GetState(url)).Returns(date));
  36.         }
  37.  
  38.         [TestMethod]
  39.         public void AttachTest()
  40.         {
  41.             subject.Object.Attach(observer.Object);
  42.             subject.VerifyAll();
  43.         }
  44.  
  45.         [TestMethod]
  46.         public void DetachTest()
  47.         {
  48.             subject.Setup(x=>x.Attach(observer.Object));
  49.             subject.Setup(x => x.Detach(observer.Object)).Verifiable();
  50.         }
  51.     }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement