public void ProductContract() { Assert.Throws <ArgumentNullException>(() => TermBuilder.Product(x, null)); Assert.Throws <ArgumentNullException>(() => TermBuilder.Product(null, x)); Assert.Throws <ArgumentNullException>(() => TermBuilder.Product(x, y, null)); Assert.Throws <ArgumentException>(() => TermBuilder.Product(x, y, Vec(x, null))); Assert.IsType <Product>(TermBuilder.Product(x, y)); }