Migrate cpp.rs to googletest-rust

PiperOrigin-RevId: 582335925
pull/14743/head
Hong Shin 1 year ago committed by Copybara-Service
parent 3cb1bf3338
commit 885fd6f007
  1. 3
      rust/BUILD
  2. 21
      rust/cpp.rs

@ -113,6 +113,9 @@ rust_test(
name = "protobuf_cpp_test",
crate = ":protobuf_cpp",
rustc_flags = ["--cfg=cpp_kernel"],
deps = [
"@crate_index//:googletest",
],
)
rust_library(

@ -322,6 +322,7 @@ impl<'msg, T: RepeatedScalarOps> RepeatedField<'msg, T> {
#[cfg(test)]
mod tests {
use super::*;
use googletest::prelude::*;
use std::boxed::Box;
// We need to allocate the byte array so SerializedData can own it and
@ -335,30 +336,30 @@ mod tests {
#[test]
fn test_serialized_data_roundtrip() {
let (ptr, len) = allocate_byte_array(b"Hello world");
let serialized_data = SerializedData { data: NonNull::new(ptr).unwrap(), len: len };
assert_eq!(&*serialized_data, b"Hello world");
let serialized_data = SerializedData { data: NonNull::new(ptr).unwrap(), len };
assert_that!(&*serialized_data, eq(b"Hello world"));
}
#[test]
fn repeated_field() {
let mut r = RepeatedField::<i32>::new();
assert_eq!(r.len(), 0);
assert_that!(r.len(), eq(0));
r.push(32);
assert_eq!(r.get(0), Some(32));
assert_that!(r.get(0), eq(Some(32)));
let mut r = RepeatedField::<u32>::new();
assert_eq!(r.len(), 0);
assert_that!(r.len(), eq(0));
r.push(32);
assert_eq!(r.get(0), Some(32));
assert_that!(r.get(0), eq(Some(32)));
let mut r = RepeatedField::<f64>::new();
assert_eq!(r.len(), 0);
assert_that!(r.len(), eq(0));
r.push(0.1234f64);
assert_eq!(r.get(0), Some(0.1234));
assert_that!(r.get(0), eq(Some(0.1234)));
let mut r = RepeatedField::<bool>::new();
assert_eq!(r.len(), 0);
assert_that!(r.len(), eq(0));
r.push(true);
assert_eq!(r.get(0), Some(true));
assert_that!(r.get(0), eq(Some(true)));
}
}

Loading…
Cancel
Save