public void ensureHasRestrictionReturnsFalseIfRestrictionIsNull()
        {
            Product         p  = new Product("#666", "der alte würfelt nicht", "product666.glb", PREDEFEFINED_CATEGORY, PREDEFINED_MATERIALS, PREDEFINED_MEASUREMENTS);
            ProductMaterial pm = new ProductMaterial(p, PREDEFINED_MATERIAL2);

            Assert.False(pm.hasRestriction(null));
        }
        public void ensureHasRestrictionrReturnsFalseIfRestrictionWasNotAdded()
        {
            Product         p    = new Product("#666", "der alte würfelt nicht", "product666.glb", PREDEFEFINED_CATEGORY, PREDEFINED_MATERIALS, PREDEFINED_MEASUREMENTS);
            ProductMaterial pm   = new ProductMaterial(p, PREDEFINED_MATERIAL2);
            Restriction     rest = new Restriction("restriction", new SameMaterialAndFinishAlgorithm());

            Assert.False(pm.hasRestriction(rest));
        }
        public void ensureAddRestrictionSucceeds()
        {
            Product         p    = new Product("#666", "der alte würfelt nicht", "product666.glb", PREDEFEFINED_CATEGORY, PREDEFINED_MATERIALS, PREDEFINED_MEASUREMENTS);
            ProductMaterial pm   = new ProductMaterial(p, PREDEFINED_MATERIAL2);
            Restriction     rest = new Restriction("restriction", new SameMaterialAndFinishAlgorithm());

            Action addValidRestrictionAction = () => pm.addRestriction(rest);

            Exception exception = Record.Exception(addValidRestrictionAction);

            Assert.Null(exception);
            Assert.True(pm.hasRestriction(rest));
        }