summaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/test/java/com/yahoo
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-07-14 14:59:06 +0200
committerMartin Polden <mpolden@mpolden.no>2022-08-08 10:28:25 +0200
commitc9a053ace572404ac81aee46198d2283a013fdb4 (patch)
treeb2e38c384161eb3d4b133bf7ca195adfbd714bb3 /config-provisioning/src/test/java/com/yahoo
parente0744af00929a345a481a2f8a2e086b61bd53f55 (diff)
Support partial infrastructure upgrades
Diffstat (limited to 'config-provisioning/src/test/java/com/yahoo')
-rw-r--r--config-provisioning/src/test/java/com/yahoo/config/provision/zone/NodeSliceTest.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/zone/NodeSliceTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/zone/NodeSliceTest.java
new file mode 100644
index 00000000000..b13eba5fa32
--- /dev/null
+++ b/config-provisioning/src/test/java/com/yahoo/config/provision/zone/NodeSliceTest.java
@@ -0,0 +1,32 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.config.provision.zone;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+/**
+ * @author mpolden
+ */
+public class NodeSliceTest {
+
+ @Test
+ void node_slice() {
+ NodeSlice fraction = NodeSlice.fraction(0.6);
+ assertFalse(fraction.satisfiedBy(0, 4));
+ assertFalse(fraction.satisfiedBy(1, 4));
+ assertFalse(fraction.satisfiedBy(2, 4));
+ assertTrue(fraction.satisfiedBy(3, 4));
+ assertTrue(fraction.satisfiedBy(4, 4));
+ assertTrue(fraction.satisfiedBy(5, 4));
+
+ NodeSlice fixed = NodeSlice.minCount(5);
+ assertFalse(fixed.satisfiedBy(0, 5));
+ assertFalse(fixed.satisfiedBy(4, 5));
+ assertTrue(fixed.satisfiedBy(3, 3));
+ assertTrue(fixed.satisfiedBy(5, 5));
+ assertTrue(fixed.satisfiedBy(6, 5));
+ }
+
+}