Skip to main content

ICGenerator

Struct ICGenerator 

Source
pub struct ICGenerator { /* private fields */ }
Expand description

Generator for intercompany transactions.

Implementations§

Source§

impl ICGenerator

Source

pub fn new( config: ICGeneratorConfig, ownership_structure: OwnershipStructure, seed: u64, ) -> Self

Create a new IC generator.

Source

pub fn add_transfer_pricing_policy( &mut self, relationship_id: String, policy: TransferPricingPolicy, )

Add a transfer pricing policy.

Source

pub fn generate_ic_transaction( &mut self, date: NaiveDate, _fiscal_period: &str, ) -> Option<ICMatchedPair>

Generate a single IC matched pair.

Source

pub fn generate_journal_entries( &mut self, pair: &ICMatchedPair, fiscal_year: i32, fiscal_period: u32, ) -> (JournalEntry, JournalEntry)

Generate IC journal entries from a matched pair.

Source

pub fn generate_ic_loan( &mut self, lender: String, borrower: String, start_date: NaiveDate, term_months: u32, ) -> ICLoan

Generate an IC loan.

Source

pub fn generate_loan_interest_entries( &mut self, as_of_date: NaiveDate, fiscal_year: i32, fiscal_period: u32, ) -> Vec<(JournalEntry, JournalEntry)>

Generate interest entries for active loans.

Source

pub fn get_matched_pairs(&self) -> &[ICMatchedPair]

Get all generated matched pairs.

Source

pub fn get_open_pairs(&self) -> Vec<&ICMatchedPair>

Get open (unsettled) matched pairs.

Source

pub fn get_active_loans(&self) -> &[ICLoan]

Get active loans.

Source

pub fn generate_transactions_for_period( &mut self, start_date: NaiveDate, end_date: NaiveDate, transactions_per_day: usize, ) -> Vec<ICMatchedPair>

Generate multiple IC transactions for a date range.

Source

pub fn reset_counters(&mut self)

Reset counters (for testing).

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V