public void EntityStorageSavedAndLoadsAsIntended()
        {
            var intialTrackedEntities = storageUnderTest.LoadTrackedEntities();

            Assert.AreEqual(0, intialTrackedEntities.Count);

            storageUnderTest.AddTrackedEntityIfMissing(new TrackedEntity(EntityType.Item, 1));
            storageUnderTest.AddTrackedEntityIfMissing(new TrackedEntity(EntityType.Item, 2));
            storageUnderTest.AddTrackedEntityIfMissing(new TrackedEntity(EntityType.Item, 2));
            storageUnderTest.AddTrackedEntityIfMissing(new TrackedEntity(EntityType.Item, 3));
            storageUnderTest.AddTrackedEntityIfMissing(new TrackedEntity(EntityType.Currency, 43));

            storageUnderTest.RemoveTrackedEntity(new TrackedEntity(EntityType.Item, 1));

            var otherStorageLoading = new EntityStorage();

            var loadedEntities = otherStorageLoading.LoadTrackedEntities();

            Assert.AreEqual(3, loadedEntities.Count);
            Assert.AreEqual(1, loadedEntities.Count(e => e.Id.Equals(2) && e.Type.Equals(EntityType.Item)));
            Assert.AreEqual(1, loadedEntities.Count(e => e.Id.Equals(3) && e.Type.Equals(EntityType.Item)));
            Assert.AreEqual(1, loadedEntities.Count(e => e.Id.Equals(43) && e.Type.Equals(EntityType.Currency)));
        }