public void ContainsWhenNoUser()
        {
            // Arrange
            const string UserID1       = "user-id1";
            const string UserID2       = "user-id2";
            const string RunspaceID1   = "runspace-id1";
            const string RunspaceID2   = "runspace-id2";
            var          userRunspaces = new UserToIdentifiableData <string>();

            userRunspaces.Add(UserID1, RunspaceID1, RunspaceID1);
            userRunspaces.Add(UserID1, RunspaceID2, RunspaceID2);

            // Act
            var containsResult = userRunspaces.Contains(UserID2);

            // Assert
            Assert.IsFalse(containsResult);
        }
        public void RemoveUser()
        {
            // Arrange
            const string UserID1       = "user-id1";
            const string UserID2       = "user-id2";
            const string RunspaceID1   = "runspace-id1";
            const string RunspaceID2   = "runspace-id2";
            var          userRunspaces = new UserToIdentifiableData <string>();

            userRunspaces.Add(UserID1, RunspaceID1, RunspaceID1);
            userRunspaces.Add(UserID2, RunspaceID2, RunspaceID2);

            // Act
            userRunspaces.RemoveUser(UserID2);

            // Assert
            Assert.IsFalse(userRunspaces.Contains(UserID2));
        }
        public void ListWhenNoUser()
        {
            // Arrange
            const string UserID1       = "user-id1";
            const string UserID2       = "user-id2";
            const string RunspaceID1   = "runspace-id1";
            const string RunspaceID2   = "runspace-id2";
            var          userRunspaces = new UserToIdentifiableData <string>();

            userRunspaces.Add(UserID1, RunspaceID1, RunspaceID1);
            userRunspaces.Add(UserID1, RunspaceID2, RunspaceID2);

            // Act
            var listResult = userRunspaces.List(UserID2);

            // Assert
            Assert.IsNull(listResult);
        }
        public void RemoveRunspaceWhenNoUser()
        {
            // Arrange
            const string UserID1       = "user-id1";
            const string UserID2       = "user-id2";
            const string RunspaceID1   = "runspace-id1";
            const string RunspaceID2   = "runspace-id2";
            var          userRunspaces = new UserToIdentifiableData <string>();

            userRunspaces.Add(UserID1, RunspaceID1, RunspaceID1);
            userRunspaces.Add(UserID1, RunspaceID2, RunspaceID2);

            // Act && Assert
            Assert.DoesNotThrow(() => userRunspaces.RemoveData(UserID2, RunspaceID2));

            Assert.IsTrue(userRunspaces.Contains(UserID1));
            Assert.IsTrue(userRunspaces.Contains(UserID1, RunspaceID1));
            Assert.IsTrue(userRunspaces.Contains(UserID1, RunspaceID2));
        }
        public void GetData()
        {
            // Arrange
            const string UserID        = "user-id";
            const string RunspaceID1   = "runspace-id1";
            const string RunspaceData1 = "runspace-data1";
            const string RunspaceID2   = "runspace-id2";
            const string RunspaceData2 = "runspace-data2";
            var          userRunspaces = new UserToIdentifiableData <string>();

            userRunspaces.Add(UserID, RunspaceID1, RunspaceData1);
            userRunspaces.Add(UserID, RunspaceID2, RunspaceData2);

            // Act
            var actualData = userRunspaces.GetData(UserID, RunspaceID2);

            // Assert
            Assert.NotNull(actualData);
            Assert.AreEqual(RunspaceData2, actualData);
        }
        public void AddContains()
        {
            // Arrange
            const string UserID1       = "user-id1";
            const string UserID2       = "user-id2";
            const string RunspaceID1   = "runspace-id1";
            const string RunspaceID2   = "runspace-id2";
            const string RunspaceID3   = "runspace-id3";
            var          userRunspaces = new UserToIdentifiableData <string>();

            // Act
            userRunspaces.Add(UserID1, RunspaceID1, RunspaceID1);
            userRunspaces.Add(UserID1, RunspaceID2, RunspaceID2);
            userRunspaces.Add(UserID2, RunspaceID3, RunspaceID3);

            // Assert
            Assert.IsTrue(userRunspaces.Contains(UserID1, RunspaceID1));
            Assert.IsTrue(userRunspaces.Contains(UserID1, RunspaceID2));
            Assert.IsTrue(userRunspaces.Contains(UserID2, RunspaceID3));
        }
        public void List()
        {
            // Arrange
            const string UserID        = "user-id";
            const string RunspaceID1   = "runspace-id1";
            const string RunspaceData1 = "runspace-data1";
            const string RunspaceID2   = "runspace-id2";
            const string RunspaceData2 = "runspace-data2";
            var          userRunspaces = new UserToIdentifiableData <string>();

            userRunspaces.Add(UserID, RunspaceID1, RunspaceData1);
            userRunspaces.Add(UserID, RunspaceID2, RunspaceData2);

            // Act
            var listResult = userRunspaces.List(UserID);

            // Assert
            Assert.NotNull(listResult);
            Assert.AreEqual(2, listResult.Length);
            Assert.IsTrue(listResult.Contains(RunspaceData1));
            Assert.IsTrue(listResult.Contains(RunspaceData2));
        }