/* Copyright (C) 2007 - 2008 db4objects Inc. http://www.db4o.com */ using System; using System.Collections.Generic; using System.Linq; using Db4objects.Db4o; using Db4objects.Db4o.Linq; using Db4oUnit; using Db4oUnit.Extensions; namespace Db4objects.Db4o.Linq.Tests { public class EnumIssueTestCase : AbstractDb4oTestCase { public enum Kind { Other = 0, Plane = 1, Car = 2, } public class Thing { public Kind Kind; public override bool Equals(object obj) { Thing t = obj as Thing; if (t == null) return false; return t.Kind == this.Kind; } public override int GetHashCode() { return this.Kind.GetHashCode(); } } protected override void Store() { Store(new Thing { Kind = Kind.Plane }); Store(new Thing { Kind = Kind.Car }); Store(new Thing { Kind = Kind.Plane }); Store(new Thing { Kind = Kind.Other }); } public void TestEqualsConstant() { var q = NewQuery(); q.Constrain(typeof(Thing)); q.Descend("Kind").Constrain(1); var set = q.Execute(); Assert.AreEqual(2, set.Count); } } }