1#![cfg_attr(not(feature = "std"), no_std)]23use ink_lang as ink;45#[ink::contract]6mod loadtester {7 use ink_storage::collections::Vec as InkVec;89 #[ink(storage)]10 pub struct LoadTester {11 vector: InkVec<u64>,12 }1314 impl LoadTester {15 #[ink(constructor)]16 pub fn new() -> Self {17 Self {18 vector: InkVec::new(),19 }20 }2122 #[ink(message)]23 pub fn bloat(&mut self, count: u64){24 for i in 1..count+1 {25 self.vector.push(i);26 }27 }2829 #[ink(message)]30 pub fn get(&self) -> u128 {31 let mut sum: u128 = 0;32 for num in self.vector.iter() {33 sum += *num as u128;34 }35 sum36 }37 }3839 #[cfg(test)]40 mod tests {41 42 use super::*;4344 #[test]45 fn it_works() {46 let mut lt = LoadTester::new();47 lt.bloat(4);48 assert_eq!(lt.get(), [1,2,3,4]);49 lt.bloat(3);50 assert_eq!(lt.get(), [1,2,3,4,1,2,3]);51 }52 }53}