Example #1
0
        public bool RemoveMovie(Movie movie)
        {
            if (graphs.ContainsKey(movie.Category))
            {
                var graph     = graphs[movie.Category];
                var movieNode = new MovieNode
                {
                    Name = movie.Name,
                    Tags = movie.Tags
                };

                var neighbours = graph.Neighbours(movieNode);
                if (neighbours.Count > 0)
                {
                    foreach (var neighbour in neighbours)
                    {
                        graph.RemoveEdge(movieNode, neighbour);
                    }
                    var removed = graph.RemoveVertex(movieNode);
                    return(removed);
                }
                else
                {
                    var removed = graph.RemoveVertex(movieNode);
                    return(removed);
                }
            }
            else
            {
                return(false);
            }
        }
        public static void RemovingOneElement_ThreeDifferentElements_ReturnsSuccessful()
        {
            var studentsMarks = new ChainedHashTable <string, int>();

            studentsMarks.Add("Name1", 1);
            studentsMarks.Add("Name2", 5);
            studentsMarks.Add(new KeyValuePair <string, int>("Name3", 3));

            studentsMarks.Remove("Name2");

            var mark = studentsMarks["Name1"];

            Assert.True(mark == 1);

            mark = studentsMarks["Name3"];
            Assert.True(mark == 3);

            Assert.False(studentsMarks.ContainsKey("Name2"));

            Assert.True(studentsMarks.Count == 2);
        }