use crate::analysis::analyzer::analyzer::Analyzer;
use crate::analysis::token::TokenStream;
use crate::error::Result;
#[derive(Clone, Debug, Default)]
pub struct NoOpAnalyzer;
impl NoOpAnalyzer {
pub fn new() -> Self {
NoOpAnalyzer
}
}
impl Analyzer for NoOpAnalyzer {
fn analyze(&self, _text: &str) -> Result<TokenStream> {
Ok(Box::new(std::iter::empty()))
}
fn name(&self) -> &'static str {
"noop"
}
fn as_any(&self) -> &dyn std::any::Any {
self
}
}
#[cfg(test)]
mod tests {
use super::*;
use crate::analysis::token::Token;
#[test]
fn test_noop_analyzer() {
let analyzer = NoOpAnalyzer::new();
let tokens: Vec<Token> = analyzer.analyze("Hello World").unwrap().collect();
assert_eq!(tokens.len(), 0);
}
}