Application Context Implementation #4
|
@ -135,7 +135,7 @@ pub fn Spliterator(comptime Element: type) type {
|
|||
};
|
||||
}
|
||||
|
||||
test {
|
||||
test "Spliteration" {
|
||||
const testing = std.testing;
|
||||
|
||||
// Single-character delimiter.
|
||||
|
@ -286,20 +286,6 @@ pub const Writer = struct {
|
|||
}
|
||||
};
|
||||
|
||||
///
|
||||
/// Searches the slice of `Data` referenced by `data` for the first instance of `sought_datum`,
|
||||
/// returning its index or `null` if it could not be found.
|
||||
///
|
||||
pub fn findFirst(comptime Data: type, data: []const Data, sought_datum: Data) ?usize {
|
||||
for (data) |datum, index| if (datum == sought_datum) return index;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
test {
|
||||
try std.testing.expectEqual(findFirst(u8, "1234567890", '7'), 6);
|
||||
}
|
||||
|
||||
///
|
||||
/// Writer that silently throws consumed data away and never fails.
|
||||
///
|
||||
|
@ -316,7 +302,7 @@ pub const null_writer = Writer{
|
|||
}.write,
|
||||
};
|
||||
|
||||
test {
|
||||
test "Null writing" {
|
||||
const testing = std.testing;
|
||||
|
||||
{
|
||||
|
|
|
@ -91,7 +91,7 @@ pub fn Fixed(comptime Element: type) type {
|
|||
///
|
||||
pub const PushError = std.mem.Allocator.Error;
|
||||
|
||||
test {
|
||||
test "Fixed stack manipulation" {
|
||||
const testing = std.testing;
|
||||
var buffer = std.mem.zeroes([4]u8);
|
||||
var stack = Fixed(u8){.buffer = &buffer};
|
||||
|
|
|
@ -198,3 +198,17 @@ pub const string_context = KeyContext([]const u8){
|
|||
.hash = hashString,
|
||||
.equals = equalsString,
|
||||
};
|
||||
|
||||
test "Hashed table manipulation with string context" {
|
||||
const testing = std.testing;
|
||||
var table = try Hashed([]const u8, u32, string_context).init(testing.allocator);
|
||||
|
||||
defer table.deinit();
|
||||
|
||||
const foo = @as(u32, 69);
|
||||
|
||||
testing.expectEqual(table.remove("foo"), null);
|
||||
try table.insert("foo", foo);
|
||||
testing.expectEqual(table.remove("foo"), foo);
|
||||
testing.expectEqual(table.remove("foo"), null);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue