initial commit - has sort tests

This commit is contained in:
askiiart 2024-12-17 23:01:46 -06:00
commit 674412b43b
Signed by untrusted user who does not match committer: askiiart
GPG key ID: EA85979611654C30
5 changed files with 93 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/target

16
Cargo.lock generated Normal file
View file

@ -0,0 +1,16 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "alphanumeric-sort"
version = "1.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d67c60c5f10f11c6ee04de72b2dd98bb9d2548cbc314d22a609bfa8bd9e87e8f"
[[package]]
name = "gregory"
version = "0.1.0"
dependencies = [
"alphanumeric-sort",
]

7
Cargo.toml Normal file
View file

@ -0,0 +1,7 @@
[package]
name = "gregory"
version = "0.1.0"
edition = "2021"
[dependencies]
alphanumeric-sort = "1.5.3"

1
src/README.md Normal file
View file

@ -0,0 +1 @@
# Gregory

68
src/main.rs Normal file
View file

@ -0,0 +1,68 @@
use alphanumeric_sort::sort_str_slice;
fn main() {}
#[test]
/// This isn't to test the program, more to test the crate works how I want, especially if I switch crates
fn test_semver_sorting() {
// copied from https://pkgs.org/download/xorg-x11-xauth
let mut versions = [
"xorg-x11-xauth-1.1.3",
"xorg-x11-xauth-1.1.2",
"xorg-x11-xauth-1.0.9",
"xorg-x11-xauth-1.0.10",
"xorg-x11-xauth-1.1",
];
sort_str_slice(&mut versions);
assert_eq!(
versions,
[
"xorg-x11-xauth-1.0.9",
"xorg-x11-xauth-1.0.10",
"xorg-x11-xauth-1.1",
"xorg-x11-xauth-1.1.2",
"xorg-x11-xauth-1.1.3"
]
);
}
#[test]
fn test_date_versioning() {
// copied from https://pkgs.org/download/vpnc-script
let mut versions = [
"vpnc-script-20230907",
"vpnc-script-20230103",
"vpnc-script-20220404",
];
sort_str_slice(&mut versions);
assert_eq!(
versions,
[
"vpnc-script-20220404",
"vpnc-script-20230103",
"vpnc-script-20230907"
]
);
}
#[test]
fn test_git_versioning() {
// copied from aurpublish versions - https://gitlab.archlinux.org/archlinux/packaging/packages/avahi/-/commits/main
let mut versions = [
"1:0.8+r194+g3f79789-3",
"1:0.8+r194+g3f79789-2",
"0.7+4+gd8d8c67-1",
"0.8+r189+g35bb1ba-1",
"0.8+r127+g55d783d-1",
];
sort_str_slice(&mut versions);
assert_eq!(
versions,
[
"0.7+4+gd8d8c67-1",
"0.8+r127+g55d783d-1",
"0.8+r189+g35bb1ba-1",
"1:0.8+r194+g3f79789-2",
"1:0.8+r194+g3f79789-3"
]
);
}