コード例 #1
0
        public async Task TestCreate()
        {
            Character newCharacter = new Character()
            {
                Name     = "Leia Organa",
                Episodes = new string[]
                {
                    "NEWHOPE",
                    "EMPIRE",
                    "JEDI"
                },
                Planet  = "Alderaan",
                Friends = new string[]
                {
                    "Luke Skywalker",
                    "Han Solo",
                    "C-3PO",
                    "R2-D2"
                }
            };

            using (StarWarsContext context = await CreateContext("TestCreate"))
            {
                Repository <Character> repository = new Repository <Character>(context);

                Character result = await repository.Create(newCharacter);

                Assert.AreEqual(3, context.Set <Character>().Count());
                Assert.IsTrue(newCharacter.IsDataEqual(result));
            }
        }
コード例 #2
0
        private async Task <StarWarsContext> CreateContext(string databaseName)
        {
            DbContextOptions <StarWarsContext> options = new DbContextOptionsBuilder <StarWarsContext>().UseInMemoryDatabase(databaseName).Options;

            StarWarsContext context = new StarWarsContext(options);

            context.Set <Character>().AddRange(TestData.GetCharacters());
            await context.SaveChangesAsync();

            return(context);
        }
コード例 #3
0
        public async Task TestDelete()
        {
            using (StarWarsContext context = await CreateContext("TestDelete"))
            {
                Repository <Character> repository = new Repository <Character>(context);

                Character result = await repository.Delete(2);

                Assert.AreEqual(1, context.Set <Character>().Count());
                Assert.IsTrue(TestData.GetCharacters()[1].IsDataEqual(result));
            }
        }
コード例 #4
0
ファイル: Repository.cs プロジェクト: MichalDutka/StarWars
        public async Task <T> Create(T entity)
        {
            T item = (await dbContext.Set <T>().AddAsync(entity)).Entity;

            await dbContext.SaveChangesAsync();

            return(item);
        }
コード例 #5
0
        public async Task TestUpdate()
        {
            using (StarWarsContext context = await CreateContext("TestUpdate"))
            {
                Character updatedCharacter = context.Set <Character>().Find(1);
                updatedCharacter.Name = "Lucas Skywalker";

                Repository <Character> repository = new Repository <Character>(context);

                Character result = await repository.Update(updatedCharacter);

                Assert.IsTrue(updatedCharacter.IsDataEqual(result));
            }
        }
コード例 #6
0
 public CharacterRepository(StarWarsContext context)
 {
     this.context = context;
     entities     = context.Set <Character>();
 }
コード例 #7
0
ファイル: Repository.cs プロジェクト: eldharon/Star-Wars
 //zwraca całą kolekcję w postaci listy
 public async Task <ICollection <T> > GetAllAsync()
 {
     return(await _db.Set <T>().ToListAsync());
 }
コード例 #8
0
ファイル: Repository.cs プロジェクト: Zdanc123/ApiStarWars
 public Repository(StarWarsContext context)
 {
     this.context = context;
     entities     = context.Set <T>();
 }