public void CanGetColorFromId()
        {
            IMagicColorsRepository repository = new MagicColorsRepository();
            var color = repository.GetById(_colors[0].Id);

            Assert.AreEqual(_colors[0].Name, color.Name);
        }
        public void CanRemoveExistingColor()
        {
            var color = _colors[0];
            IMagicColorsRepository repository = new MagicColorsRepository();
            repository.Remove(color);

            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<MagicColor>(color.Id);
                Assert.IsNull(fromDb);
            }
        }
        public void CanAddColor()
        {
            var color = new MagicColor {Name = "Green", ShortName = "G"};
            IMagicColorsRepository repository = new MagicColorsRepository();
            repository.Add(color);

            // use session to try to load the product);
            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<MagicColor>(color.Id);

                // Test that the color was successfully inserted
                Assert.IsNotNull(fromDb);
                Assert.AreNotSame(color, fromDb);
                Assert.AreEqual(color.Name, fromDb.Name);
                Assert.AreEqual(color.ShortName, fromDb.ShortName);
            }
        }
        public void CanUpdateExistingColor()
        {
            var color = _colors[0];
            color.Name = "Black";

            IMagicColorsRepository repository = new MagicColorsRepository();
            repository.Update(color);

            // use session to try to load the product
            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<MagicColor>(color.Id);
                Assert.AreEqual(color.Name, fromDb.Name);
            }
        }