summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/automock.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/examples/automock.rs b/examples/automock.rs
new file mode 100644
index 0000000..c8725ce
--- /dev/null
+++ b/examples/automock.rs
@@ -0,0 +1,31 @@
+use cool_trais::Foo;
+use ridicule::predicate::{always, eq};
+
+use crate::cool_trais::MockFoo;
+
+mod cool_trais
+{
+ use ridicule::automock;
+
+ #[automock]
+ pub trait Foo
+ {
+ fn bar<Something>(&self, num: u128, text: &str) -> Something;
+ }
+}
+
+fn main()
+{
+ let mut mock_foo = MockFoo::new();
+
+ mock_foo
+ .expect_bar()
+ .with(eq(1234), always())
+ .returning(|_, num, text| {
+ println!("bar was called with {num} and '{text}'");
+
+ 9.36f32
+ });
+
+ mock_foo.bar::<f32>(1234, "Hello");
+}