public async void AddPatternAsyncShouldAddPattern()
        {
            using (var context = new ProjectDBContext(options))
            {
                IProjectRepoDB _repo       = new ProjectRepoDB(context);
                Pattern        testPattern = new Pattern();
                testPattern.PatternData = "123";
                var newPattern = await _repo.AddPatternAsync(testPattern);

                Assert.Equal("123", newPattern.PatternData);
            }
        }
        public async Task AddPatternAsync_ShouldReturnNewPattern()
        {
            //arrange
            Pattern pattern = new Pattern
            {
                Id          = 99,
                PatternData = "PatternData",
            };
            ProjectDBContext projectDBContext = new ProjectDBContext(options);
            ProjectRepoDB    projectRepoDB    = new ProjectRepoDB(projectDBContext);

            //act
            var result = await projectRepoDB.AddPatternAsync(pattern);

            //assert
            Assert.Equal(pattern.PatternData, result.PatternData);
        }
        public async void DeletePatternAsyncShouldDeletePattern()
        {
            using (var context = new ProjectDBContext(options))
            {
                IProjectRepoDB _repo       = new ProjectRepoDB(context);
                Pattern        testPattern = new Pattern();
                testPattern.Id          = 4;
                testPattern.PatternData = "123";
                var newPattern = await _repo.AddPatternAsync(testPattern);

                var deletedPattern = await _repo.DeletePatternAsync(testPattern);

                using (var assertContext = new ProjectDBContext(options))
                {
                    var result = await _repo.GetPatternByIDAsync(4);

                    Assert.Null(result);
                }
            }
        }
        public async void UpdatePatternAsyncShouldUpdatePattern()
        {
            using (var context = new ProjectDBContext(options))
            {
                IProjectRepoDB _repo       = new ProjectRepoDB(context);
                Pattern        testPattern = new Pattern();
                testPattern.Id          = 4;
                testPattern.PatternData = "123";
                ICollection <Track> patternTrack = new List <Track>();
                Track testTrack = new Track();
                testTrack.Id        = 4;
                testTrack.ProjectId = 2;
                testTrack.SampleId  = 1;
                testTrack.PatternId = 2;
                patternTrack.Add(testTrack);
                var newPattern = await _repo.AddPatternAsync(testPattern);

                Assert.Equal("123", newPattern.PatternData);
                testPattern.PatternData = "456";
                var updatedPattern = await _repo.UpdatePatternAsync(testPattern);

                Assert.Equal("456", updatedPattern.PatternData);
            }
        }