public async void ShouldGetAccountByID() { var options = new DbContextOptionsBuilder <SecureXContext.SecureXdbContext>() .UseInMemoryDatabase(databaseName: "testXdb000921") .Options; Account Acc2; using (var context = new SecureXContext.SecureXdbContext(options)) { var service = new SecureXRepository(context); await service.AddAccount(Acc1); Acc2 = await service.GetAccountById(Acc1.Id); await service.Save(); } using (var context = new SecureXContext.SecureXdbContext(options)) { Acc2.Should().BeEquivalentTo(Acc1); } }
public void Solve() { int[][] A = new int[N][]; for (int i = 0; i < N; i++) { A[i] = new int[M]; for (int j = 0; j < M; j++) { A[i][j] = (int)(S[i][j] - '0'); } } var blk = new Acc2(); blk.Init(A); int[][] H = new int[N][]; for (int i = 0; i < N; i++) { H[i] = new int[M]; for (int j = 0; j < M - 1; j++) { if (S[i][j] == '1' && S[i][j + 1] == '1') { H[i][j] = 1; } } } var hor = new Acc2(); hor.Init(H); int[][] V = new int[N][]; for (int i = 0; i < N; i++) { V[i] = new int[M]; } for (int i = 0; i < N - 1; i++) { for (int j = 0; j < M; j++) { if (S[i][j] == '1' && S[i + 1][j] == '1') { V[i][j] = 1; } } } var ver = new Acc2(); ver.Init(V); int[] Ans = new int[Q]; for (int i = 0; i < Q; i++) { int x1 = Query[i][0] - 1; int y1 = Query[i][1] - 1; int x2 = Query[i][2] - 1; int y2 = Query[i][3] - 1; int bb = blk.cal(y1, x1, y2 + 1, x2 + 1); if (bb == 0) { Ans[i] = 0; continue; } int hh = hor.cal(y1, x1, y2, x2 + 1); int vv = ver.cal(y1, x1, y2 + 1, x2); //Console.WriteLine("bb{0} hh{1} vv{2}",bb,hh,vv); Ans[i] = bb - hh - vv; } Console.WriteLine(String.Join("\n", Ans)); }