예제 #1
0
        public async Task TestExtendedProperties()
        {
            const string indexName = "hello-users";

            try {
                var store = new ElasticUserStore <HelloUser>(_connectionString,
                                                             indexName,
                                                             forceRecreate: true);

                await store.CreateAsync(new HelloUser {
                    UserName = "******",
                    Car      = new Tesla {
                        LicensePlate = "ABC123",
                        Model        = TeslaModel.ModelS
                    }
                });

                await store.CreateAsync(new HelloUser {
                    UserName = "******",
                    Car      = new Koenigsegg {
                        LicensePlate = "ABC123",
                        Model        = KoenigseggModel.One
                    }
                });

                var users = await store.GetAllAsync();

                var teslaUser      = users.FirstOrDefault(x => x.UserName == "abc123");
                var koenigseggUser = users.FirstOrDefault(x => x.UserName == "def456");

                Assert.That(teslaUser, Is.Not.Null, "No Telsa user found");
                Assert.That(koenigseggUser, Is.Not.Null, "No Koenigsegg user found");

                Assert.That(teslaUser.Car, Is.AssignableTo <Tesla>(), "Tesla Car is not Tesla");
                Assert.That(koenigseggUser.Car, Is.AssignableTo <Koenigsegg>(), "Koenigsegg Car is not Koenigsegg");
            }
            finally {
                Client.DeleteIndex(i => i.Index(indexName));
            }
        }