< Summary

Class:BaseCollectionShould
Assembly:DataStoreTests
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/DataStore/Tests/BaseCollectionShould.cs
Covered lines:52
Uncovered lines:0
Coverable lines:52
Total lines:169
Line coverage:100% (52 of 52)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
BeEmptyOnDefaultCreation()0%110100%
AddAndAccessItems()0%110100%
ProcessParametrizedConstructor()0%110100%
RemoveItems()0%110100%
RemoveAt()0%110100%
Set()0%110100%
CallEvents()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/DataStore/Tests/BaseCollectionShould.cs

#LineLine coverage
 1using NSubstitute;
 2using NUnit.Framework;
 3using System.Collections.Generic;
 4
 5public class BaseCollectionShould
 6{
 7    [Test]
 8    public void BeEmptyOnDefaultCreation()
 9    {
 110        BaseCollection<int> collection = new BaseCollection<int>();
 111        Assert.AreEqual(0, collection.Count());
 112    }
 13
 14    [Test]
 15    public void AddAndAccessItems()
 16    {
 117        BaseCollection<int> collection = new BaseCollection<int>();
 118        collection.Add(1);
 119        collection.Add(2);
 20
 121        Assert.AreEqual(1, collection[0]);
 122        Assert.AreEqual(1, collection.ElementAt(0));
 123        Assert.AreEqual(2, collection[1]);
 124        Assert.AreEqual(2, collection.ElementAt(1));
 125    }
 26
 27    [Test]
 28    public void ProcessParametrizedConstructor()
 29    {
 130        BaseCollection<int> collection = new BaseCollection<int>( new [] { 1, 2, 3 });
 131        Assert.AreEqual(3, collection.Count());
 132        Assert.AreEqual(1, collection[0]);
 133        Assert.AreEqual(2, collection[1]);
 134        Assert.AreEqual(3, collection[2]);
 135    }
 36
 37    [Test]
 38    public void RemoveItems()
 39    {
 140        BaseCollection<int> collection = new BaseCollection<int>( new [] { 1, 2, 3 });
 41
 142        collection.Remove(3);
 143        collection.Remove(2);
 144        Assert.AreEqual(1, collection.Count());
 145        Assert.AreEqual(1, collection[0]);
 146    }
 47
 48    [Test]
 49    public void RemoveAt()
 50    {
 151        BaseCollection<int> collection = new BaseCollection<int>( new [] { 1, 2, 3 });
 52
 153        collection.RemoveAt(2);
 154        collection.RemoveAt(1);
 155        Assert.AreEqual(1, collection.Count());
 156        Assert.AreEqual(1, collection[0]);
 157    }
 58
 59    [Test]
 60    public void Set()
 61    {
 162        BaseCollection<int> collection = new BaseCollection<int>( );
 163        collection.Set(new [] { 1, 2, 3 });
 164        Assert.AreEqual(3, collection.Count());
 165        Assert.AreEqual(1, collection[0]);
 166        Assert.AreEqual(2, collection[1]);
 167        Assert.AreEqual(3, collection[2]);
 168    }
 69
 70    [Test]
 71    public void CallEvents()
 72    {
 173        BaseCollection<int> collection = new BaseCollection<int>();
 174        var setSubscriber = Substitute.For<IDummyEventSubscriber<IEnumerable<int>>>();
 175        var addedSubscriber = Substitute.For<IDummyEventSubscriber<int>>();
 176        var removedSubscriber = Substitute.For<IDummyEventSubscriber<int>>();
 77
 178        collection.OnSet += setSubscriber.React;
 179        collection.OnAdded += addedSubscriber.React;
 180        collection.OnRemoved += removedSubscriber.React;
 81
 182        collection.Set(new [] { 1, 2, 3, 4 });
 183        collection.Add(4);
 184        collection.Remove(2);
 185        collection.RemoveAt(0);
 86
 187        setSubscriber.Received().React(collection.list);
 188        addedSubscriber.Received().React(4);
 189        removedSubscriber.Received().React(2);
 190        removedSubscriber.Received().React(1);
 191    }
 92}
 93
 94public class BaseDictionaryShould
 95{
 96    [Test]
 97    public void BeEmptyOnDefaultCreation()
 98    {
 99        BaseDictionary<int, string> dictionary = new BaseDictionary<int, string>();
 100        Assert.AreEqual(0, dictionary.Count());
 101    }
 102
 103    [Test]
 104    public void AddAndAccessItems()
 105    {
 106        BaseDictionary<int, string> dictionary = new BaseDictionary<int, string>();
 107        dictionary.Add(1, "1");
 108        dictionary.Add(2, "2");
 109
 110        Assert.AreEqual(2, dictionary.Count());
 111        Assert.AreEqual("1", dictionary[1]);
 112        Assert.AreEqual("2", dictionary[2]);
 113    }
 114
 115    [Test]
 116    public void ProcessParametrizedConstructor()
 117    {
 118        IEnumerable<(int, string)> values = new [] { (1, "1") };
 119
 120        BaseDictionary<int, string> dictionary = new BaseDictionary<int, string>(new [] { (1, "1"), (2, "2") });
 121
 122        Assert.AreEqual(2, dictionary.Count());
 123        Assert.AreEqual("1", dictionary[1]);
 124        Assert.AreEqual("2", dictionary[2]);
 125    }
 126
 127    [Test]
 128    public void RemoveItems()
 129    {
 130        BaseDictionary<int, string> dictionary = new BaseDictionary<int, string>(new [] { (1, "1"), (2, "2"), (3, "3") }
 131
 132        dictionary.Remove(3);
 133        dictionary.Remove(2);
 134        Assert.AreEqual(1, dictionary.Count());
 135        Assert.AreEqual("1", dictionary[1]);
 136    }
 137
 138    [Test]
 139    public void Set()
 140    {
 141        BaseDictionary<int, string> dictionary = new BaseDictionary<int, string>( );
 142        dictionary.Set(new [] { (1, "1"), (2, "2"), (3, "3") });
 143        Assert.AreEqual(3, dictionary.Count());
 144        Assert.AreEqual("1", dictionary[1]);
 145        Assert.AreEqual("2", dictionary[2]);
 146        Assert.AreEqual("3", dictionary[3]);
 147    }
 148
 149    [Test]
 150    public void CallEvents()
 151    {
 152        BaseDictionary<int, string> dictionary = new BaseDictionary<int, string>();
 153        var setSubscriber = Substitute.For<IDummyEventSubscriber<IEnumerable<KeyValuePair<int, string>>>>();
 154        var addedSubscriber = Substitute.For<IDummyEventSubscriber<int, string>>();
 155        var removedSubscriber = Substitute.For<IDummyEventSubscriber<int, string>>();
 156
 157        dictionary.OnSet += setSubscriber.React;
 158        dictionary.OnAdded += addedSubscriber.React;
 159        dictionary.OnRemoved += removedSubscriber.React;
 160
 161        dictionary.Set(new [] { (1, "1"), (2, "2"), (3, "3") });
 162        dictionary.Add(4, "4");
 163        dictionary.Remove(1);
 164
 165        setSubscriber.Received().React(dictionary.dictionary);
 166        addedSubscriber.Received().React(4, "4");
 167        removedSubscriber.Received().React(1, "1");
 168    }
 169}