EvgeniVT

ExtendedDatabaseTests

Dec 4th, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.41 KB | None | 0 0
  1. using NUnit.Framework;
  2.  
  3. namespace Tests
  4. {
  5.     using System;
  6.     //using ExtendedDatabase;
  7.     [TestFixture]
  8.     public class ExtendedDatabaseTests
  9.     {
  10.         [SetUp]
  11.         public void Setup()
  12.         {
  13.         }
  14.  
  15.         [TestCase(100000L, "Name1")]
  16.         public void ConstructorOnPersonShuldSetIdCorrectly(long id, string name)
  17.         {
  18.             var person = new Person(id, name);
  19.             Assert.AreEqual(id, person.Id);
  20.         }
  21.         [TestCase(100000L, "Name1")]
  22.         public void ConstructorOnPersonShuldSetNameCorrectly(long id, string name)
  23.         {
  24.             var person = new Person(id, name);
  25.             Assert.AreEqual(name, person.UserName);
  26.         }
  27.         [Test]
  28.         public void ConstructorOnExtendedDatabaseShuldThrowExpetionIfArgumentHaveHigherLengthThen16()
  29.         {
  30.             var data = new Person[17];
  31.             for (int i = 0; i < 17; i++)
  32.             {
  33.                 data[i] = new Person(100001L + i, $"Name{i + 1}");
  34.             }
  35.             Assert.Throws<ArgumentException>(() => new ExtendedDatabase(data));
  36.         }
  37.         [Test]
  38.         public void ConstructorOnExtendedDatabaseShuldCreateCorrectlyInstance()
  39.         {
  40.             var data = new Person[16];
  41.             for (int i = 0; i < 16; i++)
  42.             {
  43.                 data[i] = new Person(100001L + i, $"Name{i + 1}");
  44.             }
  45.             var dataBase = new ExtendedDatabase(data);
  46.             for (int i = 0; i < 16; i++)
  47.             {
  48.                 var person = dataBase.FindById(100001L + i);
  49.                 Assert.AreEqual($"Name{i + 1}", person.UserName);
  50.                 person = dataBase.FindByUsername($"Name{i + 1}");
  51.                 Assert.AreEqual(100001L + i, person.Id);
  52.             }
  53.         }
  54.         [TestCase(0)]
  55.         [TestCase(7)]
  56.         [TestCase(16)]
  57.         public void ConstructorOnExtendedDatabaseShuldSetCorrectlyCount(int n)
  58.         {
  59.             var data = new Person[n];
  60.             for (int i = 0; i < n; i++)
  61.             {
  62.                 data[i] = new Person(100001L + i, $"Name{i + 1}");
  63.             }
  64.             var dataBase = new ExtendedDatabase(data);
  65.             Assert.AreEqual(n, dataBase.Count);
  66.         }
  67.         [Test]
  68.         public void AddMethodShuldThrowExpetionIfFoundDublicatеName()
  69.         {
  70.             var data = new ExtendedDatabase(new Person(100000L, "Name1"));
  71.             Assert.Throws<InvalidOperationException>(() => data.Add(new Person(100001L, "Name1")));
  72.         }
  73.         [Test]
  74.         public void AddMethodShuldThrowExpetionIfFoundDublicatеId()
  75.         {
  76.             var data = new ExtendedDatabase(new Person(100000L, "Name1"));
  77.             Assert.Throws<InvalidOperationException>(() => data.Add(new Person(100000L, "Name2")));
  78.         }
  79.         [Test]
  80.         public void AddMethodShuldThrowExpetionIfDatabaseHaveAlready16Elements()
  81.         {
  82.             var data = new ExtendedDatabase();
  83.             for (int i = 0; i < 16; i++)
  84.             {
  85.                 data.Add(new Person(100001L + i, $"Name{i + 1}"));
  86.             }
  87.             Assert.Throws<InvalidOperationException>(() => data.Add(new Person(100017L, "Name17")));
  88.         }
  89.         [Test]
  90.         public void RemoveMethodShuldThrowExpetionIfDatabaseIsEmpty()
  91.         {
  92.             var data = new ExtendedDatabase();
  93.             Assert.Throws<InvalidOperationException>(() => data.Remove());
  94.         }
  95.         [TestCase(1)]
  96.         [TestCase(7)]
  97.         [TestCase(16)]
  98.         public void RemoveMethodShuldSetCorrectlyCount(int n)
  99.         {
  100.             var data = new Person[n];
  101.             for (int i = 0; i < n; i++)
  102.             {
  103.                 data[i] = new Person(100001L + i, $"Name{i + 1}");
  104.             }
  105.             var dataBase = new ExtendedDatabase(data);
  106.             dataBase.Remove();
  107.             Assert.AreEqual(n - 1, dataBase.Count);
  108.         }
  109.         [Test]
  110.         public void FindByIdMethodShuldFindCorrectly()
  111.         {
  112.             var data = new Person[7];
  113.             for (int i = 0; i < 7; i++)
  114.             {
  115.                 data[i] = new Person(100001L + i, $"Name{i + 1}");
  116.             }
  117.             var dataBase = new ExtendedDatabase(data);
  118.             var person = dataBase.FindById(100005L);
  119.             Assert.AreEqual(100005L, person.Id);
  120.         }
  121.         [Test]
  122.         public void FindByIdMethodShuldThrowExpetionIfIdMiss()
  123.         {
  124.             var data = new Person[7];
  125.             for (int i = 0; i < 7; i++)
  126.             {
  127.                 data[i] = new Person(100001L + i, $"Name{i + 1}");
  128.             }
  129.             var dataBase = new ExtendedDatabase(data);
  130.             Assert.Throws<InvalidOperationException>(() => dataBase.FindById(100008L));
  131.         }
  132.         [Test]
  133.         public void FindByIdMethodShuldThrowExpetionIfIdIsNegative()
  134.         {
  135.             var data = new Person[7];
  136.             for (int i = 0; i < 7; i++)
  137.             {
  138.                 data[i] = new Person(100001L + i, $"Name{i + 1}");
  139.             }
  140.             var dataBase = new ExtendedDatabase(data);
  141.             Assert.Throws<ArgumentOutOfRangeException>(() => dataBase.FindById(-1));
  142.         }
  143.         [Test]
  144.         public void FindByUsernameMethodShuldFindCorrectly()
  145.         {
  146.             var data = new Person[7];
  147.             for (int i = 0; i < 7; i++)
  148.             {
  149.                 data[i] = new Person(100001L + i, $"Name{i + 1}");
  150.             }
  151.             var dataBase = new ExtendedDatabase(data);
  152.             var person = dataBase.FindByUsername("Name3");
  153.             Assert.AreEqual("Name3", person.UserName);
  154.         }
  155.         [Test]
  156.         public void FindByUsernameMethodShuldThrowExpetionIfArgumentIsNull()
  157.         {
  158.             var data = new Person[7];
  159.             for (int i = 0; i < 7; i++)
  160.             {
  161.                 data[i] = new Person(100001L + i, $"Name{i + 1}");
  162.             }
  163.             var dataBase = new ExtendedDatabase(data);
  164.             Assert.Throws<ArgumentNullException>(() => dataBase.FindByUsername(null));
  165.         }
  166.         [Test]
  167.         public void FindByUsernameMethodShuldThrowExpetionIfNameMiss()
  168.         {
  169.             var data = new Person[7];
  170.             for (int i = 0; i < 7; i++)
  171.             {
  172.                 data[i] = new Person(100001L + i, $"Name{i + 1}");
  173.             }
  174.             var dataBase = new ExtendedDatabase(data);
  175.             Assert.Throws<InvalidOperationException>(() => dataBase.FindByUsername("Name8"));
  176.         }
  177.     }
  178. }
Advertisement
Add Comment
Please, Sign In to add comment