Ejemplo n.º 1
0
        public async void TestCreateAndDeleteDataset()
        {
            string datasetName        = "TestDatasetName";
            string datasetDescription = "TestDatasetDescription";
            string datasetData        = "0 1\n0 2\n0 3\n1 2\n1 3\n2 3\n2\t3";

            var datasetInput = new DatasetInput()
            {
                Name        = datasetName,
                Description = datasetDescription,
                Data        = datasetData
            };


            CreateTestDataset(datasetInput);
            var datasets = dbContext.Datasets.Where(d => d.Name == datasetName).ToList();

            Assert.Single(datasets);

            Dataset dataset = datasets[0];

            //Description
            Assert.Equal(datasetDescription, dataset.Description);

            //Links
            var expectedLinks = datasetService.OrderLinksAndRemoveDublicates(parser.Parse(new DatasetInput()
            {
                Data = datasetData
            }));
            var actualLinks = dbContext.Links.Where(l => l.DatasetId == dataset.Id).ToList();

            Assert.Equal(expectedLinks.Count, dataset.LinksCount);
            Assert.Equal(expectedLinks.Count, actualLinks.Count);

            for (int i = 0; i < expectedLinks.Count; i++)
            {
                Assert.Equal(expectedLinks[i].User1Id, actualLinks[i].User1Id);
                Assert.Equal(expectedLinks[i].User2Id, actualLinks[i].User2Id);
            }

            //Users
            var users = await datasetService.GetOrderedUsers(expectedLinks);

            Assert.Equal(users.Count, dataset.UsersCount);


            //Delete dataset
            await datasetService.RemoveDataset(dataset.Id);

            datasets = dbContext.Datasets.Where(d => d.Id == dataset.Id).ToList();
            Assert.Empty(datasets);

            actualLinks = dbContext.Links.Where(l => l.DatasetId == dataset.Id).ToList();
            Assert.Empty(actualLinks);
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <Dataset> > Delete([FromRoute] int id)
        {
            await datasetService.RemoveDataset(id);

            return(StatusCode(204));
        }