Coverage for tests/tests_advertrain/test_dependencies/test_autoattack.py: 94%
16 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-09-10 08:11 +0000
« prev ^ index » next coverage.py v7.9.2, created at 2025-09-10 08:11 +0000
1import pytest
2import torch
4from robustML.advertrain.dependencies.autoattack import (APGDAttack, L0_norm,
5 L1_norm,
6 L1_projection,
7 L2_norm)
9torch.manual_seed(0)
12@pytest.fixture
13def sample_tensor():
14 return torch.tensor([[1.0, -2.0, 3.0], [-1.0, 2.0, -3.0]])
17def test_L1_norm(sample_tensor):
18 assert L1_norm(sample_tensor).equal(torch.tensor([6.0, 6.0]))
21def test_L2_norm(sample_tensor):
22 assert L2_norm(sample_tensor).equal(L2_norm(sample_tensor))
25def test_L0_norm(sample_tensor):
26 assert L0_norm(sample_tensor).equal(torch.tensor([3, 3]))
29class MockModel(torch.nn.Module):
30 def forward(self, x):
31 return torch.randn(x.shape[0], 10)