nixos-config/tests/lib/trivial.nix

134 lines
2.8 KiB
Nix
Raw Normal View History

{ pkgs, lib, self }:
lib.runTests {
testToFloat = {
expr = self.trivial.toFloat 4;
expected = 4.0;
};
testToFloat2 = {
expr = self.trivial.toFloat 5.5;
expected = 5.5;
};
testCountAttrs = {
expr = self.trivial.countAttrs (n: v: v?enable && v.enable) {
hello.enable = true;
what.enable = false;
atro.enable = true;
adelie = { };
world = "there";
mo = null;
};
expected = 2;
};
testFilterAttrs' = {
expr = self.trivial.filterAttrs' (n: v: v == 4) {
e = 5;
f = 7;
a = 4;
};
expected = {
ok = { a = 4; };
notOk = { e = 5; f = 7; };
};
};
testSIPrefixExponent = {
expr = self.trivial.SIPrefixExponent "M";
expected = 6;
};
testSIPrefixExponent2 = {
expr = self.trivial.SIPrefixExponent "G";
expected = 9;
};
testMetricPrefixMultiplier = {
expr = self.trivial.metricPrefixMultiplier "M";
expected = 1000000;
};
testMetricPrefixMultiplier2 = {
expr = self.trivial.metricPrefixMultiplier "G";
expected = 1000000000;
};
testBinaryPrefixMultiplier = {
expr = self.trivial.binaryPrefixMultiplier "M";
expected = 1048576;
};
testBinaryPrefixExponent = {
expr = self.trivial.binaryPrefixExponent "M";
expected = 20;
};
testBinaryPrefixExponent2 = {
expr = self.trivial.binaryPrefixExponent "G";
expected = 30;
};
testBinaryPrefixMultiplier2 = {
expr = self.trivial.binaryPrefixMultiplier "K";
expected = 1024;
};
testBinaryPrefixMultiplier3 = {
expr = self.trivial.binaryPrefixMultiplier "G";
expected = 1073741824;
};
testParseBytesSizeIntoInt = {
expr = self.trivial.parseBytesSizeIntoInt "3GB";
expected = 3 * (self.trivial.metricPrefixMultiplier "G");
};
testParseBytesSizeIntoInt2 = {
expr = self.trivial.parseBytesSizeIntoInt "5MiB";
expected = 5 * (self.trivial.binaryPrefixMultiplier "M");
};
testParseBytesSizeIntoInt3 = {
expr = self.trivial.parseBytesSizeIntoInt "5MB";
expected = 5 * (self.trivial.metricPrefixMultiplier "M");
};
testParseBytesSizeIntoInt4 = {
expr = self.trivial.parseBytesSizeIntoInt "2 TiB";
expected = 2 * (self.trivial.binaryPrefixMultiplier "T");
};
testParseBytesSizeIntoInt5 = {
expr = self.trivial.parseBytesSizeIntoInt "2 Tib";
expected = 2 * (self.trivial.binaryPrefixMultiplier "T") / 8;
};
testUnitsToInt = {
expr = self.trivial.unitsToInt {
size = 4.5;
prefix = "G";
type = "metric";
};
expected = 4500000000;
};
testUnitsToInt2 = {
expr = self.trivial.unitsToInt {
size = 4.5;
prefix = "G";
};
expected = 4831838208;
};
testUnitsToInt3 = {
expr = self.trivial.unitsToInt {
size = 532;
prefix = "M";
type = "metric";
};
expected = 532000000;
};
}