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);
            }
        }
Esempio n. 2
0
    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));
    }