public void Should_write_the_attributes()
        {
            var testHelper = new HbmTestHelper<BagMapping>();
            testHelper.Check(x => x.Name, "bag1").MapsToAttribute("name");
            testHelper.Check(x => x.OrderBy, "column1").MapsToAttribute("order-by");
            testHelper.Check(x => x.IsInverse, true).MapsToAttribute("inverse");
            testHelper.Check(x => x.IsLazy, true).MapsToAttribute("lazy");

            var writer = new HbmBagWriter(null, null);
            testHelper.VerifyAll(writer);
        }
        public void Should_write_the_key()
        {
            var bag = new BagMapping { Key = new KeyMapping()};

            var keyWriter = MockRepository.GenerateMock<IXmlWriter<KeyMapping>>();
            keyWriter.Expect(x => x.Write(bag.Key))
                .Return(new HbmKey());

            var writer = new HbmBagWriter(null, keyWriter);

            writer.VerifyXml(bag)
                .Element("key").Exists();
        }
        public void Should_write_the_contents()
        {
            var bag = new BagMapping {Contents = new OneToManyMapping()};

            var contentsWriter = MockRepository.GenerateMock<IXmlWriter<ICollectionContentsMapping>>();
            contentsWriter.Expect(x => x.Write(bag.Contents))
                .Return(new HbmOneToMany());

            var writer = new HbmBagWriter(contentsWriter, null);

            writer.VerifyXml(bag)
                .Element("one-to-many").Exists();
        }
        public void Should_produce_valid_hbm()
        {
            var bag = new BagMapping { Name = "bag1", Contents = new OneToManyMapping(), Key = new KeyMapping() };

            var contentsWriter = MockRepository.GenerateStub<IXmlWriter<ICollectionContentsMapping>>();
            contentsWriter.Expect(x => x.Write(bag.Contents)).Return(new HbmOneToMany { @class = "class1" });

            var keyWriter = MockRepository.GenerateStub<IXmlWriter<KeyMapping>>();
            keyWriter.Expect(x => x.Write(bag.Key)).Return(new HbmKey());

            var writer = new HbmBagWriter(contentsWriter, keyWriter);
            writer.ShouldGenerateValidOutput(bag);
        }
 public void SetUp()
 {
     _mocker = new RhinoAutoMocker<HbmBagWriter>();
     _writer = _mocker.ClassUnderTest;
 }