summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/openslx/libvirt/domain/device/HostdevPciDeviceAddressTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/openslx/libvirt/domain/device/HostdevPciDeviceAddressTest.java')
-rw-r--r--src/test/java/org/openslx/libvirt/domain/device/HostdevPciDeviceAddressTest.java79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/test/java/org/openslx/libvirt/domain/device/HostdevPciDeviceAddressTest.java b/src/test/java/org/openslx/libvirt/domain/device/HostdevPciDeviceAddressTest.java
new file mode 100644
index 0000000..377e126
--- /dev/null
+++ b/src/test/java/org/openslx/libvirt/domain/device/HostdevPciDeviceAddressTest.java
@@ -0,0 +1,79 @@
+package org.openslx.libvirt.domain.device;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Test;
+
+public class HostdevPciDeviceAddressTest
+{
+ @Test
+ @DisplayName( "Test that a PCI device address instance is not created if invalid values are specified" )
+ public void testHostdevPciDeviceAddressInstanceInvalid()
+ {
+ assertThrows( IllegalArgumentException.class,
+ () -> new HostdevPciDeviceAddress( Integer.MIN_VALUE, 0x03, 0x0a, 0x7 ) );
+ assertThrows( IllegalArgumentException.class,
+ () -> new HostdevPciDeviceAddress( 0x72ab, 0x0c, 0x1a, Integer.MAX_VALUE ) );
+ }
+
+ @Test
+ @DisplayName( "Test that a PCI device address instance is parsed from a valid String" )
+ public void testHostdevPciDeviceAddressValueOfValid()
+ {
+ final HostdevPciDeviceAddress pciDeviceAddr = HostdevPciDeviceAddress.valueOf( "002b:2a:1f.1" );
+
+ assertNotNull( pciDeviceAddr );
+ assertEquals( 0x002b, pciDeviceAddr.getPciDomain() );
+ assertEquals( "002b", pciDeviceAddr.getPciDomainAsString() );
+ assertEquals( 0x2a, pciDeviceAddr.getPciBus() );
+ assertEquals( "2a", pciDeviceAddr.getPciBusAsString() );
+ assertEquals( 0x1f, pciDeviceAddr.getPciDevice() );
+ assertEquals( "1f", pciDeviceAddr.getPciDeviceAsString() );
+ assertEquals( 0x1, pciDeviceAddr.getPciFunction() );
+ assertEquals( "1", pciDeviceAddr.getPciFunctionAsString() );
+ }
+
+ @Test
+ @DisplayName( "Test that no PCI device address instance is parsed from an invalid String" )
+ public void testHostdevPciDeviceAddressValueOfInvalid()
+ {
+ final HostdevPciDeviceAddress pciDeviceAddr = HostdevPciDeviceAddress.valueOf( "0000b2ac1f31" );
+
+ assertNull( pciDeviceAddr );
+ }
+
+ @Test
+ @DisplayName( "Test that two PCI device address instances are equal" )
+ public void testHostdevPciDeviceAddressEquals()
+ {
+ final HostdevPciDeviceAddress pciDeviceAddr1 = new HostdevPciDeviceAddress( 0x0000, 0x2a, 0x1f, 0x1 );
+ final HostdevPciDeviceAddress pciDeviceAddr2 = new HostdevPciDeviceAddress( 0x0000, 0x2a, 0x1f, 0x1 );
+
+ assertTrue( pciDeviceAddr1.equals( pciDeviceAddr2 ) );
+ }
+
+ @Test
+ @DisplayName( "Test that two PCI device address instances are not equal" )
+ public void testHostdevPciDeviceAddressNotEquals()
+ {
+ final HostdevPciDeviceAddress pciDeviceAddr1 = new HostdevPciDeviceAddress( 0x0000, 0x2a, 0x1f, 0x1 );
+ final HostdevPciDeviceAddress pciDeviceAddr2 = new HostdevPciDeviceAddress( 0x0000, 0x2a, 0x1f, 0x2 );
+
+ assertFalse( pciDeviceAddr1.equals( pciDeviceAddr2 ) );
+ }
+
+ @Test
+ @DisplayName( "Test that a PCI device address can be dumped to a String" )
+ public void testHostdevPciDeviceAddressToString()
+ {
+ final HostdevPciDeviceAddress pciDeviceAddr = new HostdevPciDeviceAddress( 0x0000, 0x2a, 0x1f, 0x1 );
+
+ assertEquals( "0000:2a:1f.1", pciDeviceAddr.toString() );
+ }
+}